@cassiomc1/forgeloop 1.12.0 → 1.14.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 (249) hide show
  1. package/.github/copilot-instructions.md +1 -1
  2. package/AGENTS.md +1 -1
  3. package/AGENT_COMPATIBILITY.md +8 -0
  4. package/CLAUDE.md +1 -1
  5. package/CONTRIBUTING.md +90 -0
  6. package/DOCS_INDEX.md +46 -12
  7. package/ENG/c-development-eng.md +112 -0
  8. package/ENG/cpp-development-eng.md +109 -0
  9. package/ENG/dotnet-aspnetcore-development-eng.md +401 -0
  10. package/ENG/go-development-eng.md +103 -0
  11. package/ENG/java-development-eng.md +125 -0
  12. package/ENG/nodejs-backend-development-eng.md +605 -0
  13. package/ENG/php-development-eng.md +104 -0
  14. package/ENG/rust-development-eng.md +422 -0
  15. package/ENG/sec-code-eng.md +7 -7
  16. package/ENG/sql-development-eng.md +108 -0
  17. package/ENG/swift-development-eng.md +111 -0
  18. package/ENG/typescript-development-eng.md +108 -0
  19. package/EXECUTION_STATE.md +12 -0
  20. package/GUIDE_ROUTER.md +418 -9
  21. package/LOOP_ENGINEERING.md +28 -2
  22. package/ORCHESTRATOR_INTEGRATION.md +9 -5
  23. package/PROTOCOL_INTEGRATION.md +55 -2
  24. package/QUALITY_SCORECARD.md +1 -0
  25. package/README.md +78 -52
  26. package/TERMINOLOGY.md +2 -0
  27. package/THIRD_PARTY_NOTICES.md +19 -7
  28. package/THREAT_MODEL.md +140 -1
  29. package/completions/_forgeloop +22 -4
  30. package/completions/forgeloop.bash +40 -4
  31. package/completions/forgeloop.fish +130 -1
  32. package/docs/ADVISORY_CONTEXT.md +25 -0
  33. package/docs/AGENT_BROWSER_ADAPTER.md +81 -0
  34. package/docs/AGENT_BROWSER_VERIFICATION.md +6 -0
  35. package/docs/AGENT_PROTOCOL_SUMMARY.md +81 -3
  36. package/docs/AGENT_SKILL.md +66 -0
  37. package/docs/ARTIFACT_REFERENCE.md +123 -0
  38. package/docs/AUDIT_UX.md +46 -0
  39. package/docs/BROWSER_VERIFICATION.md +136 -0
  40. package/docs/CLI_REFERENCE.md +392 -10
  41. package/docs/CODE_ATTESTATION.md +2 -2
  42. package/docs/DOCUMENTATION_GUIDE.md +34 -12
  43. package/docs/GETTING_STARTED.md +59 -0
  44. package/docs/JEV_BENCHMARKS.md +31 -0
  45. package/docs/MODEL_ROUTING.md +37 -0
  46. package/docs/OPENSRC_ADAPTER.md +241 -0
  47. package/docs/PACKAGE_CONTENTS.md +60 -19
  48. package/docs/PROVIDERS.md +126 -0
  49. package/docs/PROVIDER_ARCHITECTURE.md +199 -0
  50. package/docs/RECIPES.md +32 -0
  51. package/docs/RELEASE_CHECKLIST.md +66 -5
  52. package/docs/SECURITY_REVIEW.md +71 -0
  53. package/docs/SEMANTIC_DECISION_PLANE.md +71 -0
  54. package/docs/TEST_INTELLIGENCE.md +29 -0
  55. package/docs/TEST_PRUNING.md +14 -0
  56. package/docs/TROUBLESHOOTING.md +298 -3
  57. package/docs/UNIVERSAL_INTEGRATION.md +31 -0
  58. package/docs/assets/diagrams/forgeloop-code-attestation-flow.html +2 -2
  59. package/docs/assets/diagrams/forgeloop-code-attestation-flow.receipt.json +5 -5
  60. package/docs/assets/diagrams/forgeloop-code-attestation-flow.svg +1 -1
  61. package/docs/assets/diagrams/forgeloop-engineering-flow.html +39 -26
  62. package/docs/assets/diagrams/forgeloop-engineering-flow.receipt.json +6 -6
  63. package/docs/assets/diagrams/forgeloop-engineering-flow.svg +26 -26
  64. package/docs/assets/diagrams/forgeloop-verification-trust-flow.html +2 -1
  65. package/docs/assets/diagrams/forgeloop-verification-trust-flow.receipt.json +5 -5
  66. package/docs/assets/diagrams/forgeloop-verification-trust-flow.svg +1 -1
  67. package/docs/diagrams/README.md +13 -9
  68. package/docs/diagrams/forgeloop-code-attestation-flow.workflow.json +1 -1
  69. package/docs/diagrams/forgeloop-engineering-flow.workflow.json +24 -19
  70. package/docs/diagrams/forgeloop-verification-trust-flow.workflow.json +1 -0
  71. package/docs/diagrams/reviews/forgeloop-code-attestation-flow.review.json +4 -4
  72. package/docs/diagrams/reviews/forgeloop-engineering-flow.review.json +4 -4
  73. package/docs/diagrams/reviews/forgeloop-verification-trust-flow.review.json +4 -4
  74. package/docs/documentation-manifest.json +1397 -0
  75. package/docs/protocol-requirements.json +101 -0
  76. package/package.json +46 -4
  77. package/schemas/config.schema.json +14 -0
  78. package/schemas/context-plan.schema.json +18 -0
  79. package/schemas/routing-input.schema.json +1 -1
  80. package/schemas/semantic-decision.schema.json +46 -0
  81. package/schemas/test-utility.schema.json +44 -0
  82. package/scripts/CI_VALIDATORS.md +84 -11
  83. package/scripts/benchmark-jev.mjs +5 -0
  84. package/scripts/benchmark-test-intelligence.mjs +4 -0
  85. package/scripts/generate-agent-protocol-summary.mjs +40 -1
  86. package/scripts/generate-forgeloop-skill.mjs +133 -0
  87. package/scripts/jev-smoke.mjs +19 -0
  88. package/skills/forgeloop/README.md +9 -0
  89. package/skills/forgeloop/SKILL.md +77 -0
  90. package/skills/forgeloop/references/lifecycle.md +9 -0
  91. package/skills/forgeloop/references/recovery.md +7 -0
  92. package/skills/forgeloop/references/verification.md +7 -0
  93. package/src/adapters/agent-browser/assertions.js +47 -0
  94. package/src/adapters/agent-browser/commands.js +54 -0
  95. package/src/adapters/agent-browser/index.js +3 -0
  96. package/src/adapters/agent-browser/locator.js +40 -0
  97. package/src/adapters/agent-browser/process.js +215 -0
  98. package/src/adapters/agent-browser/provider.js +313 -0
  99. package/src/adapters/emulated-services/constants.js +24 -0
  100. package/src/adapters/emulated-services/index.js +7 -0
  101. package/src/adapters/emulated-services/process.js +162 -0
  102. package/src/adapters/emulated-services/provider.js +282 -0
  103. package/src/adapters/opensrc/normalize.js +90 -0
  104. package/src/adapters/opensrc/process.js +248 -0
  105. package/src/adapters/opensrc/provider.js +338 -0
  106. package/src/adapters/opensrc/search.js +264 -0
  107. package/src/adapters/typesafe/client.js +28 -0
  108. package/src/adapters/typesafe/engine.js +63 -0
  109. package/src/adapters/typesafe/normalize.js +41 -0
  110. package/src/cli.js +108 -0
  111. package/src/commands/checkpoint-revalidate.js +176 -0
  112. package/src/commands/context-plan.js +38 -0
  113. package/src/commands/contract-create.js +264 -0
  114. package/src/commands/contract-revise.js +236 -0
  115. package/src/commands/decision-show.js +14 -0
  116. package/src/commands/decision-status.js +22 -0
  117. package/src/commands/discover.js +41 -0
  118. package/src/commands/doctor.js +15 -0
  119. package/src/commands/gate-record.js +205 -0
  120. package/src/commands/gate-revalidate.js +137 -0
  121. package/src/commands/model-route.js +32 -0
  122. package/src/commands/next.js +19 -7
  123. package/src/commands/route.js +146 -18
  124. package/src/commands/semantic-plan.js +17 -0
  125. package/src/commands/task-abandon.js +224 -0
  126. package/src/commands/task-create.js +84 -25
  127. package/src/commands/task-list.js +22 -2
  128. package/src/commands/task-migrate-contract-bootstrap-repair.js +288 -0
  129. package/src/commands/task-repair-contract-bootstrap.js +263 -0
  130. package/src/commands/test-inventory.js +5 -0
  131. package/src/commands/test-prune-plan.js +5 -0
  132. package/src/commands/test-prune-probe.js +5 -0
  133. package/src/commands/test-utility.js +5 -0
  134. package/src/commands/validate-protocol.js +10 -1
  135. package/src/config/guides.json +44 -0
  136. package/src/core/artifact-registry.js +24 -0
  137. package/src/core/audit-ux.js +514 -0
  138. package/src/core/browser-verification/constants.js +149 -0
  139. package/src/core/browser-verification/normalize.js +254 -0
  140. package/src/core/browser-verification/provider.js +519 -0
  141. package/src/core/browser-verification/service.js +115 -0
  142. package/src/core/build-script.js +151 -0
  143. package/src/core/c-cpp-project.js +143 -0
  144. package/src/core/checkpoint-revalidation.js +319 -0
  145. package/src/core/cli-command-definitions.js +249 -1
  146. package/src/core/command-executors.js +115 -3
  147. package/src/core/command-input.js +212 -102
  148. package/src/core/completion-artifacts.js +14 -5
  149. package/src/core/completion.js +4 -6
  150. package/src/core/config.js +3 -0
  151. package/src/core/context-compiler/budget.js +9 -0
  152. package/src/core/context-compiler/candidates.js +39 -0
  153. package/src/core/context-compiler/compiler.js +63 -0
  154. package/src/core/context-compiler/fingerprint.js +11 -0
  155. package/src/core/context-compiler/policy.js +13 -0
  156. package/src/core/context-compiler/result.js +23 -0
  157. package/src/core/contract-bootstrap-recovery.js +655 -0
  158. package/src/core/contract-presets.js +82 -0
  159. package/src/core/contract-revision.js +210 -0
  160. package/src/core/decision/artifact.js +69 -0
  161. package/src/core/decision/benchmarks.js +103 -0
  162. package/src/core/decision/cache.js +27 -0
  163. package/src/core/decision/constants.js +58 -0
  164. package/src/core/decision/cutover.js +34 -0
  165. package/src/core/decision/engine.js +22 -0
  166. package/src/core/decision/errors.js +68 -0
  167. package/src/core/decision/events.js +101 -0
  168. package/src/core/decision/freshness.js +19 -0
  169. package/src/core/decision/normalizers/index.js +115 -0
  170. package/src/core/decision/policy.js +18 -0
  171. package/src/core/decision/projection.js +16 -0
  172. package/src/core/decision/question-registry.js +201 -0
  173. package/src/core/decision/request.js +26 -0
  174. package/src/core/decision/resolver.js +130 -0
  175. package/src/core/decision/result.js +58 -0
  176. package/src/core/decision/service.js +156 -0
  177. package/src/core/decision/state-builder.js +65 -0
  178. package/src/core/decision/task-bindings.js +30 -0
  179. package/src/core/decision/test-provider.js +32 -0
  180. package/src/core/decision/thresholds.js +15 -0
  181. package/src/core/error-codes.js +281 -3
  182. package/src/core/events.js +226 -57
  183. package/src/core/evidence-readiness.js +9 -0
  184. package/src/core/execution-prerequisites.js +14 -0
  185. package/src/core/execution-profile.js +63 -38
  186. package/src/core/filesystem.js +1 -10
  187. package/src/core/gate-provenance.js +124 -0
  188. package/src/core/go-project.js +206 -0
  189. package/src/core/integration-invocation-policy.js +27 -4
  190. package/src/core/integration-resources.js +86 -61
  191. package/src/core/java-project.js +403 -0
  192. package/src/core/model-router/constants.js +10 -0
  193. package/src/core/model-router/policy.js +103 -0
  194. package/src/core/model-router/router.js +37 -0
  195. package/src/core/multi-language-project.js +117 -0
  196. package/src/core/next-action-model.js +58 -0
  197. package/src/core/next-action-phases.js +130 -42
  198. package/src/core/next-action-refresh.js +43 -9
  199. package/src/core/next-action-review-phase.js +7 -2
  200. package/src/core/next-action.js +35 -7
  201. package/src/core/next-explanation.js +63 -0
  202. package/src/core/phase.js +128 -10
  203. package/src/core/php-project.js +85 -0
  204. package/src/core/preflight-consistency.js +23 -9
  205. package/src/core/preflight-loaders.js +37 -5
  206. package/src/core/project-detection.js +1760 -52
  207. package/src/core/protocol-info.js +65 -0
  208. package/src/core/protocol.js +20 -0
  209. package/src/core/reconcile-closure.js +132 -53
  210. package/src/core/recovery-history.js +1 -0
  211. package/src/core/resumability.js +154 -44
  212. package/src/core/route-artifact.js +15 -1
  213. package/src/core/router.js +223 -4
  214. package/src/core/runtime-context.js +118 -61
  215. package/src/core/rust-project.js +400 -0
  216. package/src/core/schema-validation.js +3 -0
  217. package/src/core/security-review/constants.js +64 -0
  218. package/src/core/security-review/normalize.js +245 -0
  219. package/src/core/security-review/provider.js +204 -0
  220. package/src/core/security-review/service.js +134 -0
  221. package/src/core/semantic-planning/constants.js +19 -0
  222. package/src/core/semantic-planning/projection.js +94 -0
  223. package/src/core/semantic-planning/service.js +15 -0
  224. package/src/core/sources.js +37 -0
  225. package/src/core/sql-project.js +141 -0
  226. package/src/core/swift-project.js +200 -0
  227. package/src/core/task-claim-state.js +201 -1
  228. package/src/core/task-conflict-inspection.js +31 -5
  229. package/src/core/task-paths.js +13 -0
  230. package/src/core/task-recovery.js +1 -0
  231. package/src/core/templates.js +3 -0
  232. package/src/core/test-intelligence/benchmarks.js +68 -0
  233. package/src/core/test-intelligence/inventory.js +73 -0
  234. package/src/core/test-intelligence/prune.js +90 -0
  235. package/src/core/test-intelligence/semantic-state.js +15 -0
  236. package/src/core/test-intelligence/service.js +40 -0
  237. package/src/core/test-intelligence/utility.js +50 -0
  238. package/src/core/trace.js +11 -7
  239. package/src/core/transaction.js +1 -0
  240. package/src/core/typescript-project.js +349 -0
  241. package/src/core/xml-structure.js +123 -0
  242. package/src/integration.d.ts +492 -0
  243. package/src/integration.js +54 -0
  244. package/src/providers/README.md +47 -0
  245. package/src/providers/capabilities.js +46 -0
  246. package/src/providers/errors.js +15 -0
  247. package/src/providers/index.js +29 -0
  248. package/src/providers/json-snapshot.js +105 -0
  249. package/src/providers/registry.js +152 -0
