@moretea-labs/forge 1.5.0-rc.1 → 1.5.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 (259) hide show
  1. package/AGENTS.md +9 -11
  2. package/CHANGELOG.md +19 -0
  3. package/CLAUDE.md +8 -10
  4. package/DESIGN.md +278 -0
  5. package/README.md +70 -90
  6. package/README.zh-CN.md +50 -55
  7. package/SKILL.md +8 -11
  8. package/THIRD_PARTY_NOTICES.md +9 -3
  9. package/assets/branding/README.md +4 -2
  10. package/assets/hooks/lib/workflow-state.sh +19 -18
  11. package/assets/hooks/post-edit-guard.sh +6 -75
  12. package/assets/hooks/prompt-guard.sh +24 -12
  13. package/assets/hooks/session-start-context.sh +17 -17
  14. package/assets/hooks/stop-orchestrator.sh +2 -2
  15. package/assets/partials/04-project-structure.partial.md +6 -6
  16. package/assets/partials/05-workflow.partial.md +6 -6
  17. package/assets/partials/07-footer.partial.md +1 -1
  18. package/assets/partials/08-orchestration.partial.md +2 -2
  19. package/assets/partials-agents/02-operating-mode.partial.md +5 -5
  20. package/assets/partials-agents/03-orchestration.partial.md +3 -3
  21. package/assets/partials-agents/04-task-protocol.partial.md +3 -3
  22. package/assets/partials-agents/08-deep-docs.partial.md +1 -1
  23. package/assets/reference-configs/agentic-development-flow.md +49 -86
  24. package/assets/reference-configs/external-tooling.md +21 -61
  25. package/assets/reference-configs/handoff-protocol.md +25 -20
  26. package/assets/reference-configs/harness-overview.md +8 -8
  27. package/assets/templates/helpers/archive-workflow.sh +0 -1
  28. package/assets/templates/helpers/capture-plan.sh +3 -3
  29. package/assets/templates/helpers/check-task-workflow.sh +2 -2
  30. package/assets/templates/helpers/codex-handoff-resume.sh +5 -5
  31. package/assets/templates/helpers/ensure-task-workflow.sh +37 -35
  32. package/assets/templates/helpers/new-plan.sh +1 -1
  33. package/assets/templates/helpers/plan-to-todo.sh +2 -2
  34. package/assets/templates/helpers/prepare-codex-handoff.sh +2 -2
  35. package/assets/templates/helpers/prepare-handoff.sh +9 -9
  36. package/assets/templates/helpers/refresh-current-status.sh +2 -2
  37. package/assets/templates/helpers/ship-worktrees.sh +1 -1
  38. package/assets/templates/helpers/sprint-backlog.sh +1 -1
  39. package/assets/templates/helpers/verify-sprint.sh +7 -7
  40. package/assets/templates/helpers/workstream-sync.sh +1 -1
  41. package/assets/templates/plan.template.md +1 -1
  42. package/assets/workflow-contract.v1.json +6 -3
  43. package/docs/architecture/current/README.md +10 -9
  44. package/docs/architecture/current/approved-target-architecture.zh-CN.md +2 -2
  45. package/docs/architecture/current/architecture-invariants.md +2 -2
  46. package/docs/architecture/current/automation-and-schedule-engine.md +15 -15
  47. package/docs/architecture/current/codegraph-context-provider.md +2 -2
  48. package/docs/architecture/current/control-plane-authority-inventory.md +12 -0
  49. package/docs/architecture/current/dispatch-and-agent-strategy.md +11 -11
  50. package/docs/architecture/current/entity-model.md +0 -27
  51. package/docs/architecture/current/failure-recovery.md +0 -24
  52. package/docs/architecture/current/governance.md +1 -1
  53. package/docs/architecture/current/implementation-status.md +1 -1
  54. package/docs/architecture/current/legacy-governance.md +58 -0
  55. package/docs/architecture/current/multi-repository-execution.md +1 -1
  56. package/docs/architecture/current/peer-supercontroller-runtime.md +1 -1
  57. package/docs/architecture/current/personal-assistant-plugin-baseline.md +4 -5
  58. package/docs/architecture/current/scheduler-and-resource-claims.md +0 -10
  59. package/docs/architecture/current/target-requirements-traceability.md +2 -2
  60. package/docs/architecture/current/thin-harness-governance-policy.md +1 -1
  61. package/docs/architecture/current/thin-harness-v1.md +9 -11
  62. package/docs/architecture/domains/runtime-harness.md +1 -1
  63. package/docs/forge-autonomous-goal-loop.md +3 -1
  64. package/docs/forge-chatgpt-mcp-setup.md +51 -184
  65. package/docs/images/forge-banner-cn.svg +26 -1
  66. package/docs/images/forge-banner.svg +26 -1
  67. package/docs/operations/features.md +1 -1
  68. package/docs/operations/homebrew.md +3 -3
  69. package/docs/operations/mcp-tool-exposure.md +5 -5
  70. package/docs/operations/platform-support.md +45 -37
  71. package/docs/operations/platform-support.zh-CN.md +40 -38
  72. package/docs/operations/releasing.md +3 -3
  73. package/docs/operations/releasing.zh-CN.md +3 -3
  74. package/docs/operations/troubleshooting.md +11 -6
  75. package/docs/operations/troubleshooting.zh-CN.md +11 -6
  76. package/docs/public-usage-guide.md +28 -21
  77. package/docs/public-usage-guide.zh-CN.md +28 -21
  78. package/docs/tutorials/01-install-and-start.md +56 -35
  79. package/docs/tutorials/01-install-and-start.zh-CN.md +56 -35
  80. package/docs/tutorials/02-connect-chatgpt.md +112 -46
  81. package/docs/tutorials/02-connect-chatgpt.zh-CN.md +113 -45
  82. package/docs/wiki/Architecture.md +1 -1
  83. package/docs/wiki/Installation.md +2 -2
  84. package/docs/wiki/Quick-Start.md +1 -1
  85. package/docs/wiki/Work-Lifecycle.md +1 -1
  86. package/install.ps1 +4 -5
  87. package/install.sh +4 -6
  88. package/package.json +15 -5
  89. package/scripts/archive-workflow.sh +0 -1
  90. package/scripts/benchmark-thin-harness-mcp-e2e.ts +27 -14
  91. package/scripts/build-controller-ui.ts +28 -0
  92. package/scripts/capture-plan.sh +4 -4
  93. package/scripts/check-agent-tooling.sh +12 -1
  94. package/scripts/check-platform-support.mjs +2 -2
  95. package/scripts/check-public-docs.sh +16 -5
  96. package/scripts/check-release-readiness.sh +5 -11
  97. package/scripts/check-runtime-architecture.mjs +14 -22
  98. package/scripts/check-tarball-install-smoke.sh +3 -2
  99. package/scripts/check-task-workflow.sh +2 -2
  100. package/scripts/codex-handoff-resume.sh +5 -5
  101. package/scripts/create-project-dirs.sh +3 -3
  102. package/scripts/ensure-task-workflow.sh +45 -35
  103. package/scripts/init-project.sh +4 -4
  104. package/scripts/install-desktop-operator-registration.ts +2 -2
  105. package/scripts/lib/project-init-lib.sh +46 -44
  106. package/scripts/migrate-project-template.sh +7 -4
  107. package/scripts/new-plan.sh +1 -1
  108. package/scripts/plan-to-todo.sh +2 -2
  109. package/scripts/prepare-codex-handoff.sh +2 -2
  110. package/scripts/prepare-handoff.sh +9 -9
  111. package/scripts/refresh-current-status.sh +2 -2
  112. package/scripts/setup-plugins.sh +3 -3
  113. package/scripts/ship-worktrees.sh +1 -1
  114. package/scripts/sprint-backlog.sh +5 -5
  115. package/scripts/sync-codex-installed-copies.sh +2 -3
  116. package/scripts/verify-sprint.sh +7 -7
  117. package/scripts/workstream-sync.sh +1 -1
  118. package/src/cli/chatgpt-browser/bridge-extension.ts +1 -1
  119. package/src/cli/chatgpt-browser/bridge-provider.ts +29 -0
  120. package/src/cli/chatgpt-browser/file-policy.ts +3 -1
  121. package/src/cli/commands/chatgpt.ts +51 -0
  122. package/src/cli/commands/doctor.ts +1 -1
  123. package/src/cli/commands/init-hook.ts +211 -70
  124. package/src/cli/commands/init.ts +5 -6
  125. package/src/cli/commands/mcp.ts +29 -5
  126. package/src/cli/commands/runtime.ts +60 -8
  127. package/src/cli/commands/setup-profile.ts +441 -0
  128. package/src/cli/controller/check-runner.ts +20 -3
  129. package/src/cli/controller/codex-continuation.ts +4 -7
  130. package/src/cli/controller/context-pack.ts +118 -14
  131. package/src/cli/controller/operational-plan.ts +4 -4
  132. package/src/cli/controller/task-ledger.ts +10 -10
  133. package/src/cli/controller/work-mode.ts +6 -13
  134. package/src/cli/index.ts +14 -35
  135. package/src/cli/local-bridge/connector-freshness.ts +1 -1
  136. package/src/cli/local-bridge/console-automations.ts +160 -0
  137. package/src/cli/local-bridge/dashboard.ts +8 -1303
  138. package/src/cli/local-bridge/facade-api.ts +16 -7
  139. package/src/cli/local-bridge/frontend/src/App.tsx +10 -0
  140. package/src/cli/local-bridge/frontend/src/components/Button.tsx +1 -0
  141. package/src/cli/local-bridge/frontend/src/components/DetailPane.tsx +3 -0
  142. package/src/cli/local-bridge/frontend/src/components/SearchField.tsx +1 -0
  143. package/src/cli/local-bridge/frontend/src/components/SectionHeader.tsx +1 -0
  144. package/src/cli/local-bridge/frontend/src/components/Segmented.tsx +1 -0
  145. package/src/cli/local-bridge/frontend/src/components/StatusText.tsx +3 -0
  146. package/src/cli/local-bridge/frontend/src/design/icons.tsx +11 -0
  147. package/src/cli/local-bridge/frontend/src/design/tokens.css +8 -0
  148. package/src/cli/local-bridge/frontend/src/features/automations/AutomationsView.tsx +3 -0
  149. package/src/cli/local-bridge/frontend/src/features/capabilities/CapabilitiesView.tsx +4 -0
  150. package/src/cli/local-bridge/frontend/src/features/overview/OverviewView.tsx +3 -0
  151. package/src/cli/local-bridge/frontend/src/features/repositories/RepositoriesView.tsx +2 -0
  152. package/src/cli/local-bridge/frontend/src/features/settings/SettingsView.tsx +2 -0
  153. package/src/cli/local-bridge/frontend/src/features/system/SystemView.tsx +2 -0
  154. package/src/cli/local-bridge/frontend/src/features/work/WorkView.tsx +3 -0
  155. package/src/cli/local-bridge/frontend/src/lib/api.ts +23 -0
  156. package/src/cli/local-bridge/frontend/src/lib/format.ts +4 -0
  157. package/src/cli/local-bridge/frontend/src/lib/routes.ts +7 -0
  158. package/src/cli/local-bridge/frontend/src/main.tsx +1 -0
  159. package/src/cli/local-bridge/frontend/src/shell/AppShell.tsx +1 -0
  160. package/src/cli/local-bridge/frontend/src/shell/CommandBar.tsx +2 -0
  161. package/src/cli/local-bridge/frontend/src/shell/Sidebar.tsx +3 -0
  162. package/src/cli/local-bridge/frontend/src/styles.css +12 -0
  163. package/src/cli/local-bridge/frontend/src/types.ts +14 -0
  164. package/src/cli/local-bridge/frontend/src/vite-env.d.ts +1 -0
  165. package/src/cli/local-bridge/frontend/vite.config.ts +27 -0
  166. package/src/cli/local-bridge/server.ts +44 -0
  167. package/src/cli/local-bridge/ui-dist/app.css +1 -0
  168. package/src/cli/local-bridge/ui-dist/app.js +11094 -0
  169. package/src/cli/mcp/instructions.ts +3 -3
  170. package/src/cli/mcp/legacy-tool-service.ts +27 -23
  171. package/src/cli/mcp/multi-repository.ts +2 -0
  172. package/src/cli/mcp/policy.ts +7 -5
  173. package/src/cli/mcp/repository-tools.ts +53 -14
  174. package/src/cli/mcp/server.ts +5 -10
  175. package/src/cli/mcp/setup.ts +211 -275
  176. package/src/cli/mcp/tool-capability-cache.ts +1 -1
  177. package/src/cli/mcp/toolset-names.ts +1 -1
  178. package/src/cli/mcp/toolset.ts +0 -1
  179. package/src/cli/mcp/transports/http.ts +24 -4
  180. package/src/cli/repositories/branch-name-policy.ts +0 -7
  181. package/src/cli/repositories/controller-home.ts +110 -3
  182. package/src/cli/repositories/safe-patch.ts +1 -1
  183. package/src/cli/repositories/selected-path-actions.ts +26 -24
  184. package/src/core/adoption/gitignore-plan.ts +2 -3
  185. package/src/core/adoption/plan.ts +4 -1
  186. package/src/runtime/control-plane/execution/edit-validation-coordinator.ts +556 -0
  187. package/src/runtime/control-plane/execution/work-handle-store.ts +128 -1
  188. package/src/runtime/control-plane/execution/work-validation-reconciler.ts +277 -0
  189. package/src/runtime/control-plane/execution/work-verification-snapshot.ts +169 -0
  190. package/src/runtime/control-plane/facade/capability-registry.ts +0 -10
  191. package/src/runtime/control-plane/facade/handoff-inbox-store.ts +44 -25
  192. package/src/runtime/control-plane/facade/suggested-actions.ts +7 -1
  193. package/src/runtime/control-plane/facade/types.ts +0 -1
  194. package/src/runtime/control-plane/global-scheduler/scheduler.ts +30 -8
  195. package/src/runtime/control-plane/launcher/chatgpt-work-binding-store.ts +114 -0
  196. package/src/runtime/control-plane/launcher/chatgpt-work-continuation.ts +175 -0
  197. package/src/runtime/control-plane/launcher/launch-reservation-store.ts +161 -0
  198. package/src/runtime/control-plane/launcher/provider-mcp-bootstrap.ts +64 -0
  199. package/src/runtime/control-plane/launcher/thin-launcher.ts +117 -24
  200. package/src/runtime/control-plane/routing/route-policy.ts +14 -14
  201. package/src/runtime/control-plane/runtime-cleanup.ts +0 -1
  202. package/src/runtime/evidence/event-ledger.ts +1 -1
  203. package/src/runtime/{workflow/campaigns/workspace.ts → execution/managed-workspace.ts} +41 -43
  204. package/src/runtime/execution/process-runtime/check-facade.ts +6 -0
  205. package/src/runtime/execution/process-runtime/check-result.ts +45 -0
  206. package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +42 -16
  207. package/src/runtime/execution/process-runtime/command-facade.ts +4 -2
  208. package/src/runtime/execution/process-runtime/gc.ts +1 -1
  209. package/src/runtime/execution/process-runtime/index.ts +3 -0
  210. package/src/runtime/execution/process-runtime/interactive-admission.ts +14 -5
  211. package/src/runtime/execution/process-runtime/persisted-check.ts +285 -0
  212. package/src/runtime/execution/process-runtime/resource-claims.ts +30 -0
  213. package/src/runtime/execution/process-runtime/runtime.ts +18 -1
  214. package/src/runtime/execution/process-runtime/store.ts +1 -19
  215. package/src/runtime/execution/process-runtime/types.ts +4 -0
  216. package/src/runtime/execution/thin-harness/execution-router.ts +0 -1
  217. package/src/runtime/execution/thin-harness/fast-executor.ts +1 -1
  218. package/src/runtime/execution/thin-harness/lightweight-lanes.ts +1 -2
  219. package/src/runtime/execution/thin-harness/types.ts +0 -1
  220. package/src/runtime/execution/workers/executor.ts +1 -1
  221. package/src/runtime/gateway/mcp/execution-tools.ts +1 -1
  222. package/src/runtime/gateway/mcp/persisted-check-process.ts +3 -255
  223. package/src/runtime/gateway/mcp/process-tools.ts +16 -3
  224. package/src/runtime/gateway/mcp/resource-policy.ts +0 -9
  225. package/src/runtime/gateway/mcp/router.ts +117 -182
  226. package/src/runtime/gateway/mcp/runtime-tools.ts +331 -409
  227. package/src/runtime/gateway/mcp/work-validation-reconciler.ts +1 -219
  228. package/src/runtime/plugins/browser-adapter.ts +5 -0
  229. package/src/runtime/plugins/desktop-operator-registration.ts +1 -1
  230. package/src/runtime/plugins/store.ts +14 -6
  231. package/src/runtime/plugins/types.ts +1 -1
  232. package/src/runtime/projections/materialized-view.ts +1 -23
  233. package/src/runtime/recovery/maintenance-executor.ts +9 -0
  234. package/src/runtime/resources/ownership.ts +0 -1
  235. package/src/runtime/root/gateway-adapter.ts +2 -0
  236. package/src/runtime/root/mcp-transport.ts +10 -2
  237. package/src/runtime/root/package-runtime-release.ts +161 -0
  238. package/src/runtime/root/package-runtime-service.ts +172 -0
  239. package/src/runtime/root/runtime.ts +2 -1
  240. package/src/runtime/root/scheduler.ts +5 -0
  241. package/src/runtime/root/service.ts +18 -5
  242. package/src/runtime/standalone-recovery/core.ts +65 -16
  243. package/src/runtime/workflow/findings/store.ts +145 -106
  244. package/src/runtime/workflow/findings/types.ts +22 -0
  245. package/src/runtime/workflow/schedules/engine.ts +132 -2
  246. package/src/runtime/workflow/schedules/pending-activation.ts +139 -0
  247. package/src/runtime/workflow/schedules/work-continuation.ts +218 -0
  248. package/docs/CHANGELOG.md +0 -978
  249. package/docs/README.zh-CN.md +0 -58
  250. package/scripts/smoke-chatgpt-supervised-automation.ts +0 -208
  251. package/src/cli/commands/controller.ts +0 -680
  252. package/src/runtime/workflow/campaigns/cleanup.ts +0 -263
  253. package/src/runtime/workflow/campaigns/engine.ts +0 -112
  254. package/src/runtime/workflow/campaigns/normalize.ts +0 -100
  255. package/src/runtime/workflow/campaigns/review.ts +0 -315
  256. package/src/runtime/workflow/campaigns/store.ts +0 -526
  257. package/src/runtime/workflow/campaigns/supervisor.ts +0 -112
  258. package/src/runtime/workflow/campaigns/types.ts +0 -290
  259. /package/src/runtime/{workflow/campaigns → execution}/workspace-agent.ts +0 -0