@@ -1,7 +1,7 @@
1
1
  #compdef forgeloop
2
2
  # Generated by scripts/generate-shell-completions.mjs. Do not edit.
3
3
  _arguments \
4
- '1:command:(action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle clear-continuity clear-state complete continuity doctor efficiency eval handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search status task-create task-list task-lock-status task-migrate task-recover task-repair-legacy-recovery task-resume task-scope task-show task-unlock trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status)' \
4
+ '1:command:(action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle checkpoint-revalidate clear-continuity clear-state complete context-plan continuity contract-create contract-revise decision-show decision-status discover doctor efficiency eval gate-record gate-revalidate handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol model-route next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search semantic-plan status task-abandon task-create task-list task-lock-status task-migrate task-migrate-contract-bootstrap-repair task-recover task-repair-contract-bootstrap task-repair-legacy-recovery task-resume task-scope task-show task-unlock test-inventory test-prune-plan test-prune-probe test-utility trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status)' \
5
5
  '*::options:->options'
6
6
  case $words[2] in
7
7
  action-authorize) _arguments '--action[durable action ID]' '--approval[current fingerprint-bound approval]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
@@ -21,13 +21,22 @@ case $words[2] in
21
21
  audit) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--strict[require strict protocol compliance]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
22
22
  baseline) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--policy-reset-authorized[explicit operator authority to re-record baseline during active tasks]' '--record[record current violations as brownfield baseline]' '--update[ratchet baseline downward by removing resolved violations]' '--version[show the installed package version]' ;;
23
23
  bundle) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
24
+ checkpoint-revalidate) _arguments '--help[show this help]' '--json[emit structured revalidation output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
24
25
  clear-continuity) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
25
26
  clear-state) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
26
27
  complete) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--strict[require strict protocol compliance]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
28
+ context-plan) _arguments '--decision[persisted Jev decision artifact ID]' '--help[show this help]' '--json[emit the bounded context plan as JSON]' '--path[target project directory (default: current directory)]' '--profile[bounded context budget profile]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
27
29
  continuity) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
30
+ contract-create) _arguments '--contract-file[validated JSON contract relative to the target]' '--help[show this help]' '--json[emit structured contract output as JSON]' '--path[target project directory (default: current directory)]' '--preset[bounded contract preset: documentation, bug, feature, or release]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
31
+ contract-revise) _arguments '--contract-file[validated replacement JSON contract relative to the target]' '--help[show this help]' '--json[emit structured contract revision output as JSON]' '--path[target project directory (default: current directory)]' '--preset[bounded replacement contract preset: documentation, bug, feature, or release]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
32
+ decision-show) _arguments '--decision[decision artifact ID]' '--help[show this help]' '--json[emit the decision artifact as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
33
+ decision-status) _arguments '--health[perform a bounded live Jev health check when credentials are configured]' '--help[show this help]' '--json[emit decision-plane status as JSON]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' ;;
34
+ discover) _arguments '--help[show this help]' '--json[emit structured discovery output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
28
35
  doctor) _arguments '--adopt[preserve an existing adapter in the manifest]' '--fix[restore missing managed template files]' '--help[show this help]' '--json[emit doctor findings as JSON]' '--path[target project directory (default: current directory)]' '--strict[treat warnings as unhealthy]' '--version[show the installed package version]' ;;
29
36
  efficiency) _arguments '--baseline[optional comparable efficiency baseline JSON]' '--help[show this help]' '--json[emit efficiency metrics as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
30
37
  eval) _arguments '--help[show this help]' '--json[emit evaluation as JSON]' '--path[target project directory (default: current directory)]' '--scenario[project-local trajectory scenario JSON]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
38
+ gate-record) _arguments '--artifact[project-relative evidence artifact]' '--assumption[approved local assumption]' '--decision[caller-recorded gate decision]' '--evidence-file[bounded local descriptive evidence JSON]' '--gate[required gate name]' '--help[show this help]' '--json[emit structured gate output as JSON]' '--path[target project directory (default: current directory)]' '--status[satisfied, unverified, or blocked]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--unknown[known unresolved item]' '--version[show the installed package version]' ;;
39
+ gate-revalidate) _arguments '--acknowledge-stale[explicitly acknowledge refresh of stale gate artifacts inside active task claims]' '--gate[satisfied gate to refresh after safe artifact drift]' '--help[show this help]' '--json[emit structured gate revalidation output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
31
40
  handoff-accept) _arguments '--consumer-id[consumer identifier accepting the handoff]' '--handoff[handoff identifier]' '--harness[optional harness accepting the handoff]' '--help[show this help]' '--json[emit acceptance result as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
32
41
  handoff-create) _arguments '--help[show this help]' '--json[emit handoff as JSON]' '--note[non-authoritative handoff note]' '--path[target project directory (default: current directory)]' '--recipient[non-authoritative recipient hint]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
33
42
  handoff-list) _arguments '--help[show this help]' '--json[emit handoff list as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
@@ -42,7 +51,8 @@ case $words[2] in
42
51
  inspect) _arguments '--contract-file[current JSON contract used for freshness comparison]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
43
52
  metrics) _arguments '--help[show this help]' '--json[emit trajectory metrics as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
44
53
  migrate-protocol) _arguments '--dry-run[show migration actions without writing or deleting artifacts]' '--help[show this help]' '--json[emit structured migration result as JSON]' '--path[target project directory (default: current directory)]' '--to[target supported protocol version]' '--version[show the installed package version]' ;;
45
- next) _arguments '--compact[emit a bounded next-action projection]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
54
+ model-route) _arguments '--ambiguous[declare unresolved ambiguity]' '--architecture-change[declare an architectural change]' '--behavior-change[declare behavior change]' '--decision[persisted Jev decision artifact ID]' '--executable-change[declare executable/configuration change]' '--generation-required[declare that generation is required]' '--help[show this help]' '--json[emit model-route projection as JSON]' '--path[target project directory (default: current directory)]' '--platform[affected platform]' '--risk[task risk]' '--surface[affected surface]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' '--work[declared work type]' ;;
55
+ next) _arguments '--compact[emit a bounded next-action projection]' '--explain[include bounded read-only blocker and recovery explanation]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
46
56
  policy) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
47
57
  policy-diff) _arguments '--after[path to after policy JSON]' '--before[path to before policy JSON]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
48
58
  policy-discover) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' '--write[persist discovered policy to .forgeloop/policy/discovery.json]' ;;