package/docs/CHANGELOG.md DELETED
@@ -1,978 +0,0 @@
1
- # Changelog
2
-
3
- ## 1.4.0 — Unified Forge Runtime
4
-
5
- - Made Direct Edit a multi-revision transaction with savepoints and partial rollback.
6
- - Removed ordinary local risk approval gates and the new-work approval queue.
7
- - Made Task Agent assignment optional and selected executors at Run time.
8
- - Reorganized the Local Controller into Overview, Work, Activity, and Settings.
9
- - Added V7 state migration and V8 compatibility tests.
10
-
11
- All notable changes to this skill are documented here.
12
-
13
- ## [Unreleased]
14
-
15
- ### Fixed
16
-
17
- - Isolated Controller Runtime Source Identity from execution repositories. MCP `rh_status`, CLI controller status, and Local Bridge access state now compare startup runtime source against the package/source authority instead of the selected business repository, eliminating false `RUNTIME_SOURCE_SNAPSHOT_STALE` when switching multi-repo sessions. Missing runtime snapshots remain fail-closed with structured reasons.
18
-
19
- ### Performance
20
-
21
- - Removed the independent Controller Daemon auto-start API; compatibility status reads now project the single Canonical Runtime owner/readiness without spawning a process.
22
- - Cached full-table process scans (~2.5s), git snapshots (~3s), and runtime source identity collection (~2.5s) so status/readiness storms do not re-run the same host/git work every request.
23
-
24
- ## [1.3.0] - 2026-06-22
25
-
26
- ### Added
27
-
28
- - Added a shared Task-local execution policy for launch, verification, approval, automatic continuation, and completion.
29
- - Added read-only and destructive risk classes, ephemeral Quick Agent Issues, startup-deadlock detection, reported command evidence, compact snapshots, and explicit Connector surface drift metadata.
30
- - Added regression coverage for Task-local readiness, no-check launch, dynamic risk gates, dependency migration, ephemeral cleanup, startup timeout, concurrent scope conflicts, repository glob semantics, and dynamic progress.
31
-
32
- ### Changed
33
-
34
- - Issue readiness is now an aggregate view; unrelated blocked Tasks, multiple active Issues, and current focus no longer block independent execution.
35
- - Named checks are completion evidence instead of a universal launch prerequisite. Validation and human approval are dynamically reduced for read-only and low-risk work and strengthened only for high-risk/destructive work.
36
- - Successful Runs continue automatically through applicable checks and completion, while real check failures remain authoritative.
37
- - Quick Agent sessions are ephemeral by default and no longer pollute the durable Issue board.
38
- - Job/Run terminal status, `finishedAt`, dependency state, repository search/read policy, progress calculation, log bounds, and `project_snapshot` size are reconciled.
39
- - Versioned the Controller surface as `controller-execution-first-v7`, schema `9`, surface version `7`, and package line as `1.3.0`.
40
-
41
- ## [1.2.0] - 2026-06-21
42
-
43
- ### Added
44
-
45
- - Added request-mode assessment that routes work to `direct_edit`, `quick_agent`, or `issue_task` before creating durable Issues.
46
- - Added first-class direct-edit session listing, persisted unified patches, real named-check verification, reviewer evidence, and finalization/rollback lifecycle.
47
- - Added a primary File Changes view and local APIs for reading edit details and patches, running verification, finalizing, and rolling back.
48
- - Added CLI and MCP surfaces for work assessment, edit-session history, patch inspection, verification, finalization, and rollback.
49
- - Added full-file SHA-256 to `read_repository_file`, including ranged reads, so bounded replacements can enforce stale-write preconditions.
50
-
51
- ### Changed
52
-
53
- - Small known code, configuration, and documentation changes now default to direct edits instead of Issue creation.
54
- - `create_issue` is documented and instructed as the complex-work path for investigation, dependencies, broad scope, parallelism, long checks, or high risk.
55
- - Direct edits now require persisted patch evidence and verification before finalization; failed verification can be rerun or rolled back without losing history.
56
- - Unified worklog and Controller snapshots now include edit-session events and summaries alongside Issue/Task/Run evidence.
57
- - Versioned the Controller fingerprint as `controller-direct-change-v6`, the default Connector identity as `forge-controller-v6`, the Controller schema as `8`, and the package/template line as `1.2.0`.
58
-
59
- ## [1.1.0] - 2026-06-21
60
-
61
- ### Added
62
-
63
- - Added a single current execution Issue and project-state policy (`open`, `focus_only`, or `paused`) so project-wide execution no longer mixes unrelated active Issues.
64
- - Added Issue-creation guardrails for duplicate titles, active-focus proliferation, explicit policy overrides, and automatic first-Issue focus.
65
- - Added project governance diagnostics and safe reconciliation for dead dependencies, stale superseded dependencies, retryable failed attempts, review/acceptance backlog, closeout drift, and archiving drift.
66
- - Added evidence-gate progress based on implementation, integration, named checks, acceptance criteria, and explicit human acceptance.
67
- - Added direct Controller actions to launch ready work, retry failed attempts, run declared named checks with explicit criterion confirmation, accept verified Tasks, request changes, cancel Tasks, repair dependencies, and archive/restore terminal Issues.
68
- - Added current-work versus archived-history separation while retaining the full Task, Run, Verification, GitHub, and worklog evidence chain.
69
-
70
- ### Changed
71
-
72
- - Failed, unknown, or cancelled Runs now remain attempt history while the Task returns to a retryable state unless a real dependency or human decision blocks it.
73
- - Project-wide ready-task dispatch now requires an explicit or current Issue and no longer traverses every active Issue by default.
74
- - Readiness scoring can no longer report 100 when no Task is dispatchable.
75
- - `projectBoard.readyTasks` is scoped to the current execution Issue; archived Task counts are separated.
76
- - Versioned the Controller fingerprint as `controller-execution-closure-v5`, the default Connector identity as `forge-controller-v5`, the Controller schema as `7`, and the package/template line as `1.1.0`.
77
-
78
- ## [1.0.0] - 2026-06-21
79
-
80
- ### Added
81
-
82
- - Added a project progress ledger that aggregates Issue, Task, Run, approval, verification, and GitHub synchronization state into one effective progress model.
83
- - Added durable controller worklog events under `.ai/harness/controller/worklog.jsonl`, unified Task timelines, evidence inspection, and Markdown/JSON export under `tasks/reports/`.
84
- - Added a V4 localhost control center with progress, Task detail, Run monitoring, worklog, approval, checks, and optional GitHub plugin views.
85
- - Added SSE dashboard refresh with polling fallback.
86
- - Added optional GitHub Issue/Project plugin configuration. Local controller files remain authoritative and synchronization is explicit.
87
- - Added MCP and CLI surfaces for project progress, Task detail, timeline inspection, worklog export, and GitHub plugin configuration.
88
-
89
- ### Changed
90
-
91
- - Versioned the Controller fingerprint as `controller-progress-ledger-v4`, the default Connector identity as `forge-controller-v4`, the controller schema as `6`, and the package line as `1.0.0`.
92
- - Task progress now uses effective status derived from durable Task state plus the latest associated Run, preventing stale Task labels from hiding active or failed execution.
93
- - GitHub integration is disabled by default and exposed as a plugin so local execution and evidence remain usable without GitHub.
94
-
95
-
96
- ## [0.9.0] - 2026-06-20
97
-
98
- ### Added
99
-
100
- - Added a redesigned localhost task workstation with overview, Task board, live Run monitoring, approvals, checks, activity timeline, console, diff, heartbeat, timing, and integration state.
101
- - Added structured Codex/Claude activity parsing so raw output is translated into inspecting, editing, testing, finalizing, waiting, completed, and failed phases.
102
- - Added automatic execution placement: the first local Task runs directly in the current workspace and concurrent Tasks receive isolated worktrees.
103
- - Added automatic post-success integration and cleanup for isolated worktree Runs, while preserving archived diff evidence and retaining conflicted worktrees for manual review.
104
-
105
- ### Changed
106
-
107
- - Made omitted `isolate` mean automatic placement instead of forced worktree isolation. Explicit `false` now refuses to start when another local Run is active.
108
- - Kept Verification Gate mandatory after direct changes or automatic integration; worktree usage is now an execution-safety detail rather than an extra normal user step.
109
- - Versioned the Controller fingerprint as `controller-live-workspace-v3`, the default Connector identity as `forge-controller-v3`, and the package line as `0.9.0`.
110
-
111
- ## [0.8.0] - 2026-06-20
112
-
113
- ### Added
114
-
115
- - Added GitHub Issue/Project publication for controller Issues, including optional Task sub-issues and explicit remote links stored in local durable state.
116
- - Added GitHub Copilot coding-agent cloud Sessions as a visible Task execution provider alongside local Codex and Claude Runs.
117
- - Added Issue Launcher readiness previews, dynamic Task append/split/supersede/dependency operations, structured Run events/logs, and a mandatory Verification Gate.
118
- - Added `forge controller board|runs|watch|github-status` for local visibility into task execution and GitHub integration readiness.
119
- - Added live local Codex/Claude log streaming and `controller_capabilities` tool-surface diagnostics for stale ChatGPT Connector detection.
120
- - Added a localhost-only visual controller for Issue/Task boards, Local Job approvals, live Run logs/events, named checks, cancellation, and retry.
121
- - Added explicit Run timeout metadata, deadline progress, 30-second heartbeat events, process-group termination, and persisted retry history.
122
-
123
- ### Changed
124
-
125
- - Made `controller` the documented default ChatGPT MCP workflow and retained planner/orchestrator as compatibility profiles.
126
- - Raised the default local Agent timeout from 120 seconds to 60 minutes, added a 12-hour configurable ceiling, and reject invalid values instead of silently downgrading them.
127
- - Versioned the default ChatGPT Connector identity as `forge-controller-v2` and added runtime fingerprints to detect stale tool snapshots or wrong processes on the MCP port.
128
- - Task acceptance now requires recorded named-check and criterion-level evidence; isolated local Runs must also be integrated first.
129
-
130
- ## [0.7.2] - 2026-06-19
131
-
132
- ### Added
133
-
134
- - Added ChatGPT native browser product-session binding for user-selected Chrome
135
- profiles, with printed bind-page URLs, Chrome profile-directory support,
136
- doctor session validation, and fail-closed native consults when no ChatGPT
137
- profile is bound.
138
- - Added Oracle browser-provider heartbeat support. GPT Pro / ChatGPT browser
139
- consults now pass `--heartbeat`, defaulting to 59 seconds, so long-running GPT
140
- analysis stays observable through Cloudflare and local process boundaries.
141
-
142
- ### Fixed
143
-
144
- - Corrected gbrain remediation guidance to install the official GitHub GBrain
145
- CLI instead of the unrelated npm registry `gbrain` package.
146
- - Fail closed when native ChatGPT browser setup targets the default Chrome data
147
- directory, because Chrome 136+ blocks remote debugging there; doctor now
148
- reports `blocked_default_profile` instead of opening Chrome and timing out.
149
- - Removed the static `file://` ChatGPT bind page path. Product-session binding
150
- now goes through `forge chatgpt browser-bind`, whose **Bind ChatGPT**
151
- action calls a local authorization endpoint instead of linking directly to
152
- ChatGPT.
153
- - Added the ChatGPT bridge provider for existing signed-in Chrome profiles. It
154
- generates a product-scoped unpacked extension for ChatGPT domains plus
155
- localhost, validates composer readiness through extension heartbeat, and
156
- supports `browser-consult --provider bridge` without copying cookies or
157
- browser storage.
158
- - Hardened ChatGPT bridge authorization diagnostics for unpacked extensions
159
- recorded in Chrome `Secure Preferences`, and isolated bridge-provider tests
160
- from user-installed extensions polling the default local port.
161
- - Excluded `gbrain` from setup readiness dependencies: missing or stale gbrain
162
- stays visible as advisory tooling state without creating Agent actions.
163
- - Kept ChatGPT MCP stable endpoints out of tracked generated guides, storing
164
- real Connector URLs only in ignored local config while public docs remain
165
- placeholder-only.
166
- - Preserved existing ChatGPT MCP endpoint, auth, transport, profile, and dev-mode
167
- settings when rerunning `forge mcp setup chatgpt --server-name`.
168
- - Made `forge mcp doctor --profile chatgpt` report whether the ChatGPT
169
- server name is actually configured instead of masking missing local state with
170
- the default `forge` name.
171
- - Made Oracle doctor repair actions source-aware, so explicit `--oracle-bin`,
172
- `REPO_HARNESS_ORACLE_BIN`, and repo-local Oracle installs get actionable repair
173
- guidance instead of a generic global install suggestion.
174
- - Limited SessionStart tooling update advisories to one render per cached
175
- report, so weekly Waza/CodeGraph update checks do not re-inject stale
176
- update instructions on every new agent turn.
177
-
178
- ### Release Notes
179
-
180
- - Prepared the `forge@0.7.2` patch line for npm publish, registry
181
- readback, clean-room install smoke, Git tag, and GitHub release creation.
182
-
183
- ## [0.7.1] - 2026-06-18
184
-
185
- ### Added
186
-
187
- - Added `forge-gptpro-setup` / `forge:gptpro_setup` to guide
188
- local `gptpro_browser` browser/session setup and `gptpro_mcp` ChatGPT
189
- Connector MCP setup without treating ChatGPT Pro as API quota.
190
- - Added `forge-gptpro` / `forge:gptpro` as the local consult
191
- skill for GPT Pro browser-session assistance, using `gptpro
192
- consult/read/continue/open` language over the existing ChatGPT Web browser
193
- session engine.
194
-
195
- ### Fixed
196
-
197
- - Preserved `.ai/harness/checks/latest.json` for authoritative
198
- `forge-run-trace.v1` evidence by writing PostBash advisory metadata to
199
- `.ai/harness/checks/post-bash-latest.json`.
200
-
201
- ### Release Notes
202
-
203
- - Prepared the `forge@0.7.1` patch line for npm publish, registry
204
- readback, clean-room `npx` smoke, Git tag, and GitHub release creation.
205
-
206
- ## [0.7.0] - 2026-06-18
207
-
208
- ### Added
209
-
210
- - Added `forge chatgpt browser-*`, a policy-checked ChatGPT Web browser
211
- session engine with dry-run prompt assembly, repo-local session records,
212
- linked follow-ups, output copying, session read/list/open, and dry-run-first
213
- cleanup.
214
- - Added optional MCP ChatGPT browser tools behind
215
- `forge mcp serve --enable-chatgpt-browser`, keeping browser consults
216
- out of the default MCP surface.
217
- - Added an Oracle provider wrapper for `oracle --engine browser` and a native
218
- installed-Google-Chrome CDP provider spike for logged-in ChatGPT Web sessions.
219
- - Added a bundled `forge-chatgpt-browser` skill and user guide at
220
- `docs/forge-chatgpt-browser-engine.md`.
221
- - Added a hosted GitHub CI gate for pull requests and pushes to `main` /
222
- `codex/**`.
223
- - Added the Harness Engineering Optimization sprint closeout surface, including
224
- task profiles, Human Review Card enforcement, trace/eval evidence grading,
225
- handoff UX, delegation contract roles, and compressed spec/onboarding paths.
226
- - Added `forge uninstall` to remove forge managed Codex/Claude
227
- hook adapters while preserving sibling user hooks and Codex trust-state
228
- residue.
229
- - Added fs-transaction manifests for `forge adopt --experimental-ts-apply`
230
- and `forge adopt rollback --transaction <manifest>` so the safe
231
- TypeScript applicator has an executable recovery path.
232
- - Added `scripts/check-release-published.sh` for post-publish npm registry,
233
- dist-tag, tarball integrity, Git tag, and local version readback.
234
- - Added `scripts/check-tarball-install-smoke.sh` and wired it into the CI gate
235
- so release checks install the packed tarball in a temporary project and start
236
- the packaged `forge` and `forge-hook` bins.
237
-
238
- ### Changed
239
-
240
- - Made `forge install` the primary first-run global runtime bootstrap
241
- command, while preserving `forge init` as a compatibility alias and
242
- keeping `forge install --target <host> --location <scope>` as the
243
- adapter-only path.
244
-
245
- ### Fixed
246
-
247
- - Made generated ChatGPT Connector `/goal` prompts and `forge-goal`
248
- reporting guidance language-neutral, so installed skills and MCP goal handoff
249
- output follow the user's language or repo-local instructions instead of
250
- hard-coding Chinese prompt lines.
251
- - Made non-standard `forge adopt --mode minimal|self-host` fail closed
252
- unless it routes to ordinary TypeScript `--dry-run` or
253
- `--experimental-ts-apply`,
254
- avoiding a mismatch where dry-run showed a TypeScript mode plan but apply
255
- still used the standard shell migrator.
256
- - Made minimal TypeScript adoption install
257
- `.ai/harness/workflow-contract.json`, preserving the hook opt-in marker for
258
- all adoption modes.
259
- - Normalized protocol v1 JSON error output for adoption target validation
260
- failures.
261
- - Added safe-applicator preflight inside `applyAdoptionPlan()` so exported
262
- callers cannot partially write a plan before encountering an unsupported
263
- operation.
264
- - Preserved CRLF `.gitignore` managed blocks without duplicate insertion and
265
- added planned/skipped/failed summary counts to adoption plan output.
266
- - Added a bounded CLI process runner for init/adopt/global-runtime, CodeGraph
267
- setup, and `forge run` helper dispatch, with default timeout, output
268
- cap, and common secret redaction.
269
-
270
- ### Release Notes
271
-
272
- - Prepared the `forge@0.7.0` minor release line for npm publish,
273
- registry readback, clean-room `npx` smoke, Git tag, and GitHub release
274
- creation.
275
-
276
- ## [0.6.0] - 2026-06-16
277
-
278
- ### Added
279
-
280
- - Added the Transactional Adoption Planner foundation for
281
- `forge adopt --dry-run --json`, including protocol v1 operation plans,
282
- redacted JSON rendering, fixture-backed planner tests, and a safe applicator
283
- subset for `mkdir`, `writeFile ifMissing`, and managed `.gitignore` blocks.
284
- - Added workflow-contract manifest planning to the TypeScript adoption plan so
285
- `standard` and `self-host` dry-run JSON now report installation of
286
- `.ai/harness/workflow-contract.json` from the canonical tracked asset.
287
- - Added workflow-contract-backed adoption templates for `docs/spec.md` and
288
- `tasks/current.md`, keeping their `writeFile ifMissing` planner behavior while
289
- moving the file body and reason out of `plan.ts`.
290
- - Added standard-mode helper wrapper planning to the TypeScript adoption plan so
291
- downstream dry-run JSON reports generated `scripts/<helper>` compatibility
292
- wrappers from the workflow contract helper manifest.
293
- - Added an atomic safe-applicator writer with target locks, temp-file fsync,
294
- parent-directory fsync, and backup metadata for existing targets.
295
- - Routed human-readable `forge adopt --dry-run` output through the
296
- TypeScript adoption planner text renderer, matching the JSON dry-run source of
297
- truth without writing repo files.
298
- - Added `forge adopt --experimental-ts-apply` as an opt-in TypeScript
299
- safe-applicator path, with preflight rejection for plans containing
300
- unsupported operations.
301
- - Added rollback metadata to adoption operation plans so dry-run JSON and
302
- experimental apply reports expose the planned recovery strategy per operation.
303
- - Added workflow-contract install support to the experimental TypeScript
304
- adoption applicator, including atomic replacement backups for stale manifests.
305
- - Added workflow-contract-backed adoption templates for `tasks/todos.md` and
306
- `tasks/lessons.md`, completing manifest ownership of the initial bootstrap
307
- ledger file bodies.
308
-
309
- ### Release Notes
310
-
311
- - Prepared the `forge@0.6.0` minor release line for npm publish,
312
- registry readback, clean-room `npx` smoke, Git tag, and GitHub release
313
- creation.
314
-
315
- ## [0.5.3] - 2026-06-15
316
-
317
- ### Fixed
318
-
319
- - Fixed `forge update --version <version>` so the update subcommand can
320
- install an explicit `forge@<version>` package. The top-level
321
- `forge --version` / `forge -V` shortcut still prints the CLI
322
- version, but it no longer intercepts the update command's package-version
323
- option.
324
-
325
- ### Release Notes
326
-
327
- - Prepared the `forge@0.5.3` patch line for npm publish, registry
328
- readback, clean-room `npx` smoke, Git tag, and GitHub release creation.
329
-
330
- ## [0.5.2] - 2026-06-15
331
-
332
- ### Added
333
-
334
- - Added a weekly timestamp cache for SessionStart tooling-update advisories so
335
- Waza and CodeGraph update checks run at most once per week by default unless
336
- `REPO_HARNESS_TOOLING_ADVISORY_TTL_SECONDS` overrides the TTL.
337
- - Added reviewed security exceptions to `forge security scan` so
338
- user-level warning-only hook findings can be accepted through exact
339
- `filePath` + `ruleId` + `command` matches while high/fail findings stay
340
- active.
341
- - Added transcript recovery to the bundled `claude-review` cross-review skill
342
- for Claude Code print-mode runs that write the final assistant message to the
343
- session transcript but produce empty stdout.
344
-
345
- ### Changed
346
-
347
- - Treated `gbrain doctor --json --fast` connection warnings that only report
348
- skipped DB checks as an accepted fast-mode readiness state, while preserving
349
- real gbrain warnings such as freshness drift.
350
- - Pinned the repo-local CodeGraph dev dependency to `1.0.1` so local-first
351
- readiness checks do not float across patch releases.
352
-
353
- ### Fixed
354
-
355
- - `forge setup check --target codex --check-updates --json` now reports
356
- a fully green setup on this machine after Waza and CodeGraph are up to date,
357
- reviewed user-level safety hooks are recorded, and gbrain fast-mode DB checks
358
- are treated as intentionally skipped.
359
-
360
- ### Release Notes
361
-
362
- - Prepared the `forge@0.5.2` package line for npm publish, registry
363
- readback, clean-room `npx` smoke, Git tag, and GitHub release creation.
364
-
365
- ## [0.5.1] - 2026-06-14
366
-
367
- ### Fixed
368
-
369
- - Fixed CodeGraph readiness detection so repo-local checks prefer the installed
370
- platform bundle before the npm shim. This prevents a broken `.bin/codegraph`
371
- shim from turning a ready local index into `project_index=unavailable`.
372
- - Synced the same CodeGraph resolver into the generated-project helper template.
373
-
374
- ### Release Notes
375
-
376
- - Prepared the `forge@0.5.1` package line for publish; npm publish,
377
- registry readback, and GitHub release creation remain explicit release
378
- actions.
379
-
380
- ## [0.5.0] - 2026-06-14
381
-
382
- ### Added
383
-
384
- - Added README release art from `docs/images/image.png` and documented the
385
- install/refresh split for first-run bootstrap, user-level runtime updates,
386
- read-only setup audit, and repo-local adoption.
387
- - Documented the eight managed hook routes installed by the Claude/Codex
388
- adapters: `SessionStart.default`, `PreToolUse.edit`,
389
- `PreToolUse.subagent`, `PostToolUse.edit`, `PostToolUse.bash`,
390
- `PostToolUse.always`, `UserPromptSubmit.default`, and `Stop.default`.
391
-
392
- ### Changed
393
-
394
- - Breaking: `forge update` now owns CLI/user-level runtime refresh only;
395
- use `forge adopt` for repo-local workflow install, refresh, and
396
- migration.
397
- - `forge update --check` / `--no-runtime-refresh` now route to the
398
- read-only setup checklist, and third-party skill/CodeGraph refreshes require
399
- explicit opt-in.
400
- - Added `forge setup check` as the productized read-only readiness
401
- command while keeping `forge init-hook` as a compatibility alias.
402
-
403
- ### Fixed
404
-
405
- - Refused `$HOME` as a repo adoption target before any mutation and hardened
406
- legacy context discovery so vendored/cache trees such as `go/pkg/mod`,
407
- nested `node_modules`, and `vendor` are not mirrored into.
408
-
409
- ### Release Notes
410
-
411
- - Prepared the `forge@0.5.0` package line for publish; npm publish,
412
- registry readback, and GitHub release creation remain explicit release
413
- actions.
414
-
415
- ## [0.4.3] - 2026-06-13
416
-
417
- ### Added
418
-
419
- - Added `forge docs list|path|show` so bundled runtime/reference docs
420
- resolve from the user-level/package install instead of copied repo prose.
421
- - Added `forge init-hook --json` bootstrap audit guidance for working
422
- rules, adapter drift, stale CLI installs, and tooling readiness.
423
- - Added first-principles edit guard coverage to the managed hook route set as
424
- advisory anti-overengineering guidance.
425
-
426
- ### Changed
427
-
428
- - Generated and migrated repos now write deterministic
429
- `docs/reference-configs/*.md` pointer stubs while keeping `.ai/harness/*` and
430
- `.ai/context/*` as repo-local runtime artifacts.
431
- - Retired `AGENTS.md` and `CLAUDE.md` from the reference-doc asset surface and
432
- stopped publishing duplicate `docs/reference-configs/` runtime docs in the
433
- npm package file list.
434
-
435
- ### Fixed
436
-
437
- - Clarified plan-completeness capture wording so release/readiness checks do
438
- not mistake a Draft scan plan for executable implementation state.
439
- - Made `scripts/check-npm-release.sh` refresh the current handoff before the
440
- Codex resume packet so the release gate works from a clean checkout without
441
- ignored runtime handoff files.
442
-
443
- ### Release Notes
444
-
445
- - Prepared the `forge@0.4.3` package line for publish; npm publish,
446
- registry readback, and GitHub release creation remain explicit release
447
- actions.
448
-
449
- ## [0.4.2] - 2026-06-13
450
-
451
- ### Added
452
-
453
- - Added the `forge-prd` command facade, PRD template, and PRD eval
454
- fixtures for generating upper-layer PRDs under `plans/prds/`.
455
- - Added a subagent return-channel guard to the managed Claude/Codex hook routes
456
- so delegated runs are nudged back through the parent session instead of
457
- leaking completion claims through the wrong channel.
458
-
459
- ### Changed
460
-
461
- - Split upper-layer PRDs from Sprint backlogs: PRDs stay in `plans/prds/`,
462
- Sprint backlogs move to `plans/sprints/*.sprint.md`, and `forge-sprint`
463
- now supports PRD-to-Sprint planning without re-deciding product intent.
464
- - Isolated generated-project helper implementations under `.ai/harness/scripts/`
465
- while keeping `scripts/*` as compatibility command wrappers.
466
- - Updated skill eval 24 and added evals for PRD generation and PRD-to-Sprint
467
- backlog creation so the public command surface covers the new hierarchy.
468
- - Aligned the `forge-prd` command guidance with the installed
469
- `.ai/harness/scripts/check-task-workflow.sh` runtime path.
470
-
471
- ### Release Notes
472
-
473
- - Prepared the `forge@0.4.2` package line for publish; npm publish,
474
- registry readback, and GitHub release creation remain explicit release
475
- actions.
476
-
477
- ## [0.4.1] - 2026-06-12
478
-
479
- ### Fixed
480
-
481
- - Scoped the CodeGraph route nudge to the real hook stdin `session_id` by
482
- exporting `HOOK_SESSION_ID` from the shared hook input parser and preferring
483
- it in `session_state_resolve_key`. CodeGraph one-shot state is now per
484
- Claude/Codex session instead of being pinned to a stale `.claude/.session-id`
485
- fallback.
486
- - Prevented stale repo-local hook scripts from racing user-level host adapters:
487
- generated and migrated repos now prune top-level `.ai/hooks/*.sh` unless
488
- `.ai/harness/policy.json` explicitly pins `"hook_source": "repo"`.
489
- - Treated a missing `post-tool-observer.sh` on `PostToolUse.always` as a
490
- soft-missing advisory route with an update hint, instead of hard-failing the
491
- hook runtime when a copied repo-local hook set is stale.
492
-
493
- ### Changed
494
-
495
- - Kept non-pinned downstream repos on the user-level hook runtime by retaining
496
- only `.ai/hooks/lib/` helper fallbacks plus a README tombstone; this self-host
497
- repo can still pin live hook development to `.ai/hooks`.
498
- - Normalized active workflow documentation to `tasks/todos.md` for the deferred
499
- ledger and topic-scoped `docs/researches/*.md` for durable research reports.
500
- - Added `tasks/.current.md.tmp.*` and `.claude/.plan-state/` to the managed
501
- runtime ignore block, and gave plain `bun test` the same 60s per-test timeout
502
- used by the release gate.
503
-
504
- ### Release Notes
505
-
506
- - Prepared the `forge@0.4.1` package line for publish; npm publish,
507
- registry readback, and GitHub release creation remain explicit release
508
- actions.
509
-
510
- ## [0.4.0] - 2026-06-12
511
-
512
- ### Added
513
-
514
- - Added a loop-engine evidence surface: `forge-hook state-snapshot
515
- --json`, an NL decision-table reference, route NL-vs-TS benchmark fixtures,
516
- and a cutover gate that keeps TypeScript routing authoritative unless
517
- measured evidence passes.
518
- - Added `scripts/architecture-queue.sh` plus
519
- `scripts/check-architecture-sync.sh` for derived architecture request indexes,
520
- stale-index detection, and strict/advisory finish gates.
521
- - Added contract delegation metadata (`budget`, `permission_scope`, and
522
- `roles`) to contract templates and generated workflow contracts.
523
- - Added `scripts/contract-run.ts`, a repo-local pilot runner that executes
524
- explicit worker/verifier child commands and validates the verifier output
525
- against contract exit criteria.
526
- - Added `scripts/heartbeat-triage.sh` and the `.ai/harness/triage/` surface for
527
- scheduled workflow, sprint-next, and architecture-request triage.
528
-
529
- ### Changed
530
-
531
- - Productized architecture queue assets into both self-host scripts and
532
- generated-repo templates, including workflow contract inventory, reference
533
- docs, migration handling, and scaffold parity tests.
534
- - Updated session-start/current-status projection and task workflow checks to
535
- account for archived sprint plans, archived notes, contract delegation fields,
536
- and the completed loop-engine sprint.
537
- - Retired the separate generated workflow compatibility `5.x` line; package,
538
- skill, and template stamps now share the `forge@0.4.0` release line.
539
- - Added `check:architecture-sync` to the npm scripts and release verification
540
- surface.
541
-
542
- ### Removed
543
-
544
- - Retired `scripts/architecture-drift.sh` and its helper-template copy in favor
545
- of `architecture-queue.sh`; migrations remove legacy copies from downstream
546
- repos.
547
-
548
- ## [0.3.0] - 2026-06-11
549
-
550
- ### Added
551
-
552
- - Added the sprint program layer: `plans/sprints/`, sprint templates,
553
- `scripts/sprint-backlog.sh`, the `forge-sprint` command facade, active
554
- sprint markers, current-status projection, session-start projection, workflow
555
- validation, and generated-repo parity copies.
556
- - Added `src/cli/hook/prompt-intents.ts`: every prompt-text intent classifier
557
- now lives in TypeScript with real Unicode semantics, fixing
558
- locale-dependent Chinese misclassification (UTF-8 continuation bytes
559
- matching `[[:punct:]]` under `LC_ALL=C` grep, e.g. "实现会在这个 worktree
560
- 里完成。" misread as a done declaration on GNU grep).
561
- - Added an edit-layer plan gate to `pre-edit-guard.sh`: implementation edits
562
- (paths outside plans/tasks/docs/deploy/harness/markdown surfaces) block
563
- unless the active plan is Approved/Executing and `docs/spec.md` exists.
564
- Modes `enforce` (default) | `advice` | `off` via policy
565
- `.guards.edit_plan_gate` or `REPO_HARNESS_EDIT_PLAN_GATE`.
566
- - Added the `prompt-guard-decide` prompt protocol: the shell hook pipes
567
- `{"prompt": ...}` on stdin and receives one verdict JSON line (action,
568
- intent facts, derived strings). Legacy copied hooks that send env facts
569
- still receive the bare action enum.
570
-
571
- ### Changed
572
-
573
- - Hook runtime resolution is now central-first: user-level adapters dispatch
574
- into `forge-hook`, central packaged hooks are the default runtime, and
575
- repo policy can pin self-host development back to the repo copy without
576
- changing downstream user adapters.
577
- - Prompt-layer plan/spec/contract gates became advisory routing; hard
578
- enforcement moved to the PreToolUse edit layer where it keys off path +
579
- plan state instead of natural-language guessing. Done-claim gates keep
580
- blocking because they verify file-backed completion evidence.
581
- - Merged the PostToolUse always-route observers (`trace-event.sh` +
582
- `context-pressure-hook.sh`) into one `post-tool-observer.sh`: one dispatch,
583
- one stdin parse, and one library load per tool call. `.claude/.trace.jsonl`
584
- is now the single tool-trace record (handoff "Commands Run" reads it
585
- directly), and context-budget bun probes are sampled every 5th call. The
586
- route tuple (PostToolUse, always) is unchanged; a workflow-contract
587
- upgrade entry prunes the retired split hooks from migrated repos.
588
- - Unified `run-hook.sh`'s two Codex stdout-filter branches into one
589
- parameterized path.
590
-
591
- ### Removed
592
-
593
- - Removed the duplicated shell fallback decision table from
594
- `prompt-guard.sh` (the 0.2.4 copied-hook fallback). Without a reachable
595
- TypeScript engine the prompt layer now degrades to a one-shot advisory and
596
- defers enforcement to the edit layer.
597
- - Removed the orphan `scripts/check-versions.ts` and its test, and the
598
- hidden `prompt-guard-decision` CLI alias (use `prompt-guard-decide`).
599
- - Retired the `project-initializer` legacy name, `PROJECT_INITIALIZER_*`
600
- environment fallbacks, and the `forge-skill` compatibility alias;
601
- installed-copy sync now deletes both retired skill directories.
602
-
603
- ## [0.2.4] - 2026-06-07
604
-
605
- ### Added
606
-
607
- - Added shell fallback routing for copied prompt hooks when the TypeScript
608
- decision engine is unavailable, preserving PlanCaptureGate guidance instead
609
- of failing closed on installed hook copies.
610
- - Added workflow readiness checks for stale handoff/resume plan references and
611
- action-command skill quality gates.
612
- - Added benchmark quality metrics so release evidence distinguishes
613
- authoritative non-dry-run skill evals from dry-run smoke output.
614
-
615
- ### Fixed
616
-
617
- - Treated plan/workflow consultation prompts as advisory text instead of
618
- sending them into `PlanStatusGuard`, so questions that mention `new plan`,
619
- `方案`, hooks, or workflow routing no longer create plan files or block with
620
- "No active plan found" unless they explicitly start execution.
621
-
622
- ### Changed
623
-
624
- - Updated the self-host CodeGraph development dependency to `0.9.9` and made
625
- gbrain readiness probe `doctor --json --fast` before falling back to the full
626
- doctor command.
627
- - Updated maintainer release docs and README verification guidance to require
628
- non-dry-run skill eval evidence when claiming skill effectiveness.
629
- - Refreshed the ignored Codex resume packet inside the npm release gate before
630
- strict workflow validation, so release tests that update handoff runtime state
631
- cannot leave the gate failing its own stale-resume invariant.
632
-
633
- ### Removed
634
-
635
- - Retired the self-host-only `autoresearch-advisory.sh` hook from `.ai/hooks`,
636
- the generated hook adapter installer, and hook parity exceptions. Autoresearch
637
- now stays an explicit agent-run workflow instead of a user-level background
638
- hook route.
639
-
640
- ## [0.2.3] - 2026-06-05
641
-
642
- ### Changed
643
-
644
- - Replaced the public `forge init` path with a typed global bootstrap
645
- that installs the current package as the global CLI, refreshes forge
646
- skill aliases, installs user-level hook adapters, configures Waza
647
- `think`/`hunt`/`check`/`health`, persists the brain root, and configures
648
- CodeGraph MCP without applying repo-local workflow files to the current
649
- directory.
650
-
651
- ### Removed
652
-
653
- - Removed the Superpowers Claude marketplace installer path entirely from the
654
- active `forge init` flow and from `scripts/setup-plugins.sh`.
655
-
656
- ## [0.2.2] - 2026-06-04
657
-
658
- ### Fixed
659
-
660
- - Streamed `forge init` setup output directly to the terminal so the
661
- first-run `npx -y forge init` path no longer looks hung while
662
- `setup-plugins.sh` clones skills or runs Claude plugin setup.
663
- - Made the Superpowers Claude marketplace plugin opt-in via
664
- `forge init --with-superpowers` instead of installing it by default.
665
-
666
- ## [0.2.1] - 2026-06-02
667
-
668
- ### Added
669
-
670
- - Added `forge init` as a thin npm CLI wrapper around
671
- `scripts/setup-plugins.sh`, so users can run
672
- `npx -y forge init` for first-run global Claude plugin and hook-profile
673
- bootstrap without cloning the source repository.
674
- - Added a prompt-guard CodeGraph self-heal path: before emitting the first
675
- structural code-navigation hint in a session, a missing `.codegraph` index is
676
- initialized with the local or PATH-visible CodeGraph binary without running the
677
- heavier readiness probe.
678
-
679
- ### Changed
680
-
681
- - Moved the existing repo-local harness install/refresh CLI surface to
682
- `forge update`, keeping `forge init` focused on global runtime
683
- initialization.
684
- - Updated the English, Chinese, Japanese, French, and Spanish READMEs for the
685
- `0.2.1` npm release line and the split `init` / `update` lifecycle.
686
-
687
- ### Fixed
688
-
689
- - Kept automatic hook-side CodeGraph initialization non-blocking and cleaned up
690
- the Cursor rule file if current CodeGraph created it only as a side effect of
691
- this automatic init.
692
-
693
- ## [0.2.0] - 2026-06-02
694
-
695
- ### Added
696
-
697
- - Added a read-only config security scan (`forge security scan [--json]`) that checks high-value hook and editor-task config (`~/.claude/settings.json`, `~/.codex/hooks.json`, repo-local `.vscode/tasks.json`, and legacy project-level `.claude`/`.codex` adapters) for suspicious command patterns — remote-shell pipes, base64-decode-to-exec, `osascript`, `launchctl`/`crontab` persistence, netcat, and inline interpreter execution — plus unmanaged hook commands and auto-run `folderOpen` tasks. It reports findings only and never mutates config.
698
- - Added a low-frequency `SessionStart` sentinel (`.ai/hooks/security-sentinel.sh`, wired into the `SessionStart.default` route) that fingerprints the config set and re-scans only when a fingerprint changes, surfacing a one-line `[SecurityConfig]` reminder when findings appear.
699
- - Added a `security-config` check to `forge doctor` backed by the same read-only scan.
700
-
701
- ### Changed
702
-
703
- - Bumped the npm package release line from `0.1.5` to `0.2.0`; generated workflow compatibility stays on the `5.2.3` model line, and `forge --version` / `forge status` now report `0.2.0`.
704
- - Added `Why forge` and `What's New in 0.2.0` sections to the English, Chinese, Japanese, French, and Spanish READMEs, promoting file-backed cross-session coordination, CodeGraph-plus-progressive-context token savings, the `scripts/setup-plugins.sh` installer, the config security sentinel, and the Claude/Codex draft-plan lifecycle.
705
- - Added the README hero image to the npm package allowlist so package consumers get the same visual surface as the source checkout.
706
- - Fixed the Chinese README, which still referenced `0.1.4`, to track the current release version.
707
-
708
- ## [0.1.5] - 2026-06-01
709
-
710
- ### Changed
711
-
712
- - Added `REPO_HARNESS_*` environment variable aliases for scaffold, migration, context-block selection, external-tooling checks, and contract-worktree controls while preserving `PROJECT_INITIALIZER_*` as legacy fallbacks.
713
- - Switched new runtime `.gitignore` and Codex resume generated markers to `forge` while keeping dual-read compatibility for legacy `project-initializer` markers.
714
- - Added a dirty merged linked-worktree closeout guard to `ship-worktrees.sh --cleanup-merged`, requiring useful deltas to be committed, picked, or applied before cleanup and allowing only explicit scaffold-only discard.
715
- - Made `prepare-codex-handoff.sh` prefer Node for global handoff file updates, with Python retained as a fallback, so release verification does not depend on the local `python3 -` execution path.
716
-
717
- ## [0.1.4] - 2026-05-31
718
-
719
- ### Changed
720
-
721
- - Switched generated plan task artifacts from slug-only names to the active plan stem (`YYYYMMDD-HHMM-<slug>`) for `tasks/contracts/`, `tasks/reviews/`, and `tasks/notes/`.
722
-
723
- ### Fixed
724
-
725
- - Kept workflow-state, handoff, archive, and contract-worktree helpers compatible with existing slug-only task artifacts while preferring the new plan-stem paths.
726
-
727
- ## [0.1.3] - 2026-05-31
728
-
729
- ### Added
730
-
731
- - Added AI-native scaffold profiles as overlays on the existing A-K plan catalog, including runtime-console, product-copilot, and sidecar-kernel project structures without introducing new public plan codes.
732
- - Added AI-native template variables so selected profiles can project focused project structures, runtime-console defaults, and tech-stack guidance while ordinary A-K scaffolds stay unchanged.
733
- - Added a typed prompt-guard decision engine behind `forge-hook prompt-guard-decide`, keeping host adapters stable while making `intent x plan state` routing table-driven and testable.
734
- - Added CLI and route-level regression coverage for the internal prompt-guard decision command, the lightweight hook entrypoint, and the public `UserPromptSubmit --route default` path through real hook assets.
735
- - Added an optional deploy SQL invariant coverage check: when `tests/sql/control_plane_invariants.sql` exists, `check-deploy-sql-order.sh` now verifies every `deploy/sql/*.sql` migration is referenced by full path or basename.
736
- - Added a dated release filing under `deploy/release-checklists/260531-forge-0.1.3.md` and documented the `YYMMDD-<package>-<version>.md` filing rule.
737
-
738
- ### Changed
739
-
740
- - Split prompt-guard responsibilities so shell continues to parse hook JSON, read workflow files, perform capture side effects, and render host-safe output while TypeScript owns the explicit decision table.
741
- - Documented the 0.1.x release surface as `forge@0.1.3`, still separate from the generated workflow compatibility line (`5.2.3`).
742
- - Expanded the English and Chinese README plus the hook operations reference to show the current host adapter -> CLI route registry -> shell hook -> TypeScript decision table architecture.
743
-
744
- ### Fixed
745
-
746
- - Routed active Draft plan prompts such as `implement this plan` and `执行这个方案` to the non-blocking PlanCaptureGate instead of hard-blocking under PlanStatusGuard.
747
- - Routed no-active-plan and Approved-plan execution projection prompts through the appropriate capture/projection advice instead of collapsing them into generic PlanStatusGuard or ContractGuard failures.
748
- - Treated copied worktree status, retrospective completion reports, and next-slice planning summaries as passive context so they do not start implementation gates merely because they quote implementation vocabulary.
749
- - Ensured linked contract worktrees include `.ai/harness/planning/` before pending orchestration cleanup, preserving strict workflow verification in generated worktrees.
750
- - Filtered `tasks/.current.md.tmp.*` refresh scratch files out of generated `tasks/current.md` snapshots, including generated repo helper parity.
751
- - Aligned `forge --version` and `forge status` with the `package.json` release version for `0.1.3`.
752
-
753
- ## [0.1.2] - 2026-05-30
754
-
755
- ### Added
756
-
757
- - Added `forge init` as a one-shot existing-repo bootstrap that defaults `--repo` to the current working directory, refreshes host adapters, applies the harness, installs Waza runtime skills, syncs `diagram-design`, and verifies the repo-local workflow.
758
- - Added `forge init --no-codegraph` and `--configure-codegraph` so existing-repo bootstrap can either skip CodeGraph readiness or explicitly register CodeGraph MCP after building the index.
759
- - Added `check:release` / `prepublishOnly` npm release gates that check the official npm registry and reject already-published package versions before running tests, workflow checks, migration dry-run, and pack dry-run.
760
- - Added a GitHub-facing bilingual README path with `README.zh-CN.md` and a Mermaid task workflow from plan to contract worktree checkout, guarded implementation, verification, review, external acceptance, finish, merge, and cleanup.
761
-
762
- ### Changed
763
-
764
- - Retired `project-initializer` as a Codex/Claude installed skill path and upstream resolver fallback; installed-copy sync now removes those directories instead of maintaining them.
765
- - Switched generated footer stamps to `forge@...` while keeping `.claude/.skill-version` semantic version fields stable.
766
- - Prepared npm publishing under the unscoped `forge` package name, made `forge` the primary installed command, and kept `forge-skill` as a compatibility alias.
767
- - Split the npm/CLI package release line (`0.1.x`) from the generated workflow compatibility line (`5.2.3`).
768
- - Updated GitHub repository metadata and source checkout docs for the `Ancienttwo/forge` rename.
769
- - Forced copy-based installed-skill sync when `forge init` runs from an npm `_npx` cache source, avoiding symlinks to temporary npx cache directories.
770
- - Clarified the product boundary, three-layer operating model, and task lifecycle on the README landing page.
771
-
772
- ### Fixed
773
-
774
- - Rebuilt Claude skill aliases during installed-copy sync so `~/.claude/skills/project-initializer` cannot remain on a stale legacy repo while Codex runtime aliases are current.
775
- - Reduced full-suite release flakiness by giving `doctor` environment-probe tests a wider timeout budget.
776
-
777
- ## [5.2.3] - 2026-05-27
778
-
779
- ### Fixed
780
-
781
- - Expanded anchored approval intent variants such as `go ahead with it`, `please proceed`, and `可以干了` so post-plan approvals reach `PlanCaptureGate` / `PlanExecutionGate` without treating broad bug-fix wording as approval capture.
782
-
783
- ## [5.2.2] - 2026-05-27
784
-
785
- ### Fixed
786
-
787
- - Started a Draft `plans/` artifact as soon as explicit Codex Plan mode or Waza `/think` planning begins, so plan lifecycle state exists before approval and execution gates run.
788
- - Let terse approval prompts such as `GO` and `可以干` reach the approved-plan capture/projection path instead of being blocked before the agent can run `capture-plan.sh` or `plan-to-todo.sh`.
789
-
790
- ## [5.2.1] - 2026-05-27
791
-
792
- ### Fixed
793
-
794
- - Fixed terse `GO` approval prompts after Codex Plan mode or Waza `/think` so they trigger `PlanStatusGuard` and route execution through captured `plans/` artifacts instead of bypassing the workflow gate.
795
-
796
- ## [5.2.0] - 2026-05-27
797
-
798
- ### Changed
799
-
800
- - Added passive plan capture so Codex Plan mode, Waza `/think`, and `forge-plan` outputs can become file-backed `plans/plan-*.md` artifacts through `scripts/capture-plan.sh`, with approved captures able to project directly through `plan-to-todo.sh`.
801
- - Added opt-in default-brain document mirroring through `scripts/sync-brain-docs.sh`, manifest `sync.direction=repo-to-brain` entries, and PostEdit hook integration for registered valuable docs.
802
- - Promoted CodeGraph from advisory setup guidance to required Codex agent readiness for code navigation, with read-only detector support, strict readiness checks, generated repo `.codegraph/` ignores, and non-vendored host install guidance.
803
-
804
- ## [5.1.2] - 2026-05-27
805
-
806
- ### Added
807
-
808
- - Added generated Codex hook adapter support through `.codex/hooks.json` while keeping `.ai/hooks/` as the shared hook implementation layer.
809
- - Updated init, scaffold, migration, workflow contract, docs, and tests so generated repos install both Claude and Codex hook adapters.
810
-
811
- ## [5.1.1] - 2026-05-26
812
-
813
- ### Fixed
814
-
815
- - Refreshed stale `references/` docs for the current `forge` hook, migration, eval, plugin, and minimal-documentation contracts.
816
- - Updated public-surface spec and architecture docs to reflect the full 13-command `agentic-dev-*` facade inventory.
817
- - Removed empty optional doc placeholders so generated/self-hosted docs match the `minimal-agentic` profile.
818
-
819
- ## [5.1.0] - 2026-05-26
820
-
821
- ### Added
822
-
823
- - Added filesystem-owned Evidence Contract fields and guards so approved plan execution must name state/progress path, verification evidence, evaluator rubric, stop condition, and rollback surface before implementation or completion.
824
-
825
- ### Changed
826
-
827
- - Made broad research delegation a main-agent spawn decision based on context impact and callable runners, with bounded main-thread fallback when spawning is not useful or available.
828
- - Hardened Waza external-tooling checks to compare whole skill directories and shared `rules/` files instead of only `SKILL.md`, catching broken `references/`, `scripts/`, `agents/`, and cross-skill rule links.
829
-
830
- ## [5.0.2] - 2026-05-25
831
-
832
- ### Fixed
833
-
834
- - Excluded ignored repo-local runtime state from Codex installed-copy sync outputs.
835
-
836
- ## [5.0.1] - 2026-05-25
837
-
838
- ### Added
839
-
840
- - Added the forge plugin architecture map, domain/module docs, and capability-indexed local context contracts for Claude and Codex.
841
-
842
- ### Fixed
843
-
844
- - Fixed Codex installed-copy sync for symlinked legacy `project-initializer` fallback paths.
845
- - Removed tracked Claude trace state from the release surface and ignored repo-local Codex/runtime logs.
846
-
847
- ## [5.0.0] - 2026-05-25
848
-
849
- ### Fixed
850
-
851
- - Made repeated `migrate-project-template.sh --apply` idempotent after a clean migration commit by normalizing first-write JSON output and preserving unchanged version stamps.
852
- - Removed stale `3.1 guidance` wording from migration dry-run output.
853
-
854
- ### Changed
855
-
856
- - Added `deploy/sql/` as the tracked deployment SQL surface and wired a filename-order check for `0001_name.sql` style files.
857
- - Split deployable operations assets into tracked `deploy/` while keeping `_ops/` fully ignored for local private operations state and secrets.
858
- - Externalized long-form optional reference configs into the default brain file vault while keeping repo-local runtime contracts, hooks, scripts, and required minimal docs authoritative.
859
- - Added a repo-local brain manifest and workflow check for default brain pointers without making hooks depend on gbrain or iCloud.
860
- - Renamed the skill/package/repo display surface to `forge` while keeping `forge-skill` and `project-initializer` as legacy aliases, install paths, and generated stamp compatibility surfaces.
861
- - Added action-style `agentic-dev-*` command skill facades for plan, review, autoplan, init, scaffold, migrate, upgrade, repair, and check while keeping hooks/docs initialization internal.
862
- - Added advisory prompt-hook route hints for reusable-workflow packaging, with `forge-autoplan` handling evidence-first plans only after user authorization.
863
- - Added a Codex installed-copy sync helper that keeps command facades only in the canonical `forge` copy while legacy directories remain runtime fallback bundles.
864
-
865
- ## [4.0.2] - 2026-05-20
866
-
867
- ### Fixed
868
-
869
- - Installed `inspect-project-state.ts`, `migrate-workflow-docs.ts`, `workflow-contract.ts`, `check-skill-version.ts`, and a delegating `migrate-project-template.sh` wrapper into generated repos so the router verification path is not left stale.
870
- - Made generated capability discovery ignore `.worktrees/` and `_ref/` caches, preventing local worktree contracts from polluting `.ai/context/capabilities.json`.
871
-
872
- ## [4.0.1] - 2026-05-20
873
-
874
- ### Added
875
-
876
- - Added a versioned upgrade strategy to the workflow contract, inspector output, harness policy, and migration cleanup path so legacy reconfiguration, archives, preserves, and removals are auditable.
877
- - Added `docs/reference-configs/global-working-rules.md` as the user-level Claude/Codex rule template with enforceable P1/P2/P3 due diligence.
878
-
879
- ## [4.0.0] - 2026-05-20
880
-
881
- ### Changed
882
-
883
- - Removed `docs/PROGRESS.md` from default generated and required workflow surfaces; legacy progress files are now archived during migration instead of normalized in place.
884
- - Replaced default root `specs/` scaffolding with `docs/spec.md`, `interfaces/`, and tests as the stable product/runtime truth surfaces.
885
- - Promoted `_ops/` as the trackable operations workspace for runbooks, submission materials, release checklists, and helper scripts, while keeping `_ops/secrets/` and `_ops/env/.env*` ignored.
886
- - Made `_ref/` an ignored external comparison cache and added hook guards that block product edits under `_ref/` and sensitive `_ops` env/secret paths.
887
- - Updated workflow contracts, generated templates, reference docs, architecture index, and tests to use `tasks/workstreams/` for durable progress and `docs/CHANGELOG.md` for release history.
888
-
889
- ## [3.6.0] - 2026-05-19
890
-
891
- ### Added
892
-
893
- - Added `minimal-agentic` documentation generation so default scaffolds keep only required docs plus a small reference-config set, with `PROJECT_INITIALIZER_DOCUMENTATION_PROFILE=full` preserving the previous full docs surface.
894
- - Added `docs/reference-configs/document-generation.md` to document required docs, on-demand docs, and the Agent-owned decision boundary.
895
- - Added `lsp_profiles` metadata to policy and context maps so selected functional blocks can carry lightweight tooling hints without expanding root prompt context.
896
- - Added `worktree_strategy` policy for conflict-triggered `codex/<task-slug>` worktrees, Waza `/check`-style validation, and merge-back to `main` without absorbing unrelated dirty changes.
897
- - Added implementation notes as a task-local workflow artifact under `tasks/notes/`, with plan, contract, review, handoff, and archive integration.
898
- - Added raw verification run snapshots under `.ai/harness/runs/` so `checks/latest.json` remains a pointer while durable evidence stays inspectable.
899
-
900
- ### Changed
901
-
902
- - Updated scaffold, migration, init, ensure, workflow contract, and tests to install reference configs through the documentation profile instead of copying every reference doc by default.
903
- - Changed init/migration external-tooling reports to skip update checks by default; set `PROJECT_INITIALIZER_CHECK_TOOLING_UPDATES=1` when an advisory run should also check upstream versions.
904
- - Updated harness policy and reference docs to distinguish notes, evidence, promoted assets, and advisory memory instead of collapsing task-local decisions into long-term memory.
905
-
906
- ## [3.5.0] - 2026-05-11
907
-
908
- ### Added
909
-
910
- - Added machine-readable `agentic_development` routing so product discovery uses gstack `office-hours`, complex engineering plans use gstack `plan-eng-review`, design plans use gstack `plan-design-review`, and daily small/medium work uses Waza `/think`, `/hunt`, and `/check`.
911
- - Added `docs/reference-configs/agentic-development-flow.md` to keep detailed gstack/Waza routing and P1/P2/P3 due-diligence triggers out of root prompts.
912
- - Added plan and review template sections for selected route, routing reason, and P1/P2/P3 evidence.
913
- - Added `scripts/select-agent-context-blocks.sh` as the functional-block selector hook for paired `CLAUDE.md` and `AGENTS.md` generation, so Claude Code and Codex receive the same local module contract without inferring boundaries from broad layout globs.
914
-
915
- ### Changed
916
-
917
- - Stopped generating repo-local `.claude/hooks/` shim scripts by default; `.ai/hooks/` is now the shared hook implementation layer and `.claude/settings.json` is the Claude adapter.
918
- - Updated scaffold, migration, workflow contract, policy defaults, reference configs, and tests to keep self-host and generated repos aligned.
919
- - Hardened workflow verification and legacy task migration around runtime contract parsing and partially migrated `tasks/todo.md` files.
920
-
921
- ## [3.4.0] - 2026-05-06
922
-
923
- ### Added
924
-
925
- - Added Codex-first Waza policy metadata to the harness contract and generated repo policy defaults.
926
- - Added host-aware Waza detection for real Claude/Codex skill paths, per-skill versions, symlink targets, staging drift, and upstream stale status.
927
- - Added tests covering Claude staging symlinks, Codex independent runtime copies, read-only update checks, and Codex stale drift reporting.
928
-
929
- ### Changed
930
-
931
- - Changed Waza `--check-updates` handling to compare upstream `tw93/Waza` raw `SKILL.md` hashes without running mutating `npx skills check`.
932
- - Documented the Waza stage -> copy into Codex -> `cmp` verification workflow for generated and self-hosted harnesses.
933
-
934
- ## [3.3.0] - 2026-04-19
935
-
936
- ### Changed
937
-
938
- - Removed repo-local Skill Factory and Claude auto-memory surfaces from the shared harness, migration path, and self-hosted repo.
939
- - Added `scripts/check-agent-tooling.sh` plus generated `docs/reference-configs/external-tooling.md` so init and migrate flows can report gstack, Waza, and gbrain advisory status safely.
940
- - Merged guidance-only `external_tooling` defaults into `.ai/harness/policy.json` during scaffold and migration without overwriting explicit repo overrides.
941
-
942
- ## [3.2.1] - 2026-04-19
943
-
944
- ### Fixed
945
-
946
- - Added progressive context and harness policy surfaces alongside the workflow contract manifest so generated repos keep root context stable while exposing deeper context on demand.
947
- - Wrote directory-level `AGENTS.md` files to discoverable module paths like `apps/*/AGENTS.md` instead of the container roots.
948
- - Stopped custom plan `K` from creating `apps/`, `packages/`, and `services/` unless the target repo already has real module directories there.
949
- - Corrected `scripts/inspect-project-state.ts` routing so initialized repos with bundled Skill Factory assets still classify as `audit` instead of collapsing to `skill-factory`.
950
- - Tightened `scripts/check-task-workflow.sh` so strict workflow verification now fails explicitly when no `node`, `bun`, or `python3` runtime is available to read the workflow contract.
951
- - Extended `scripts/migrate-workflow-docs.ts` to normalize legacy `tasks/todo.md` content in partially migrated repos and preserve the prior checklist in `tasks/archive/legacy-tasks-todo.md`.
952
-
953
- ## [3.2.0] - 2026-04-08
954
-
955
- ### Changed
956
-
957
- - Added `assets/workflow-contract.v1.json` as the single machine-readable workflow contract and installed `.ai/harness/workflow-contract.json` in generated and self-hosted repos.
958
- - Introduced `scripts/inspect-project-state.ts` so routing starts from structured repo inspection instead of prompt-only branching.
959
- - Added `scripts/migrate-workflow-docs.ts` to preserve and migrate legacy `docs/plan.md`, `docs/TODO.md`, and execution-log style `docs/PROGRESS.md`.
960
- - Updated migration, scaffold, and workflow verification paths to consume the shared contract manifest and verify it after migration.
961
-
962
- ## [3.1.0] - 2026-03-29
963
-
964
- ### Changed
965
-
966
- - Added `run_id` to trace events, verification reports, and task-state snapshots for tighter report correlation.
967
- - Expanded harness defaults to five dimensions by adding recovery and state profiles to the initializer question pack and plan map.
968
- - Added structured `failure_class` logging plus `scripts/summarize-failures.sh` for guard failure aggregation.
969
-
970
- ## [3.0.0] - 2026-03-25
971
-
972
- ### Changed
973
-
974
- - Upgraded generated repositories from a tasks-first scaffold to a shared long-running harness model.
975
- - Added `docs/spec.md`, `tasks/reviews/`, and `.ai/harness/{checks,handoff}` as first-class generated artifacts.
976
- - Reworked hook behavior around artifact-aware execution gates, contract scope enforcement, structured checks, and mandatory handoff generation.
977
- - Upgraded the initializer question pack to `v2` and added stack-aware orchestration, evaluation, and handoff defaults.
978
- - Updated helper scripts, templates, CLAUDE/AGENTS routing output, and tests to the shared harness model.