@@ -73,17 +83,25 @@ case $words[2] in
73
83
  run-action) _arguments '--[exact command argv; shell mode is never used]' '--action[stable durable action ID]' '--approval[current fingerprint-bound approval]' '--capability[canonical action capability]' '--effect-class[durable action effect class]' '--help[show this help]' '--idempotency-key[immutable logical action idempotency key]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--required-for-completion[mark the action as required for completion]' '--requirement[bound completion requirement]' '--target[bounded external action target]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--timeout-ms[maximum command duration before termination]' '--version[show the installed package version]' ;;
74
84
  run-check) _arguments '--[exact command argv to classify, execute, and attest]' '--details[additional structured check details]' '--help[show this help]' '--id[stable check identifier]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--requirement[completion requirement covered by the check]' '--scope-ref[current verification-scope.json to bind to execution evidence]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--timeout-ms[maximum command duration before termination]' '--version[show the installed package version]' ;;
75
85
  search) _arguments '--after-context[lines of context after matches]' '--before-context[lines of context before matches]' '--context[lines of context before and after matches]' '--files-with-matches[return matching file paths only]' '--fixed-strings[treat the pattern as a literal string]' '--glob[include files matching a glob]' '--help[show this help]' '--ignore-case[search case-insensitively]' '--json[emit normalized provider-neutral search JSON]' '--max-count[maximum matches per file]' '--path[target project directory (default: current directory)]' '--smart-case[use case-insensitive search only for lowercase patterns]' '--stats[include observed native search statistics]' '--type[include files of a tgrep type]' '--version[show the installed package version]' '--word-regexp[match whole words only]' ;;
86
+ semantic-plan) _arguments '--decision[persisted Jev decision artifact ID]' '--help[show this help]' '--input[bounded failure, diagnosis, or review context]' '--json[emit semantic plan projection as JSON]' '--kind[bounded semantic planning projection]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
76
87
  status) _arguments '--contract-file[current JSON contract used for freshness comparison]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
77
- task-create) _arguments '--claim[scoped file path or directory prefix claimed for mutation]' '--contract-file[path to initial contract file]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
78
- task-list) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' ;;
88
+ task-abandon) _arguments '--acknowledge-abandonment[explicitly acknowledge abandonment of an active task (required; not completion authority)]' '--help[show this help]' '--json[emit structured abandonment output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
89
+ task-create) _arguments '--claim[scoped file path or directory prefix claimed for mutation]' '--contract-file[path to initial contract file]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--preset[bounded contract preset: documentation, bug, feature, or release]' '--preview[preview the contract without creating lifecycle state]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
90
+ task-list) _arguments '--active[only return healthy tasks with active ownership and a non-terminal phase]' '--help[show this help]' '--json[emit structured output as JSON]' '--limit[maximum tasks to return]' '--offset[number of sorted tasks to skip]' '--path[target project directory (default: current directory)]' '--phase[only return tasks in this lifecycle phase]' '--version[show the installed package version]' ;;
79
91
  task-lock-status) _arguments '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
80
92
  task-migrate) _arguments '--dry-run[show planned migration actions without moving files]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' ;;
93
+ task-migrate-contract-bootstrap-repair) _arguments '--acknowledge-migration[fresh explicit caller acknowledgement of the exact legacy marker migration (required)]' '--help[show this help]' '--json[emit structured migration output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
81
94
  task-recover) _arguments '--acknowledge-recovery[acknowledge release of claims for a STALE or ABANDONED task (required; not host attestation)]' '--help[show this help]' '--json[emit structured output as JSON]' '--operator-authorized[deprecated alias for --acknowledge-recovery; does not attest operator authority]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
95
+ task-repair-contract-bootstrap) _arguments '--acknowledge-repair[explicit caller acknowledgement of the exact append-only repair (required)]' '--help[show this help]' '--json[emit structured repair output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
82
96
  task-repair-legacy-recovery) _arguments '--acknowledge-recovery[fresh explicit acknowledgement of the legacy boundary migration (required)]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
83
97
  task-resume) _arguments '--claim[write claim to reacquire (defaults to all released claims)]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
84
98
  task-scope) _arguments '--claim[scoped file path or directory prefix claimed for mutation]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
85
99
  task-show) _arguments '--compact[emit a bounded task-status projection]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
86
100
  task-unlock) _arguments '--force[force release of an orphaned task lock]' '--help[show this help]' '--json[emit structured output as JSON]' '--path[target project directory (default: current directory)]' '--stale-only[release only a lock whose lease is expired]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
101
+ test-inventory) _arguments '--help[show this help]' '--json[emit deterministic test inventory as JSON]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' ;;
102
+ test-prune-plan) _arguments '--help[show this help]' '--json[emit test prune plan as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
103
+ test-prune-probe) _arguments '--help[show this help]' '--json[emit test prune probe as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--test[stable test ID to probe in isolation]' '--version[show the installed package version]' ;;
104
+ test-utility) _arguments '--help[show this help]' '--json[emit test utility analysis as JSON]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
87
105
  trace) _arguments '--help[show this help]' '--json[emit structured trace output as JSON (default rendering is a summary)]' '--path[target project directory (default: current directory)]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--version[show the installed package version]' ;;
88
106
  update) _arguments '--dry-run[perform deterministic update planning and conflict detection without writing]' '--help[show this help]' '--path[target project directory (default: current directory)]' '--version[show the installed package version]' ;;
89
107
  usage-record) _arguments '--cache-read-tokens[provider-reported cache-read token count]' '--cache-write-tokens[provider-reported cache-write token count]' '--cost-usd[provider-reported cost in USD; never estimated]' '--help[show this help]' '--input-tokens[provider-reported input token count]' '--json[emit usage telemetry as JSON]' '--model[model name reported by the actor]' '--output-tokens[provider-reported output token count]' '--path[target project directory (default: current directory)]' '--provider[provider name reported by the actor]' '--source[usage source; CLI fallback accepts only ACTOR_REPORTED]' '--task[task ID to operate on (when omitted, resolved from context or single active task)]' '--total-tokens[provider-reported total token count; never estimated]' '--version[show the installed package version]' ;;
@@ -23,13 +23,22 @@ _forgeloop() {
23
23
  audit) command="audit" ;;
24
24
  baseline) command="baseline" ;;
25
25
  bundle) command="bundle" ;;
26
+ checkpoint-revalidate) command="checkpoint-revalidate" ;;
26
27
  clear-continuity) command="clear-continuity" ;;
27
28
  clear-state) command="clear-state" ;;
28
29
  complete) command="complete" ;;
30
+ context-plan) command="context-plan" ;;
29
31
  continuity) command="continuity" ;;
32
+ contract-create) command="contract-create" ;;
33
+ contract-revise) command="contract-revise" ;;
34
+ decision-show) command="decision-show" ;;
35
+ decision-status) command="decision-status" ;;
36
+ discover) command="discover" ;;
30
37
  doctor) command="doctor" ;;
31
38
  efficiency) command="efficiency" ;;
32
39
  eval) command="eval" ;;
40
+ gate-record) command="gate-record" ;;
41
+ gate-revalidate) command="gate-revalidate" ;;
33
42
  handoff-accept) command="handoff-accept" ;;
34
43
  handoff-create) command="handoff-create" ;;
35
44
  handoff-list) command="handoff-list" ;;
@@ -44,6 +53,7 @@ _forgeloop() {
44
53
  inspect) command="inspect" ;;
45
54
  metrics) command="metrics" ;;
46
55
  migrate-protocol) command="migrate-protocol" ;;
56
+ model-route) command="model-route" ;;
47
57
  next) command="next" ;;
48
58
  policy) command="policy" ;;
49
59
  policy-diff) command="policy-diff" ;;
@@ -75,17 +85,25 @@ _forgeloop() {
75
85
  run-action) command="run-action" ;;
76
86
  run-check) command="run-check" ;;
77
87
  search) command="search" ;;
88
+ semantic-plan) command="semantic-plan" ;;
78
89
  status) command="status" ;;
90
+ task-abandon) command="task-abandon" ;;
79
91
  task-create) command="task-create" ;;
80
92
  task-list) command="task-list" ;;
81
93
  task-lock-status) command="task-lock-status" ;;
82
94
  task-migrate) command="task-migrate" ;;
95
+ task-migrate-contract-bootstrap-repair) command="task-migrate-contract-bootstrap-repair" ;;
83
96
  task-recover) command="task-recover" ;;
97
+ task-repair-contract-bootstrap) command="task-repair-contract-bootstrap" ;;
84
98
  task-repair-legacy-recovery) command="task-repair-legacy-recovery" ;;
85
99
  task-resume) command="task-resume" ;;
86
100
  task-scope) command="task-scope" ;;
87
101
  task-show) command="task-show" ;;
88
102
  task-unlock) command="task-unlock" ;;
103
+ test-inventory) command="test-inventory" ;;
104
+ test-prune-plan) command="test-prune-plan" ;;
105
+ test-prune-probe) command="test-prune-probe" ;;
106
+ test-utility) command="test-utility" ;;
89
107
  trace) command="trace" ;;
90
108
  update) command="update" ;;
91
109
  usage-record) command="usage-record" ;;
@@ -98,7 +116,7 @@ _forgeloop() {
98
116
  esac
99
117
  done
100
118
  if [[ -z "\${command}" && "\${cur}" != -* ]]; then
101
- COMPREPLY=( $(compgen -W 'action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle clear-continuity clear-state complete continuity doctor efficiency eval handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search status task-create task-list task-lock-status task-migrate task-recover task-repair-legacy-recovery task-resume task-scope task-show task-unlock trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status' -- "$cur") )
119
+ COMPREPLY=( $(compgen -W 'action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle checkpoint-revalidate clear-continuity clear-state complete context-plan continuity contract-create contract-revise decision-show decision-status discover doctor efficiency eval gate-record gate-revalidate handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol model-route next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search semantic-plan status task-abandon task-create task-list task-lock-status task-migrate task-migrate-contract-bootstrap-repair task-recover task-repair-contract-bootstrap task-repair-legacy-recovery task-resume task-scope task-show task-unlock test-inventory test-prune-plan test-prune-probe test-utility trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status' -- "$cur") )
102
120
  return
103
121
  fi
104
122
  case "\${command}" in
@@ -119,13 +137,22 @@ _forgeloop() {
119
137
  audit) COMPREPLY=( $(compgen -W '--help --json --path --strict --task --version' -- "$cur") );;
120
138
  baseline) COMPREPLY=( $(compgen -W '--help --json --path --policy-reset-authorized --record --update --version' -- "$cur") );;
121
139
  bundle) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
140
+ checkpoint-revalidate) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
122
141
  clear-continuity) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
123
142
  clear-state) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
124
143
  complete) COMPREPLY=( $(compgen -W '--help --json --path --strict --task --version' -- "$cur") );;
144
+ context-plan) COMPREPLY=( $(compgen -W '--decision --help --json --path --profile --task --version' -- "$cur") );;
125
145
  continuity) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
146
+ contract-create) COMPREPLY=( $(compgen -W '--contract-file --help --json --path --preset --task --version' -- "$cur") );;
147
+ contract-revise) COMPREPLY=( $(compgen -W '--contract-file --help --json --path --preset --task --version' -- "$cur") );;
148
+ decision-show) COMPREPLY=( $(compgen -W '--decision --help --json --path --task --version' -- "$cur") );;
149
+ decision-status) COMPREPLY=( $(compgen -W '--health --help --json --path --version' -- "$cur") );;
150
+ discover) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
126
151
  doctor) COMPREPLY=( $(compgen -W '--adopt --fix --help --json --path --strict --version' -- "$cur") );;
127
152
  efficiency) COMPREPLY=( $(compgen -W '--baseline --help --json --path --task --version' -- "$cur") );;
128
153
  eval) COMPREPLY=( $(compgen -W '--help --json --path --scenario --task --version' -- "$cur") );;
154
+ gate-record) COMPREPLY=( $(compgen -W '--artifact --assumption --decision --evidence-file --gate --help --json --path --status --task --unknown --version' -- "$cur") );;
155
+ gate-revalidate) COMPREPLY=( $(compgen -W '--acknowledge-stale --gate --help --json --path --task --version' -- "$cur") );;
129
156
  handoff-accept) COMPREPLY=( $(compgen -W '--consumer-id --handoff --harness --help --json --path --task --version' -- "$cur") );;
130
157
  handoff-create) COMPREPLY=( $(compgen -W '--help --json --note --path --recipient --task --version' -- "$cur") );;
131
158
  handoff-list) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
@@ -140,7 +167,8 @@ _forgeloop() {
140
167
  inspect) COMPREPLY=( $(compgen -W '--contract-file --help --json --path --task --version' -- "$cur") );;
141
168
  metrics) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
142
169
  migrate-protocol) COMPREPLY=( $(compgen -W '--dry-run --help --json --path --to --version' -- "$cur") );;
143
- next) COMPREPLY=( $(compgen -W '--compact --help --json --path --task --version' -- "$cur") );;
170
+ model-route) COMPREPLY=( $(compgen -W '--ambiguous --architecture-change --behavior-change --decision --executable-change --generation-required --help --json --path --platform --risk --surface --task --version --work' -- "$cur") );;
171
+ next) COMPREPLY=( $(compgen -W '--compact --explain --help --json --path --task --version' -- "$cur") );;
144
172
  policy) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
145
173
  policy-diff) COMPREPLY=( $(compgen -W '--after --before --help --json --path --task --version' -- "$cur") );;
146
174
  policy-discover) COMPREPLY=( $(compgen -W '--help --json --path --version --write' -- "$cur") );;
@@ -171,17 +199,25 @@ _forgeloop() {
171
199
  run-action) COMPREPLY=( $(compgen -W '-- --action --approval --capability --effect-class --help --idempotency-key --json --path --required-for-completion --requirement --target --task --timeout-ms --version' -- "$cur") );;
172
200
  run-check) COMPREPLY=( $(compgen -W '-- --details --help --id --json --path --requirement --scope-ref --task --timeout-ms --version' -- "$cur") );;
173
201
  search) COMPREPLY=( $(compgen -W '--after-context --before-context --context --files-with-matches --fixed-strings --glob --help --ignore-case --json --max-count --path --smart-case --stats --type --version --word-regexp' -- "$cur") );;
202
+ semantic-plan) COMPREPLY=( $(compgen -W '--decision --help --input --json --kind --path --task --version' -- "$cur") );;
174
203
  status) COMPREPLY=( $(compgen -W '--contract-file --help --json --path --task --version' -- "$cur") );;
175
- task-create) COMPREPLY=( $(compgen -W '--claim --contract-file --help --json --path --task --version' -- "$cur") );;
176
- task-list) COMPREPLY=( $(compgen -W '--help --json --path --version' -- "$cur") );;
204
+ task-abandon) COMPREPLY=( $(compgen -W '--acknowledge-abandonment --help --json --path --task --version' -- "$cur") );;
205
+ task-create) COMPREPLY=( $(compgen -W '--claim --contract-file --help --json --path --preset --preview --task --version' -- "$cur") );;
206
+ task-list) COMPREPLY=( $(compgen -W '--active --help --json --limit --offset --path --phase --version' -- "$cur") );;
177
207
  task-lock-status) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
178
208
  task-migrate) COMPREPLY=( $(compgen -W '--dry-run --help --json --path --version' -- "$cur") );;
209
+ task-migrate-contract-bootstrap-repair) COMPREPLY=( $(compgen -W '--acknowledge-migration --help --json --path --task --version' -- "$cur") );;
179
210
  task-recover) COMPREPLY=( $(compgen -W '--acknowledge-recovery --help --json --operator-authorized --path --task --version' -- "$cur") );;
211
+ task-repair-contract-bootstrap) COMPREPLY=( $(compgen -W '--acknowledge-repair --help --json --path --task --version' -- "$cur") );;
180
212
  task-repair-legacy-recovery) COMPREPLY=( $(compgen -W '--acknowledge-recovery --help --json --path --task --version' -- "$cur") );;
181
213
  task-resume) COMPREPLY=( $(compgen -W '--claim --help --json --path --task --version' -- "$cur") );;
182
214
  task-scope) COMPREPLY=( $(compgen -W '--claim --help --json --path --task --version' -- "$cur") );;
183
215
  task-show) COMPREPLY=( $(compgen -W '--compact --help --json --path --task --version' -- "$cur") );;
184
216
  task-unlock) COMPREPLY=( $(compgen -W '--force --help --json --path --stale-only --task --version' -- "$cur") );;
217
+ test-inventory) COMPREPLY=( $(compgen -W '--help --json --path --version' -- "$cur") );;
218
+ test-prune-plan) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
219
+ test-prune-probe) COMPREPLY=( $(compgen -W '--help --json --path --task --test --version' -- "$cur") );;
220
+ test-utility) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
185
221
  trace) COMPREPLY=( $(compgen -W '--help --json --path --task --version' -- "$cur") );;
186
222
  update) COMPREPLY=( $(compgen -W '--dry-run --help --path --version' -- "$cur") );;
187
223
  usage-record) COMPREPLY=( $(compgen -W '--cache-read-tokens --cache-write-tokens --cost-usd --help --input-tokens --json --model --output-tokens --path --provider --source --task --total-tokens --version' -- "$cur") );;
@@ -1,5 +1,5 @@
1
1
  # Generated by scripts/generate-shell-completions.mjs. Do not edit.
2
- complete -c forgeloop -f -n '__fish_use_subcommand' -a 'action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle clear-continuity clear-state complete continuity doctor efficiency eval handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search status task-create task-list task-lock-status task-migrate task-recover task-repair-legacy-recovery task-resume task-scope task-show task-unlock trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status'
2
+ complete -c forgeloop -f -n '__fish_use_subcommand' -a 'action-authorize action-propose action-reconcile action-record action-show action-verify activate advance approval-request approval-resolve attestation-create attestation-status attestation-verify attestation-verify-range audit baseline bundle checkpoint-revalidate clear-continuity clear-state complete context-plan continuity contract-create contract-revise decision-show decision-status discover doctor efficiency eval gate-record gate-revalidate handoff-accept handoff-create handoff-list handoff-show history index-rebuild index-setup index-start index-status index-stop init inspect metrics migrate-protocol model-route next policy policy-diff policy-discover policy-status preflight prepare-completion profile-interview progress protocol-info quality-baseline quality-status quality-verify reconcile-closure reconcile-continuity record-check record-continuity record-decision-criterion record-diagnosis record-hypothesis-disposition record-intervention record-terminal-result reflect report responsibility-set responsibility-status route rule-verify run-action run-check search semantic-plan status task-abandon task-create task-list task-lock-status task-migrate task-migrate-contract-bootstrap-repair task-recover task-repair-contract-bootstrap task-repair-legacy-recovery task-resume task-scope task-show task-unlock test-inventory test-prune-plan test-prune-probe test-utility trace update usage-record validate-protocol validate-receipt validate-state verify-scope workspace-bind workspace-status'
3
3
  complete -c forgeloop -f -n '__fish_seen_subcommand_from action-authorize' -l 'action' -d 'durable action ID'
4
4
  complete -c forgeloop -f -n '__fish_seen_subcommand_from action-authorize' -l 'approval' -d 'current fingerprint-bound approval'
5
5
  complete -c forgeloop -f -n '__fish_seen_subcommand_from action-authorize' -l 'help' -d 'show this help'
@@ -133,6 +133,11 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from bundle' -l 'json' -d 'e
133
133
  complete -c forgeloop -f -n '__fish_seen_subcommand_from bundle' -l 'path' -d 'target project directory (default: current directory)'
134
134
  complete -c forgeloop -f -n '__fish_seen_subcommand_from bundle' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
135
135
  complete -c forgeloop -f -n '__fish_seen_subcommand_from bundle' -l 'version' -d 'show the installed package version'
136
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from checkpoint-revalidate' -l 'help' -d 'show this help'
137
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from checkpoint-revalidate' -l 'json' -d 'emit structured revalidation output as JSON'
138
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from checkpoint-revalidate' -l 'path' -d 'target project directory (default: current directory)'
139
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from checkpoint-revalidate' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
140
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from checkpoint-revalidate' -l 'version' -d 'show the installed package version'
136
141
  complete -c forgeloop -f -n '__fish_seen_subcommand_from clear-continuity' -l 'help' -d 'show this help'
137
142
  complete -c forgeloop -f -n '__fish_seen_subcommand_from clear-continuity' -l 'json' -d 'emit structured output as JSON'
138
143
  complete -c forgeloop -f -n '__fish_seen_subcommand_from clear-continuity' -l 'path' -d 'target project directory (default: current directory)'
@@ -149,11 +154,48 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from complete' -l 'path' -d
149
154
  complete -c forgeloop -f -n '__fish_seen_subcommand_from complete' -l 'strict' -d 'require strict protocol compliance'
150
155
  complete -c forgeloop -f -n '__fish_seen_subcommand_from complete' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
151
156
  complete -c forgeloop -f -n '__fish_seen_subcommand_from complete' -l 'version' -d 'show the installed package version'
157
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'decision' -d 'persisted Jev decision artifact ID'
158
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'help' -d 'show this help'
159
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'json' -d 'emit the bounded context plan as JSON'
160
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'path' -d 'target project directory (default: current directory)'
161
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'profile' -d 'bounded context budget profile'
162
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
163
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from context-plan' -l 'version' -d 'show the installed package version'
152
164
  complete -c forgeloop -f -n '__fish_seen_subcommand_from continuity' -l 'help' -d 'show this help'
153
165
  complete -c forgeloop -f -n '__fish_seen_subcommand_from continuity' -l 'json' -d 'emit structured output as JSON'
154
166
  complete -c forgeloop -f -n '__fish_seen_subcommand_from continuity' -l 'path' -d 'target project directory (default: current directory)'
155
167
  complete -c forgeloop -f -n '__fish_seen_subcommand_from continuity' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
156
168
  complete -c forgeloop -f -n '__fish_seen_subcommand_from continuity' -l 'version' -d 'show the installed package version'
169
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'contract-file' -d 'validated JSON contract relative to the target'
170
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'help' -d 'show this help'
171
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'json' -d 'emit structured contract output as JSON'
172
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'path' -d 'target project directory (default: current directory)'
173
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'preset' -d 'bounded contract preset: documentation, bug, feature, or release'
174
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
175
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-create' -l 'version' -d 'show the installed package version'
176
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'contract-file' -d 'validated replacement JSON contract relative to the target'
177
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'help' -d 'show this help'
178
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'json' -d 'emit structured contract revision output as JSON'
179
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'path' -d 'target project directory (default: current directory)'
180
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'preset' -d 'bounded replacement contract preset: documentation, bug, feature, or release'
181
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
182
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from contract-revise' -l 'version' -d 'show the installed package version'
183
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'decision' -d 'decision artifact ID'
184
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'help' -d 'show this help'
185
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'json' -d 'emit the decision artifact as JSON'
186
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'path' -d 'target project directory (default: current directory)'
187
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
188
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-show' -l 'version' -d 'show the installed package version'
189
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-status' -l 'health' -d 'perform a bounded live Jev health check when credentials are configured'
190
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-status' -l 'help' -d 'show this help'
191
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-status' -l 'json' -d 'emit decision-plane status as JSON'
192
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-status' -l 'path' -d 'target project directory (default: current directory)'
193
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from decision-status' -l 'version' -d 'show the installed package version'
194
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from discover' -l 'help' -d 'show this help'
195
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from discover' -l 'json' -d 'emit structured discovery output as JSON'
196
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from discover' -l 'path' -d 'target project directory (default: current directory)'
197
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from discover' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
198
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from discover' -l 'version' -d 'show the installed package version'
157
199
  complete -c forgeloop -f -n '__fish_seen_subcommand_from doctor' -l 'adopt' -d 'preserve an existing adapter in the manifest'
158
200
  complete -c forgeloop -f -n '__fish_seen_subcommand_from doctor' -l 'fix' -d 'restore missing managed template files'
159
201
  complete -c forgeloop -f -n '__fish_seen_subcommand_from doctor' -l 'help' -d 'show this help'
@@ -173,6 +215,25 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from eval' -l 'path' -d 'tar
173
215
  complete -c forgeloop -f -n '__fish_seen_subcommand_from eval' -l 'scenario' -d 'project-local trajectory scenario JSON'
174
216
  complete -c forgeloop -f -n '__fish_seen_subcommand_from eval' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
175
217
  complete -c forgeloop -f -n '__fish_seen_subcommand_from eval' -l 'version' -d 'show the installed package version'
218
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'artifact' -d 'project-relative evidence artifact'
219
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'assumption' -d 'approved local assumption'
220
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'decision' -d 'caller-recorded gate decision'
221
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'evidence-file' -d 'bounded local descriptive evidence JSON'
222
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'gate' -d 'required gate name'
223
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'help' -d 'show this help'
224
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'json' -d 'emit structured gate output as JSON'
225
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'path' -d 'target project directory (default: current directory)'
226
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'status' -d 'satisfied, unverified, or blocked'
227
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
228
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'unknown' -d 'known unresolved item'
229
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-record' -l 'version' -d 'show the installed package version'
230
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'acknowledge-stale' -d 'explicitly acknowledge refresh of stale gate artifacts inside active task claims'
231
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'gate' -d 'satisfied gate to refresh after safe artifact drift'
232
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'help' -d 'show this help'
233
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'json' -d 'emit structured gate revalidation output as JSON'
234
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'path' -d 'target project directory (default: current directory)'
235
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
236
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from gate-revalidate' -l 'version' -d 'show the installed package version'
176
237
  complete -c forgeloop -f -n '__fish_seen_subcommand_from handoff-accept' -l 'consumer-id' -d 'consumer identifier accepting the handoff'
177
238
  complete -c forgeloop -f -n '__fish_seen_subcommand_from handoff-accept' -l 'handoff' -d 'handoff identifier'
178
239
  complete -c forgeloop -f -n '__fish_seen_subcommand_from handoff-accept' -l 'harness' -d 'optional harness accepting the handoff'
@@ -257,7 +318,23 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from migrate-protocol' -l 'j
257
318
  complete -c forgeloop -f -n '__fish_seen_subcommand_from migrate-protocol' -l 'path' -d 'target project directory (default: current directory)'
258
319
  complete -c forgeloop -f -n '__fish_seen_subcommand_from migrate-protocol' -l 'to' -d 'target supported protocol version'
259
320
  complete -c forgeloop -f -n '__fish_seen_subcommand_from migrate-protocol' -l 'version' -d 'show the installed package version'
321
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'ambiguous' -d 'declare unresolved ambiguity'
322
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'architecture-change' -d 'declare an architectural change'
323
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'behavior-change' -d 'declare behavior change'
324
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'decision' -d 'persisted Jev decision artifact ID'
325
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'executable-change' -d 'declare executable/configuration change'
326
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'generation-required' -d 'declare that generation is required'
327
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'help' -d 'show this help'
328
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'json' -d 'emit model-route projection as JSON'
329
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'path' -d 'target project directory (default: current directory)'
330
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'platform' -d 'affected platform'
331
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'risk' -d 'task risk'
332
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'surface' -d 'affected surface'
333
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
334
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'version' -d 'show the installed package version'
335
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from model-route' -l 'work' -d 'declared work type'
260
336
  complete -c forgeloop -f -n '__fish_seen_subcommand_from next' -l 'compact' -d 'emit a bounded next-action projection'
337
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from next' -l 'explain' -d 'include bounded read-only blocker and recovery explanation'
261
338
  complete -c forgeloop -f -n '__fish_seen_subcommand_from next' -l 'help' -d 'show this help'
262
339
  complete -c forgeloop -f -n '__fish_seen_subcommand_from next' -l 'json' -d 'emit structured output as JSON'
263
340
  complete -c forgeloop -f -n '__fish_seen_subcommand_from next' -l 'path' -d 'target project directory (default: current directory)'
@@ -501,22 +578,42 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from search' -l 'stats' -d '
501
578
  complete -c forgeloop -f -n '__fish_seen_subcommand_from search' -l 'type' -d 'include files of a tgrep type'
502
579
  complete -c forgeloop -f -n '__fish_seen_subcommand_from search' -l 'version' -d 'show the installed package version'
503
580
  complete -c forgeloop -f -n '__fish_seen_subcommand_from search' -l 'word-regexp' -d 'match whole words only'
581
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'decision' -d 'persisted Jev decision artifact ID'
582
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'help' -d 'show this help'
583
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'input' -d 'bounded failure, diagnosis, or review context'
584
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'json' -d 'emit semantic plan projection as JSON'
585
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'kind' -d 'bounded semantic planning projection'
586
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'path' -d 'target project directory (default: current directory)'
587
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
588
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from semantic-plan' -l 'version' -d 'show the installed package version'
504
589
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'contract-file' -d 'current JSON contract used for freshness comparison'
505
590
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'help' -d 'show this help'
506
591
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'json' -d 'emit structured output as JSON'
507
592
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'path' -d 'target project directory (default: current directory)'
508
593
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
509
594
  complete -c forgeloop -f -n '__fish_seen_subcommand_from status' -l 'version' -d 'show the installed package version'
595
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'acknowledge-abandonment' -d 'explicitly acknowledge abandonment of an active task (required; not completion authority)'
596
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'help' -d 'show this help'
597
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'json' -d 'emit structured abandonment output as JSON'
598
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'path' -d 'target project directory (default: current directory)'
599
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
600
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-abandon' -l 'version' -d 'show the installed package version'
510
601
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'claim' -d 'scoped file path or directory prefix claimed for mutation'
511
602
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'contract-file' -d 'path to initial contract file'
512
603
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'help' -d 'show this help'
513
604
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'json' -d 'emit structured output as JSON'
514
605
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'path' -d 'target project directory (default: current directory)'
606
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'preset' -d 'bounded contract preset: documentation, bug, feature, or release'
607
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'preview' -d 'preview the contract without creating lifecycle state'
515
608
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
516
609
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-create' -l 'version' -d 'show the installed package version'
610
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'active' -d 'only return healthy tasks with active ownership and a non-terminal phase'
517
611
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'help' -d 'show this help'
518
612
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'json' -d 'emit structured output as JSON'
613
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'limit' -d 'maximum tasks to return'
614
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'offset' -d 'number of sorted tasks to skip'
519
615
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'path' -d 'target project directory (default: current directory)'
616
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'phase' -d 'only return tasks in this lifecycle phase'
520
617
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-list' -l 'version' -d 'show the installed package version'
521
618
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-lock-status' -l 'help' -d 'show this help'
522
619
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-lock-status' -l 'json' -d 'emit structured output as JSON'
@@ -528,6 +625,12 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate' -l 'help'
528
625
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate' -l 'json' -d 'emit structured output as JSON'
529
626
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate' -l 'path' -d 'target project directory (default: current directory)'
530
627
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate' -l 'version' -d 'show the installed package version'
628
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'acknowledge-migration' -d 'fresh explicit caller acknowledgement of the exact legacy marker migration (required)'
629
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'help' -d 'show this help'
630
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'json' -d 'emit structured migration output as JSON'
631
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'path' -d 'target project directory (default: current directory)'
632
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
633
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-migrate-contract-bootstrap-repair' -l 'version' -d 'show the installed package version'
531
634
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'acknowledge-recovery' -d 'acknowledge release of claims for a STALE or ABANDONED task (required; not host attestation)'
532
635
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'help' -d 'show this help'
533
636
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'json' -d 'emit structured output as JSON'
@@ -535,6 +638,12 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'opera
535
638
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'path' -d 'target project directory (default: current directory)'
536
639
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
537
640
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-recover' -l 'version' -d 'show the installed package version'
641
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'acknowledge-repair' -d 'explicit caller acknowledgement of the exact append-only repair (required)'
642
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'help' -d 'show this help'
643
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'json' -d 'emit structured repair output as JSON'
644
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'path' -d 'target project directory (default: current directory)'
645
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
646
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-contract-bootstrap' -l 'version' -d 'show the installed package version'
538
647
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-legacy-recovery' -l 'acknowledge-recovery' -d 'fresh explicit acknowledgement of the legacy boundary migration (required)'
539
648
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-legacy-recovery' -l 'help' -d 'show this help'
540
649
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-repair-legacy-recovery' -l 'json' -d 'emit structured output as JSON'
@@ -566,6 +675,26 @@ complete -c forgeloop -f -n '__fish_seen_subcommand_from task-unlock' -l 'path'
566
675
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-unlock' -l 'stale-only' -d 'release only a lock whose lease is expired'
567
676
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-unlock' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
568
677
  complete -c forgeloop -f -n '__fish_seen_subcommand_from task-unlock' -l 'version' -d 'show the installed package version'
678
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-inventory' -l 'help' -d 'show this help'
679
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-inventory' -l 'json' -d 'emit deterministic test inventory as JSON'
680
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-inventory' -l 'path' -d 'target project directory (default: current directory)'
681
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-inventory' -l 'version' -d 'show the installed package version'
682
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-plan' -l 'help' -d 'show this help'
683
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-plan' -l 'json' -d 'emit test prune plan as JSON'
684
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-plan' -l 'path' -d 'target project directory (default: current directory)'
685
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-plan' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
686
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-plan' -l 'version' -d 'show the installed package version'
687
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'help' -d 'show this help'
688
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'json' -d 'emit test prune probe as JSON'
689
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'path' -d 'target project directory (default: current directory)'
690
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
691
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'test' -d 'stable test ID to probe in isolation'
692
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-prune-probe' -l 'version' -d 'show the installed package version'
693
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-utility' -l 'help' -d 'show this help'
694
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-utility' -l 'json' -d 'emit test utility analysis as JSON'
695
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-utility' -l 'path' -d 'target project directory (default: current directory)'
696
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-utility' -l 'task' -d 'task ID to operate on (when omitted, resolved from context or single active task)'
697
+ complete -c forgeloop -f -n '__fish_seen_subcommand_from test-utility' -l 'version' -d 'show the installed package version'
569
698
  complete -c forgeloop -f -n '__fish_seen_subcommand_from trace' -l 'help' -d 'show this help'
570
699
  complete -c forgeloop -f -n '__fish_seen_subcommand_from trace' -l 'json' -d 'emit structured trace output as JSON (default rendering is a summary)'
571
700
  complete -c forgeloop -f -n '__fish_seen_subcommand_from trace' -l 'path' -d 'target project directory (default: current directory)'
@@ -196,3 +196,28 @@ opt-in real-binary smoke test, and the retrieval benchmark. A real binary and
196
196
  its exact version must be qualified by the host; ForgeLoop does not install or
197
197
  discover Ripwire and does not treat an unavailable smoke test as proof of
198
198
  interoperability.
199
+
200
+ ## OpenSrc adapter
201
+
202
+ ForgeLoop includes an optional host-injected adapter for
203
+ [OpenSrc](https://github.com/vercel-labs/opensrc) external package and
204
+ repository source context. The adapter is deliberately outside the default
205
+ runtime: the host must provide an absolute executable path, an exact expected
206
+ version, a dedicated absolute cache root outside the project, and an explicit
207
+ source allowlist, then register the returned provider under the `opensrc` key
208
+ and invoke `recallAdvisoryContext` explicitly. Creating the provider performs
209
+ no discovery, network access, process start, cache write, or lifecycle write.
210
+
211
+ The adapter qualifies `<absolute-opensrc> --version` before every recall,
212
+ resolves each configured source once through `opensrc path <source> --cwd
213
+ <projectRoot>` with `shell: false` and `OPENSRC_HOME` set to the dedicated
214
+ cache root, canonicalizes every returned path inside that cache, and searches
215
+ resolved sources locally with bounded deterministic Node.js traversal (no
216
+ `rg`, embeddings, or network search). It never exposes absolute cache paths,
217
+ raw stderr, environment, or credentials, and source text stays inert bounded
218
+ context under the standard advisory trust projection.
219
+
220
+ See [OPENSRC_ADAPTER.md](OPENSRC_ADAPTER.md) for registration, limits, cache
221
+ and network behavior, tests, and troubleshooting. `opensrc path` may contact
222
+ registries or remotes and populate its own cache on miss; ForgeLoop persists
223
+ nothing and never auto-recalls.