forgeos 0.1.0-alpha.7 → 0.1.0-alpha.71

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 (598) hide show
  1. package/.agents/skills/forge-agent-fabric/SKILL.md +178 -0
  2. package/.agents/skills/forge-agent-fabric/references/managed-workflows.md +95 -0
  3. package/.agents/skills/forge-agent-fabric/references/repository-analysis.md +102 -0
  4. package/.agents/skills/forge-agent-fabric/scripts/fabric.mjs +46 -0
  5. package/.agents/skills/forge-agent-fabric/scripts/repository.mjs +44 -0
  6. package/.npmignore +10 -0
  7. package/AGENTS.md +142 -90
  8. package/CHANGELOG.md +870 -9
  9. package/LICENSE +21 -0
  10. package/README.md +121 -6
  11. package/adapters/go/README.md +23 -0
  12. package/adapters/go/go.mod +3 -0
  13. package/adapters/go/http.go +149 -0
  14. package/adapters/go/registry.go +234 -0
  15. package/adapters/go/types.go +136 -0
  16. package/adapters/java/README.md +68 -0
  17. package/adapters/java/pom.xml +47 -0
  18. package/adapters/java/src/main/java/dev/forgeos/adapter/Auth.java +20 -0
  19. package/adapters/java/src/main/java/dev/forgeos/adapter/Diagnostic.java +16 -0
  20. package/adapters/java/src/main/java/dev/forgeos/adapter/Entry.java +38 -0
  21. package/adapters/java/src/main/java/dev/forgeos/adapter/EntryKind.java +16 -0
  22. package/adapters/java/src/main/java/dev/forgeos/adapter/ErrorInfo.java +4 -0
  23. package/adapters/java/src/main/java/dev/forgeos/adapter/Forge.java +94 -0
  24. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeCall.java +12 -0
  25. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeContext.java +11 -0
  26. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHandler.java +8 -0
  27. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeHttpHandler.java +179 -0
  28. package/adapters/java/src/main/java/dev/forgeos/adapter/ForgeRegistry.java +121 -0
  29. package/adapters/java/src/main/java/dev/forgeos/adapter/Json.java +14 -0
  30. package/adapters/java/src/main/java/dev/forgeos/adapter/Manifest.java +14 -0
  31. package/adapters/java/src/main/java/dev/forgeos/adapter/RequestEnvelope.java +6 -0
  32. package/adapters/java/src/main/java/dev/forgeos/adapter/ResponseEnvelope.java +25 -0
  33. package/adapters/java/src/main/java/dev/forgeos/adapter/Risk.java +18 -0
  34. package/adapters/java/src/main/java/dev/forgeos/adapter/Schemas.java +36 -0
  35. package/adapters/java/src/main/java/dev/forgeos/adapter/Service.java +65 -0
  36. package/adapters/java/src/main/java/dev/forgeos/adapter/TransactionMode.java +18 -0
  37. package/adapters/java/src/main/java/dev/forgeos/adapter/TypedForgeHandler.java +6 -0
  38. package/adapters/java-spring-boot-starter/README.md +32 -0
  39. package/adapters/java-spring-boot-starter/pom.xml +49 -0
  40. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeCommand.java +22 -0
  41. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeExternalService.java +15 -0
  42. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeQuery.java +16 -0
  43. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeServiceBeanCondition.java +18 -0
  44. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringAutoConfiguration.java +16 -0
  45. package/adapters/java-spring-boot-starter/src/main/java/dev/forgeos/adapter/spring/ForgeSpringRuntime.java +104 -0
  46. package/adapters/java-spring-boot-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +1 -0
  47. package/bin/forge.mjs +18 -0
  48. package/docs/agent-fabric-programs.md +151 -0
  49. package/docs/agent-fabric.md +582 -0
  50. package/docs/architecture/agent-fabric/PORTABLE_PROJECTS_PLAN.md +136 -0
  51. package/docs/architecture/agent-fabric/README.md +180 -0
  52. package/docs/architecture/agent-fabric/REPOSITORY_MANIFEST_PLAN.md +284 -0
  53. package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_ADR.md +81 -0
  54. package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_CORRECTIONS.md +39 -0
  55. package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_CORRECTIONS_EVIDENCE.md +53 -0
  56. package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_EVIDENCE.md +49 -0
  57. package/docs/architecture/agent-fabric/WORKFLOW_PROGRAM_V2_PLAN.md +590 -0
  58. package/docs/cair-protocol.md +103 -0
  59. package/docs/changelog.md +1070 -0
  60. package/docs/forge-protocol.md +189 -0
  61. package/docs/repository-agent-benchmark.md +179 -0
  62. package/docs/repository-analysis.md +139 -0
  63. package/docs/repository-context-quality.md +179 -0
  64. package/docs/repository-runtime-observation.md +82 -0
  65. package/examples/agent-fabric-v2/README.md +70 -0
  66. package/examples/agent-fabric-v2/item-child.workflow.ts +11 -0
  67. package/examples/agent-fabric-v2/make-request.mjs +4 -0
  68. package/examples/agent-fabric-v2/map-child.workflow.ts +10 -0
  69. package/examples/agent-fabric-v2/migrate.workflow.ts +35 -0
  70. package/examples/agent-fabric-v2/registry.example.json +256 -0
  71. package/examples/agent-fabric-v2/run-ui-fixture.ts +48 -0
  72. package/examples/agent-fabric-v2/ui-audit.workflow.ts +28 -0
  73. package/examples/agent-fabric-v2/ui-fixture-worker.cjs +36 -0
  74. package/examples/agent-fabric-v2/visual-population.json +13 -0
  75. package/examples/agent-fabric-v2/workers/check.mjs +2 -0
  76. package/examples/agent-fabric-v2/workers/common.mjs +7 -0
  77. package/examples/agent-fabric-v2/workers/discover.mjs +2 -0
  78. package/examples/agent-fabric-v2/workers/migrate.mjs +4 -0
  79. package/examples/agent-fabric-v2/workers/review.mjs +3 -0
  80. package/examples/go-billing/go.mod +7 -0
  81. package/examples/go-billing/main.go +120 -0
  82. package/examples/java-billing/pom.xml +60 -0
  83. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/CreateInvoiceInput.java +4 -0
  84. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Invoice.java +11 -0
  85. package/examples/java-billing/src/main/java/dev/forgeos/examples/billing/Main.java +127 -0
  86. package/package.json +60 -5
  87. package/schemas/agent-fabric/v0.1/control-event.schema.json +281 -0
  88. package/schemas/forge-manifest.schema.json +389 -0
  89. package/scripts/field-test-forgeos.mjs +1021 -0
  90. package/scripts/install-agent-fabric-skill.mjs +105 -0
  91. package/src/forge/_generated/releaseManifest.json +1 -2
  92. package/src/forge/_generated/releaseManifest.ts +3 -3
  93. package/src/forge/agent-adapters/index.ts +1592 -125
  94. package/src/forge/agent-adapters/types.ts +225 -1
  95. package/src/forge/agent-fabric/adapter.ts +131 -0
  96. package/src/forge/agent-fabric/attached-snapshot.ts +55 -0
  97. package/src/forge/agent-fabric/attached-task-contract.ts +105 -0
  98. package/src/forge/agent-fabric/attached-task-service.ts +127 -0
  99. package/src/forge/agent-fabric/attached-task-store.ts +109 -0
  100. package/src/forge/agent-fabric/authority.ts +298 -0
  101. package/src/forge/agent-fabric/canonical.ts +135 -0
  102. package/src/forge/agent-fabric/codex-adversarial-review.ts +229 -0
  103. package/src/forge/agent-fabric/codex-sdk-worker.ts +203 -0
  104. package/src/forge/agent-fabric/conductor.ts +754 -0
  105. package/src/forge/agent-fabric/dictionary.ts +12 -0
  106. package/src/forge/agent-fabric/errors.ts +32 -0
  107. package/src/forge/agent-fabric/hardened-conductor.ts +485 -0
  108. package/src/forge/agent-fabric/hardened-reducer.ts +211 -0
  109. package/src/forge/agent-fabric/index.ts +48 -0
  110. package/src/forge/agent-fabric/journal.ts +116 -0
  111. package/src/forge/agent-fabric/local-adaptive-digest-worker.mjs +26 -0
  112. package/src/forge/agent-fabric/local-adaptive-harness.ts +343 -0
  113. package/src/forge/agent-fabric/local-adaptive-service.ts +398 -0
  114. package/src/forge/agent-fabric/local-adaptive-worker.ts +146 -0
  115. package/src/forge/agent-fabric/local-approval-window.ts +211 -0
  116. package/src/forge/agent-fabric/local-change-review-service.ts +374 -0
  117. package/src/forge/agent-fabric/local-coding-worker.ts +285 -0
  118. package/src/forge/agent-fabric/local-control-store.ts +239 -0
  119. package/src/forge/agent-fabric/local-effect-broker.ts +348 -0
  120. package/src/forge/agent-fabric/local-evolution-approval.ts +81 -0
  121. package/src/forge/agent-fabric/local-evolution-profile.ts +87 -0
  122. package/src/forge/agent-fabric/local-evolution-registry.ts +427 -0
  123. package/src/forge/agent-fabric/local-evolution-service.ts +200 -0
  124. package/src/forge/agent-fabric/local-intelligence.ts +281 -0
  125. package/src/forge/agent-fabric/local-paths.ts +18 -0
  126. package/src/forge/agent-fabric/local-task-contract.ts +203 -0
  127. package/src/forge/agent-fabric/local-task-inbox.ts +543 -0
  128. package/src/forge/agent-fabric/local-task-server.ts +374 -0
  129. package/src/forge/agent-fabric/local-task-service.ts +982 -0
  130. package/src/forge/agent-fabric/local-verification.ts +551 -0
  131. package/src/forge/agent-fabric/managed-environment.ts +205 -0
  132. package/src/forge/agent-fabric/managed-run-contract.ts +103 -0
  133. package/src/forge/agent-fabric/managed-run-service.ts +401 -0
  134. package/src/forge/agent-fabric/managed-run-store.ts +165 -0
  135. package/src/forge/agent-fabric/managed-workspace.ts +253 -0
  136. package/src/forge/agent-fabric/p0a.ts +104 -0
  137. package/src/forge/agent-fabric/p0b-model-adapter.ts +434 -0
  138. package/src/forge/agent-fabric/planning.ts +155 -0
  139. package/src/forge/agent-fabric/program-api.ts +37 -0
  140. package/src/forge/agent-fabric/program-contract.ts +283 -0
  141. package/src/forge/agent-fabric/program-dsl.ts +126 -0
  142. package/src/forge/agent-fabric/program-evidence.ts +22 -0
  143. package/src/forge/agent-fabric/program-image.ts +15 -0
  144. package/src/forge/agent-fabric/program-lock.ts +50 -0
  145. package/src/forge/agent-fabric/program-owner.ts +16 -0
  146. package/src/forge/agent-fabric/program-scheduler.ts +38 -0
  147. package/src/forge/agent-fabric/program-service.ts +793 -0
  148. package/src/forge/agent-fabric/program-store.ts +142 -0
  149. package/src/forge/agent-fabric/program-structure.ts +65 -0
  150. package/src/forge/agent-fabric/program-types.ts +110 -0
  151. package/src/forge/agent-fabric/program-view.ts +12 -0
  152. package/src/forge/agent-fabric/program-worker.ts +108 -0
  153. package/src/forge/agent-fabric/project-profile.ts +50 -0
  154. package/src/forge/agent-fabric/project-registry.ts +120 -0
  155. package/src/forge/agent-fabric/project-runtime.ts +85 -0
  156. package/src/forge/agent-fabric/readiness.ts +26 -0
  157. package/src/forge/agent-fabric/reducer.ts +863 -0
  158. package/src/forge/agent-fabric/repository-context.ts +83 -0
  159. package/src/forge/agent-fabric/resource-ledger.ts +266 -0
  160. package/src/forge/agent-fabric/serialized-local-adapter.ts +60 -0
  161. package/src/forge/agent-fabric/types.ts +424 -0
  162. package/src/forge/agent-fabric/validation.ts +500 -0
  163. package/src/forge/agent-fabric/workflow-engine.ts +218 -0
  164. package/src/forge/agent-fabric/workflow-task-actions.ts +104 -0
  165. package/src/forge/agent-fabric/workflow-templates.ts +11 -0
  166. package/src/forge/agent-memory/bridge.ts +1728 -0
  167. package/src/forge/agent-memory/context-pack.ts +284 -0
  168. package/src/forge/agent-memory/hook-runner.ts +331 -0
  169. package/src/forge/agent-memory/mcp.ts +597 -0
  170. package/src/forge/agent-memory/normalize.ts +498 -0
  171. package/src/forge/agent-memory/redaction.ts +103 -0
  172. package/src/forge/agent-memory/sources/claude-code.ts +51 -0
  173. package/src/forge/agent-memory/sources/codex-hook-runner.mjs +343 -0
  174. package/src/forge/agent-memory/sources/codex.ts +161 -0
  175. package/src/forge/agent-memory/sources/cursor.ts +35 -0
  176. package/src/forge/agent-memory/types.ts +215 -0
  177. package/src/forge/bench.ts +248 -0
  178. package/src/forge/brownfield-import/index.ts +896 -0
  179. package/src/forge/brownfield-import/types.ts +127 -0
  180. package/src/forge/cair/action-journal.ts +61 -0
  181. package/src/forge/cair/action-parser.ts +314 -0
  182. package/src/forge/cair/action-validator.ts +40 -0
  183. package/src/forge/cair/actions.ts +1818 -0
  184. package/src/forge/cair/format.ts +77 -0
  185. package/src/forge/cair/index.ts +118 -0
  186. package/src/forge/cair/query.ts +478 -0
  187. package/src/forge/cair/snapshot.ts +315 -0
  188. package/src/forge/cair/types.ts +255 -0
  189. package/src/forge/cli/adaptive.ts +51 -0
  190. package/src/forge/cli/ai.ts +16 -1
  191. package/src/forge/cli/auth.ts +459 -15
  192. package/src/forge/cli/authmd.ts +441 -0
  193. package/src/forge/cli/baseline.ts +112 -0
  194. package/src/forge/cli/build.ts +20 -4
  195. package/src/forge/cli/changed.ts +418 -0
  196. package/src/forge/cli/codex-app-server.ts +877 -0
  197. package/src/forge/cli/commands.ts +1859 -20
  198. package/src/forge/cli/db.ts +209 -2
  199. package/src/forge/cli/deploy.ts +1339 -0
  200. package/src/forge/cli/deps.ts +150 -23
  201. package/src/forge/cli/dev.ts +1137 -53
  202. package/src/forge/cli/docs.ts +265 -0
  203. package/src/forge/cli/doctor.ts +297 -0
  204. package/src/forge/cli/env-placeholders.ts +62 -0
  205. package/src/forge/cli/evolution.ts +40 -0
  206. package/src/forge/cli/fabric.ts +253 -0
  207. package/src/forge/cli/field-test.ts +568 -0
  208. package/src/forge/cli/golden-path.ts +487 -0
  209. package/src/forge/cli/handoff.ts +336 -0
  210. package/src/forge/cli/index.ts +1 -0
  211. package/src/forge/cli/last-run.ts +84 -0
  212. package/src/forge/cli/main.ts +196 -3
  213. package/src/forge/cli/new.ts +169 -17
  214. package/src/forge/cli/next-actions.ts +23 -0
  215. package/src/forge/cli/output.ts +398 -6
  216. package/src/forge/cli/parse.ts +1377 -38
  217. package/src/forge/cli/progress.ts +51 -0
  218. package/src/forge/cli/query.ts +32 -0
  219. package/src/forge/cli/release.ts +35 -11
  220. package/src/forge/cli/repository.ts +151 -0
  221. package/src/forge/cli/run.ts +42 -0
  222. package/src/forge/cli/secrets.ts +137 -1
  223. package/src/forge/cli/seed.ts +581 -0
  224. package/src/forge/cli/self-host.ts +56 -14
  225. package/src/forge/cli/studio.ts +2282 -0
  226. package/src/forge/cli/verify.ts +1458 -32
  227. package/src/forge/cli/windows.ts +23 -0
  228. package/src/forge/cli/workos.ts +3509 -0
  229. package/src/forge/compiler/agent-contract/build.ts +728 -64
  230. package/src/forge/compiler/agent-contract/types.ts +45 -2
  231. package/src/forge/compiler/ai-registry/parse.ts +71 -2
  232. package/src/forge/compiler/api-surface/build.ts +47 -0
  233. package/src/forge/compiler/app-graph/build.ts +112 -9
  234. package/src/forge/compiler/app-graph/extract.ts +107 -0
  235. package/src/forge/compiler/app-graph/module-graph.ts +73 -78
  236. package/src/forge/compiler/app-graph/parser.ts +24 -24
  237. package/src/forge/compiler/app-graph/profile.ts +26 -0
  238. package/src/forge/compiler/app-graph/tsconfig-hash.ts +41 -4
  239. package/src/forge/compiler/app-graph/versions.ts +1 -1
  240. package/src/forge/compiler/classifier/capabilities.ts +3 -2
  241. package/src/forge/compiler/classifier/classify.ts +32 -8
  242. package/src/forge/compiler/classifier/secrets.ts +3 -2
  243. package/src/forge/compiler/classifier/signals.ts +91 -1
  244. package/src/forge/compiler/client-sdk/build-manifest.ts +59 -0
  245. package/src/forge/compiler/client-sdk/render-client.ts +295 -13
  246. package/src/forge/compiler/data-graph/build.ts +29 -1
  247. package/src/forge/compiler/data-graph/parse.ts +20 -4
  248. package/src/forge/compiler/data-graph/sql/ddl.ts +144 -31
  249. package/src/forge/compiler/data-graph/sql/serialize.ts +4 -0
  250. package/src/forge/compiler/data-graph/sql/types.ts +1 -0
  251. package/src/forge/compiler/diagnostics/codes.ts +38 -0
  252. package/src/forge/compiler/diagnostics/create.ts +28 -2
  253. package/src/forge/compiler/diagnostics/index.ts +2 -0
  254. package/src/forge/compiler/emitter/barrel.ts +3 -0
  255. package/src/forge/compiler/emitter/render.ts +9 -0
  256. package/src/forge/compiler/external-manifest/registry.ts +217 -0
  257. package/src/forge/compiler/external-manifest/types.ts +91 -0
  258. package/src/forge/compiler/external-manifest/validate.ts +373 -0
  259. package/src/forge/compiler/frontend-graph/build.ts +142 -14
  260. package/src/forge/compiler/integration/add.ts +991 -33
  261. package/src/forge/compiler/integration/plan.ts +43 -12
  262. package/src/forge/compiler/integration/render.ts +29 -0
  263. package/src/forge/compiler/integration/snapshot.ts +2 -0
  264. package/src/forge/compiler/integration/templates/convex.ts +70 -0
  265. package/src/forge/compiler/integration/templates/index.ts +1 -0
  266. package/src/forge/compiler/integration/templates/render.ts +38 -0
  267. package/src/forge/compiler/integration/templates/types.ts +3 -0
  268. package/src/forge/compiler/integration/templates/workos.ts +1439 -0
  269. package/src/forge/compiler/make-registry/build.ts +8 -9
  270. package/src/forge/compiler/orchestrator/fast-check.ts +4 -0
  271. package/src/forge/compiler/orchestrator/generate-lock.ts +14 -3
  272. package/src/forge/compiler/orchestrator/manifest.ts +1 -1
  273. package/src/forge/compiler/orchestrator/plan-profile.ts +23 -0
  274. package/src/forge/compiler/orchestrator/plan.ts +249 -10
  275. package/src/forge/compiler/orchestrator/profile.ts +65 -0
  276. package/src/forge/compiler/orchestrator/run.ts +101 -33
  277. package/src/forge/compiler/orchestrator/serialize.ts +33 -8
  278. package/src/forge/compiler/orchestrator/types.ts +1 -1
  279. package/src/forge/compiler/package-graph/compiler.ts +3 -1
  280. package/src/forge/compiler/package-graph/constants.ts +1 -1
  281. package/src/forge/compiler/package-graph/dts-extractor.ts +14 -1
  282. package/src/forge/compiler/package-manager/adapter.ts +4 -1
  283. package/src/forge/compiler/package-manager/commands.ts +4 -0
  284. package/src/forge/compiler/package-manager/executor.ts +30 -1
  285. package/src/forge/compiler/package-manager/version.ts +36 -12
  286. package/src/forge/compiler/package-upgrades/planner.ts +155 -18
  287. package/src/forge/compiler/package-upgrades/types.ts +2 -0
  288. package/src/forge/compiler/policy-registry/build.ts +47 -2
  289. package/src/forge/compiler/policy-registry/parse.ts +32 -2
  290. package/src/forge/compiler/recipes/definitions.ts +63 -0
  291. package/src/forge/compiler/recipes/index.ts +2 -0
  292. package/src/forge/compiler/recipes/profiles.ts +81 -0
  293. package/src/forge/compiler/recipes/registry.ts +6 -0
  294. package/src/forge/compiler/test-graph/build.ts +11 -3
  295. package/src/forge/compiler/types/app-graph.ts +8 -2
  296. package/src/forge/compiler/types/cli.ts +76 -1
  297. package/src/forge/compiler/types/dev-manifest.ts +4 -0
  298. package/src/forge/compiler/types/emit.ts +2 -0
  299. package/src/forge/compiler/types/frontend-graph.ts +2 -2
  300. package/src/forge/compiler/types/integration.ts +1 -0
  301. package/src/forge/compiler/types/package-graph.ts +6 -0
  302. package/src/forge/compiler/types/policy-registry.ts +3 -1
  303. package/src/forge/delta/broker-runner.mjs +5 -0
  304. package/src/forge/delta/broker.ts +429 -0
  305. package/src/forge/delta/classifier.ts +52 -0
  306. package/src/forge/delta/explain.ts +238 -0
  307. package/src/forge/delta/git-observer.ts +67 -0
  308. package/src/forge/delta/ids.ts +44 -0
  309. package/src/forge/delta/index.ts +25 -0
  310. package/src/forge/delta/process-identity.ts +37 -0
  311. package/src/forge/delta/queue-status.ts +190 -0
  312. package/src/forge/delta/recorder.ts +540 -0
  313. package/src/forge/delta/redaction.ts +50 -0
  314. package/src/forge/delta/schema.ts +240 -0
  315. package/src/forge/delta/session.ts +142 -0
  316. package/src/forge/delta/status.ts +1139 -0
  317. package/src/forge/delta/store.ts +3329 -0
  318. package/src/forge/delta/timeline.ts +178 -0
  319. package/src/forge/dev/server.ts +1061 -22
  320. package/src/forge/dev/types.ts +15 -1
  321. package/src/forge/dev/watch.ts +17 -7
  322. package/src/forge/dev-console/cycle.ts +285 -33
  323. package/src/forge/dev-console/types.ts +47 -1
  324. package/src/forge/impact/index.ts +222 -30
  325. package/src/forge/impact/types.ts +33 -1
  326. package/src/forge/intent/index.ts +35 -16
  327. package/src/forge/make/fields.ts +26 -0
  328. package/src/forge/make/index.ts +42 -6
  329. package/src/forge/make/templates.ts +211 -4
  330. package/src/forge/make/types.ts +2 -1
  331. package/src/forge/policy.ts +1 -1
  332. package/src/forge/react/index.ts +160 -2
  333. package/src/forge/refactor/index.ts +1 -0
  334. package/src/forge/repair/rules/index.ts +2 -2
  335. package/src/forge/repository-analysis/adapters/common.ts +72 -0
  336. package/src/forge/repository-analysis/adapters/docker.ts +185 -0
  337. package/src/forge/repository-analysis/adapters/java.ts +133 -0
  338. package/src/forge/repository-analysis/adapters/typescript.ts +350 -0
  339. package/src/forge/repository-analysis/adapters/vue.ts +71 -0
  340. package/src/forge/repository-analysis/analyze.ts +434 -0
  341. package/src/forge/repository-analysis/benchmark.ts +336 -0
  342. package/src/forge/repository-analysis/cache-gc.ts +154 -0
  343. package/src/forge/repository-analysis/check-selection.ts +123 -0
  344. package/src/forge/repository-analysis/context-node.ts +17 -0
  345. package/src/forge/repository-analysis/context.ts +456 -0
  346. package/src/forge/repository-analysis/http-resolution.ts +135 -0
  347. package/src/forge/repository-analysis/identity.ts +45 -0
  348. package/src/forge/repository-analysis/index.ts +18 -0
  349. package/src/forge/repository-analysis/nuxt-resolution.ts +188 -0
  350. package/src/forge/repository-analysis/quality.ts +60 -0
  351. package/src/forge/repository-analysis/retrieval.ts +309 -0
  352. package/src/forge/repository-analysis/runtime-artifacts.ts +195 -0
  353. package/src/forge/repository-analysis/runtime-observation.ts +325 -0
  354. package/src/forge/repository-analysis/scanner.ts +174 -0
  355. package/src/forge/repository-analysis/storage.ts +193 -0
  356. package/src/forge/repository-analysis/test-associations.ts +59 -0
  357. package/src/forge/repository-analysis/types.ts +99 -0
  358. package/src/forge/repository-manifest/index.ts +178 -0
  359. package/src/forge/repository-manifest/types.ts +63 -0
  360. package/src/forge/review/index.ts +162 -12
  361. package/src/forge/review/types.ts +15 -0
  362. package/src/forge/runtime/ai/providers.ts +19 -4
  363. package/src/forge/runtime/auth/config.ts +17 -0
  364. package/src/forge/runtime/auth/evaluate.ts +15 -2
  365. package/src/forge/runtime/auth/resolve.ts +61 -6
  366. package/src/forge/runtime/auth/types.ts +1 -0
  367. package/src/forge/runtime/db/factory.ts +1 -3
  368. package/src/forge/runtime/db/generated-client.ts +13 -2
  369. package/src/forge/runtime/db/memory-adapter.ts +139 -32
  370. package/src/forge/runtime/db/pglite-adapter.ts +285 -2
  371. package/src/forge/runtime/executor.ts +129 -16
  372. package/src/forge/runtime/external/bridge.ts +663 -0
  373. package/src/forge/runtime/runner/run-entry.ts +16 -7
  374. package/src/forge/runtime/telemetry/buffer.ts +4 -1
  375. package/src/forge/runtime/telemetry/scrubber.ts +35 -5
  376. package/src/forge/runtime/webhooks/security.ts +12 -7
  377. package/src/forge/server.ts +71 -7
  378. package/src/forge/ui/index.ts +831 -19
  379. package/src/forge/ui/types.ts +3 -1
  380. package/src/forge/version.ts +1 -1
  381. package/src/forge/vue/index.ts +422 -0
  382. package/src/forge/workspace/baseline.ts +112 -0
  383. package/src/forge/workspace/change-summary.ts +292 -0
  384. package/src/forge/workspace/forge-cli.ts +42 -0
  385. package/src/forge/workspace/git-summary.ts +393 -0
  386. package/templates/agent-workroom/AGENTS.md +29 -0
  387. package/templates/agent-workroom/README.md +34 -0
  388. package/templates/agent-workroom/forge.config.ts +3 -0
  389. package/templates/agent-workroom/package.json +34 -0
  390. package/templates/agent-workroom/pnpm-workspace.yaml +2 -0
  391. package/templates/agent-workroom/src/actions/indexAgentSignal.ts +10 -0
  392. package/templates/agent-workroom/src/commands/openWorkroom.ts +61 -0
  393. package/templates/agent-workroom/src/commands/recordAgentSignal.ts +119 -0
  394. package/templates/agent-workroom/src/commands/recordCheckRun.ts +52 -0
  395. package/templates/agent-workroom/src/forge/schema.ts +54 -0
  396. package/templates/agent-workroom/src/policies.ts +6 -0
  397. package/templates/agent-workroom/src/queries/listWorkrooms.ts +11 -0
  398. package/templates/agent-workroom/src/queries/liveWorkroom.ts +63 -0
  399. package/templates/agent-workroom/tsconfig.json +16 -0
  400. package/templates/agent-workroom/web/index.html +13 -0
  401. package/templates/agent-workroom/web/package.json +21 -0
  402. package/templates/agent-workroom/web/src/App.tsx +345 -0
  403. package/templates/agent-workroom/web/src/lib/forge.ts +20 -0
  404. package/templates/agent-workroom/web/src/main.tsx +13 -0
  405. package/templates/agent-workroom/web/src/styles.css +545 -0
  406. package/templates/agent-workroom/web/tsconfig.json +27 -0
  407. package/templates/agent-workroom/web/vite.config.ts +36 -0
  408. package/templates/b2b-support-web/package.json +2 -0
  409. package/templates/b2b-support-web/pnpm-workspace.yaml +2 -0
  410. package/templates/b2b-support-web/web/app/page.tsx +2 -2
  411. package/templates/b2b-support-web/web/lib/forge.ts +9 -2
  412. package/templates/b2b-support-web/web/next.config.ts +24 -0
  413. package/templates/b2b-support-web/web/package.json +1 -1
  414. package/templates/minimal-web/package.json +2 -1
  415. package/templates/minimal-web/pnpm-workspace.yaml +2 -0
  416. package/templates/minimal-web/web/index.html +1 -0
  417. package/templates/minimal-web/web/src/App.tsx +12 -6
  418. package/templates/minimal-web/web/src/lib/forge.ts +9 -2
  419. package/templates/minimal-web/web/src/styles.css +34 -0
  420. package/templates/minimal-web/web/vite.config.ts +36 -0
  421. package/templates/nuxt-web/.vscode/settings.json +14 -0
  422. package/templates/nuxt-web/.yarnrc.yml +1 -0
  423. package/templates/nuxt-web/README.md +30 -0
  424. package/templates/nuxt-web/forge.config.ts +3 -0
  425. package/templates/nuxt-web/package.json +37 -0
  426. package/templates/nuxt-web/pnpm-workspace.yaml +2 -0
  427. package/templates/nuxt-web/src/actions/logNoteCreated.ts +11 -0
  428. package/templates/nuxt-web/src/commands/createNote.ts +26 -0
  429. package/templates/nuxt-web/src/forge/schema.ts +12 -0
  430. package/templates/nuxt-web/src/policies.ts +6 -0
  431. package/templates/nuxt-web/src/queries/listNotes.ts +8 -0
  432. package/templates/nuxt-web/src/queries/liveNotes.ts +8 -0
  433. package/templates/nuxt-web/tsconfig.json +17 -0
  434. package/templates/nuxt-web/web/app.vue +67 -0
  435. package/templates/nuxt-web/web/components/LiveNotes.vue +89 -0
  436. package/templates/nuxt-web/web/components/NoteComposer.vue +100 -0
  437. package/templates/nuxt-web/web/composables/forge.ts +13 -0
  438. package/templates/nuxt-web/web/composables/useNotes.ts +24 -0
  439. package/templates/nuxt-web/web/nuxt.config.ts +11 -0
  440. package/templates/nuxt-web/web/package.json +22 -0
  441. package/templates/nuxt-web/web/plugins/forge.client.ts +10 -0
  442. package/templates/nuxt-web/web/plugins/forge.server.ts +10 -0
  443. package/templates/nuxt-web/web/server/api/forge-health.get.ts +7 -0
  444. package/templates/nuxt-web/web/tsconfig.json +6 -0
  445. package/templates/vendor-access/.vscode/settings.json +14 -0
  446. package/templates/vendor-access/README.md +30 -0
  447. package/templates/vendor-access/forge.config.ts +3 -0
  448. package/templates/vendor-access/package.json +35 -0
  449. package/templates/vendor-access/pnpm-workspace.yaml +2 -0
  450. package/templates/vendor-access/src/commands/addEvidence.ts +42 -0
  451. package/templates/vendor-access/src/commands/approveAccessRequest.ts +43 -0
  452. package/templates/vendor-access/src/commands/createAccessRequest.ts +49 -0
  453. package/templates/vendor-access/src/commands/seedVendorAccessDemo.ts +200 -0
  454. package/templates/vendor-access/src/forge/schema.ts +74 -0
  455. package/templates/vendor-access/src/policies.ts +11 -0
  456. package/templates/vendor-access/src/queries/listVendorAccessDashboard.ts +24 -0
  457. package/templates/vendor-access/src/queries/liveVendorAccessDashboard.ts +24 -0
  458. package/templates/vendor-access/tsconfig.json +17 -0
  459. package/templates/vendor-access/web/index.html +13 -0
  460. package/templates/vendor-access/web/package.json +21 -0
  461. package/templates/vendor-access/web/src/App.tsx +573 -0
  462. package/templates/vendor-access/web/src/lib/forge.ts +20 -0
  463. package/templates/vendor-access/web/src/main.tsx +205 -0
  464. package/templates/vendor-access/web/src/styles.css +682 -0
  465. package/templates/vendor-access/web/tsconfig.json +18 -0
  466. package/templates/vendor-access/web/vite.config.ts +36 -0
  467. package/src/forge/_generated/actionSubscriptions.json +0 -2
  468. package/src/forge/_generated/actionSubscriptions.ts +0 -10
  469. package/src/forge/_generated/agentAdapterManifest.json +0 -2
  470. package/src/forge/_generated/agentAdapterManifest.ts +0 -73
  471. package/src/forge/_generated/agentContract.json +0 -2
  472. package/src/forge/_generated/agentContract.ts +0 -7829
  473. package/src/forge/_generated/agentQuickstart.md +0 -34
  474. package/src/forge/_generated/agentTools.json +0 -2
  475. package/src/forge/_generated/agentTools.md +0 -16
  476. package/src/forge/_generated/agentTools.ts +0 -12
  477. package/src/forge/_generated/aiContext.ts +0 -125
  478. package/src/forge/_generated/aiModels.json +0 -2
  479. package/src/forge/_generated/aiModels.ts +0 -51
  480. package/src/forge/_generated/aiProviders.json +0 -2
  481. package/src/forge/_generated/aiProviders.ts +0 -23
  482. package/src/forge/_generated/aiRegistry.json +0 -2
  483. package/src/forge/_generated/aiRegistry.ts +0 -31
  484. package/src/forge/_generated/api.json +0 -2
  485. package/src/forge/_generated/api.ts +0 -8
  486. package/src/forge/_generated/appGraph.json +0 -2
  487. package/src/forge/_generated/appGraph.ts +0 -14937
  488. package/src/forge/_generated/appMap.md +0 -55
  489. package/src/forge/_generated/artifactManifest.json +0 -2
  490. package/src/forge/_generated/artifactManifest.ts +0 -7
  491. package/src/forge/_generated/authClaims.json +0 -2
  492. package/src/forge/_generated/authClaims.ts +0 -13
  493. package/src/forge/_generated/authConfig.json +0 -2
  494. package/src/forge/_generated/authConfig.ts +0 -17
  495. package/src/forge/_generated/authContext.ts +0 -23
  496. package/src/forge/_generated/authRegistry.json +0 -2
  497. package/src/forge/_generated/authRegistry.ts +0 -25
  498. package/src/forge/_generated/buildInfo.json +0 -2
  499. package/src/forge/_generated/buildInfo.ts +0 -9
  500. package/src/forge/_generated/capabilityMap.json +0 -2
  501. package/src/forge/_generated/capabilityMap.md +0 -15
  502. package/src/forge/_generated/capabilityMap.ts +0 -17
  503. package/src/forge/_generated/client.ts +0 -282
  504. package/src/forge/_generated/clientApi.ts +0 -9
  505. package/src/forge/_generated/clientManifest.json +0 -2
  506. package/src/forge/_generated/clientManifest.ts +0 -39
  507. package/src/forge/_generated/clientTypes.ts +0 -78
  508. package/src/forge/_generated/configRegistry.json +0 -2
  509. package/src/forge/_generated/configRegistry.ts +0 -4
  510. package/src/forge/_generated/dataGraph.json +0 -2
  511. package/src/forge/_generated/dataGraph.ts +0 -8
  512. package/src/forge/_generated/db.json +0 -2
  513. package/src/forge/_generated/db.ts +0 -2
  514. package/src/forge/_generated/dbSecurityManifest.json +0 -2
  515. package/src/forge/_generated/dbSecurityManifest.ts +0 -15
  516. package/src/forge/_generated/dbSessionContext.json +0 -2
  517. package/src/forge/_generated/dbSessionContext.ts +0 -39
  518. package/src/forge/_generated/deployManifest.json +0 -2
  519. package/src/forge/_generated/deployManifest.ts +0 -14
  520. package/src/forge/_generated/devManifest.json +0 -2
  521. package/src/forge/_generated/devManifest.ts +0 -62
  522. package/src/forge/_generated/envSchema.json +0 -2
  523. package/src/forge/_generated/envSchema.ts +0 -59
  524. package/src/forge/_generated/frontendGraph.json +0 -2
  525. package/src/forge/_generated/frontendGraph.ts +0 -27
  526. package/src/forge/_generated/importGuards.json +0 -2
  527. package/src/forge/_generated/importGuards.ts +0 -686
  528. package/src/forge/_generated/index.ts +0 -68
  529. package/src/forge/_generated/liveProductionManifest.json +0 -2
  530. package/src/forge/_generated/liveProductionManifest.ts +0 -23
  531. package/src/forge/_generated/liveProtocol.json +0 -2
  532. package/src/forge/_generated/liveProtocol.ts +0 -21
  533. package/src/forge/_generated/liveQueryRegistry.json +0 -2
  534. package/src/forge/_generated/liveQueryRegistry.ts +0 -9
  535. package/src/forge/_generated/liveTransportConfig.json +0 -2
  536. package/src/forge/_generated/liveTransportConfig.ts +0 -19
  537. package/src/forge/_generated/makeRegistry.json +0 -2
  538. package/src/forge/_generated/makeRegistry.ts +0 -177
  539. package/src/forge/_generated/makeTemplates.json +0 -2
  540. package/src/forge/_generated/makeTemplates.ts +0 -66
  541. package/src/forge/_generated/mockMap.json +0 -2
  542. package/src/forge/_generated/mockMap.ts +0 -7
  543. package/src/forge/_generated/operationPlaybooks.md +0 -167
  544. package/src/forge/_generated/packageGraph.json +0 -2
  545. package/src/forge/_generated/packageGraph.ts +0 -249334
  546. package/src/forge/_generated/packageUpgradeRegistry.json +0 -2
  547. package/src/forge/_generated/packageUpgradeRegistry.ts +0 -15
  548. package/src/forge/_generated/permissionMatrix.json +0 -2
  549. package/src/forge/_generated/permissionMatrix.ts +0 -7
  550. package/src/forge/_generated/policyRegistry.json +0 -2
  551. package/src/forge/_generated/policyRegistry.ts +0 -11
  552. package/src/forge/_generated/queryRegistry.json +0 -2
  553. package/src/forge/_generated/queryRegistry.ts +0 -9
  554. package/src/forge/_generated/react.d.ts +0 -22
  555. package/src/forge/_generated/react.ts +0 -29
  556. package/src/forge/_generated/reactManifest.json +0 -2
  557. package/src/forge/_generated/reactManifest.ts +0 -19
  558. package/src/forge/_generated/rlsPolicies.json +0 -2
  559. package/src/forge/_generated/rlsPolicies.sql +0 -34
  560. package/src/forge/_generated/rlsPolicies.ts +0 -6
  561. package/src/forge/_generated/runtimeGraph.json +0 -2
  562. package/src/forge/_generated/runtimeGraph.ts +0 -8
  563. package/src/forge/_generated/runtimeMatrix.json +0 -2
  564. package/src/forge/_generated/runtimeMatrix.ts +0 -334130
  565. package/src/forge/_generated/runtimeRegistry.ts +0 -2
  566. package/src/forge/_generated/runtimeRules.md +0 -91
  567. package/src/forge/_generated/secretRegistry.json +0 -2
  568. package/src/forge/_generated/secretRegistry.ts +0 -50
  569. package/src/forge/_generated/secretsContext.ts +0 -11
  570. package/src/forge/_generated/serverApi.ts +0 -10
  571. package/src/forge/_generated/sourceMapManifest.json +0 -2
  572. package/src/forge/_generated/sourceMapManifest.ts +0 -7
  573. package/src/forge/_generated/sqlPlan.json +0 -2
  574. package/src/forge/_generated/sqlPlan.ts +0 -88
  575. package/src/forge/_generated/subscriptionManifest.json +0 -2
  576. package/src/forge/_generated/subscriptionManifest.ts +0 -7
  577. package/src/forge/_generated/symbolicationManifest.json +0 -2
  578. package/src/forge/_generated/symbolicationManifest.ts +0 -17
  579. package/src/forge/_generated/telemetryRegistry.json +0 -2
  580. package/src/forge/_generated/telemetryRegistry.ts +0 -9
  581. package/src/forge/_generated/telemetrySinks.json +0 -2
  582. package/src/forge/_generated/telemetrySinks.ts +0 -11
  583. package/src/forge/_generated/tenantScope.json +0 -2
  584. package/src/forge/_generated/tenantScope.ts +0 -8
  585. package/src/forge/_generated/testGraph.json +0 -2
  586. package/src/forge/_generated/testGraph.ts +0 -3452
  587. package/src/forge/_generated/testPlanRegistry.json +0 -2
  588. package/src/forge/_generated/testPlanRegistry.ts +0 -33
  589. package/src/forge/_generated/uiRoutes.json +0 -2
  590. package/src/forge/_generated/uiRoutes.ts +0 -16
  591. package/src/forge/_generated/uiScenarios.json +0 -2
  592. package/src/forge/_generated/uiScenarios.ts +0 -30
  593. package/src/forge/_generated/uiTestManifest.json +0 -2
  594. package/src/forge/_generated/uiTestManifest.ts +0 -27
  595. package/src/forge/_generated/workflowRegistry.json +0 -2
  596. package/src/forge/_generated/workflowRegistry.ts +0 -9
  597. package/src/forge/_generated/workflowSubscriptions.json +0 -2
  598. package/src/forge/_generated/workflowSubscriptions.ts +0 -10
@@ -0,0 +1,1070 @@
1
+ # Changelog
2
+
3
+ Release history for the `forgeos` npm package.
4
+
5
+ The canonical source file in the repository is `CHANGELOG.md`.
6
+
7
+ ## Unreleased
8
+
9
+ - Explicit repository runtime plans, isolated-copy command execution and bounded Nuxt,
10
+ Spring, Docker and HTTP artifact context, with current-source/manifest/scenario binding
11
+ and expiration. CLI and MCP share execution opt-in; prepared Fabric workers consume
12
+ matching saved observations without starting exporters.
13
+
14
+ - Lazy large-map hydration, compatible streaming fingerprints, automatic retained
15
+ cache cleanup and source-bound paired agent benchmark planning/reporting. The
16
+ benchmark evaluates supplied evidence without implicit model/check execution.
17
+
18
+ - Deterministic scoped repository retrieval, precise case-level test associations,
19
+ static Nuxt/HTTP resolution, declared client mappings and informative check requirements.
20
+ - Validated partitions for large maps and root-neutral facts, prepared-clone parse
21
+ reuse and the read-only `repository quality --cases` benchmark. Static quality remains
22
+ partial; suggested checks and models are not executed by analysis.
23
+
24
+ ## 0.1.0-alpha.69
25
+
26
+ - Repository manifests and static maps for existing TypeScript/JavaScript, Vue/Nuxt,
27
+ Java/Spring/Maven/Gradle and Docker/Compose projects without adopting the Forge runtime.
28
+ - Snapshot-bound CAIR queries, incremental parsing, bounded project-routed MCP context
29
+ and validated cache identity/source provenance.
30
+ - Agent Fabric workers receive the map of their own prepared clone; the shared personal
31
+ skill also supports analysis in projects without Git.
32
+ - Static local TypeScript configuration inheritance, Vue conditional branches and
33
+ multiline Dockerfile instructions; ambiguous and dynamic behavior remains explicit.
34
+ - Local release staging preserves npm exclusions; the installed-package smoke checks
35
+ external Vue + Spring + Compose maps in addition to the application quickstart.
36
+ - Patched transitive dependency resolutions for provider utilities, PostCSS, Nano ID
37
+ and URI parsing remove the advisories reported by the checked-in lockfile audit.
38
+
39
+ ## 0.1.0-alpha.63
40
+
41
+ - `forge status` now verifies generated output deterministically instead of
42
+ inferring freshness from Git state, preventing committed stale artifacts from
43
+ appearing ready while `forge handoff` rejects them.
44
+ - Brownfield import now understands Java/Spring Boot projects: Maven dependency
45
+ inventory, Spring MVC mappings, Java handler scoping, path variables, and
46
+ `System.getenv(...)` usage.
47
+ - Imported Spring operations retain the same conservative review and agent
48
+ visibility defaults as TypeScript/JavaScript candidates.
49
+ - Java adapter builds now pin a release-aware Maven compiler plugin, and example
50
+ fixture setup safely replaces generated package directories in shared
51
+ workspaces.
52
+
53
+ ## 0.1.0-alpha.61
54
+
55
+ - Added `forge golden-path plan/status` as the canonical
56
+ create -> WorkOS auth -> field-test -> Docker deploy production path for
57
+ agents and users.
58
+ - `forge golden-path plan/status` now accepts `--forge-spec`, so maintainers can
59
+ run the same P0 path against `npm:forgeos@alpha`, a packed tarball, or a local
60
+ checkout before publishing.
61
+ - `forge golden-path status --real --production --json` now wraps WorkOS
62
+ posture, field-test evidence, and deploy readiness into one answer with the
63
+ current stage, blockers, and next command.
64
+ - `forge golden-path plan/status` now accepts `--client-id client_...`, so
65
+ agents that already know the AuthKit client id get exact WorkOS env/proof
66
+ commands instead of placeholder next actions.
67
+ - `forge golden-path status` now includes the first blocking stage in
68
+ `summary.blockers` (for example `workos-real-seed` or `workos-doctor`) before
69
+ lower-level deploy readiness blockers, so agents do not have to infer the
70
+ real next action.
71
+ - Added `forge auth prove --provider workos --real --client-id client_...
72
+ --file workos-seed.yml --json` as the provider-aware auth proof wrapper
73
+ around hosted WorkOS setup, seed evidence, public AuthKit env preparation, and
74
+ CLI login instructions.
75
+ - `forge auth prove --provider workos --real --client-id ...` now reads the
76
+ `.env.local` values it just prepared, so a successful real WorkOS proof reports
77
+ `mode: "oidc"`/`productionReady: true` instead of falling back to local
78
+ `dev-headers` in the same process.
79
+ - Added `forge workos env --client-id client_... --write --json` to prepare `.env.local` and
80
+ `web/.env.local` for real WorkOS/AuthKit proof, including audience/JWKS values
81
+ when `WORKOS_CLIENT_ID` is supplied and an explicit next action when the CLI
82
+ reports a client id exists but cannot expose the value.
83
+ - `forge golden-path plan/status --real` now includes the WorkOS env preparation
84
+ gate before hosted setup/seed proof, so agents fix missing client/JWKS envs
85
+ before retrying AuthKit login or deploy readiness.
86
+ - In `--real` mode, `forge golden-path status` now treats missing or stale
87
+ `.workos-seed-state.json` evidence as an auth-stage blocker and points agents
88
+ to `forge auth prove --provider workos --real --file workos-seed.yml --json`
89
+ after env is ready, or the `--client-id client_...` form when agents need the
90
+ proof command to prepare WorkOS env in the same step.
91
+ - `forge golden-path status` now returns compact field-test/deploy summaries
92
+ instead of embedding full command stdout, keeping the JSON safe for agents to
93
+ parse after realistic field-test runs.
94
+ - `forge deploy plan` and generated Docker production README output now point
95
+ back to `forge golden-path status --real --production --json` as the first
96
+ app-to-production triage command.
97
+ - `forge deploy readiness/check` now prioritizes the deploy env action that
98
+ actually unblocks production, such as copying
99
+ `deploy/.env.production.example` to `deploy/.env.production` before rerunning
100
+ auth diagnostics.
101
+ - `forge env doctor --target production` and `forge deploy check --production`
102
+ now reject known placeholder/dummy production env values without printing the
103
+ secret value, preventing copied examples like `client_test_local` or
104
+ `sk_test_dummy_do_not_use` from being treated as deploy-ready evidence.
105
+ - Docs now surface the WorkOS real + Docker deploy golden path from the CLI,
106
+ golden-path, field-testing, production-readiness pages, and README.
107
+ - Added a redacted WorkOS real vendor-access field report documenting hosted
108
+ setup, idempotent seed, AuthKit session bridge, tenant normalization,
109
+ policy denial, field-test evidence, and production deploy blockers.
110
+
111
+ ## 0.1.0-alpha.60
112
+
113
+ - Fixed the real WorkOS/AuthKit session bridge so generated React apps pass
114
+ normalized `/session` claims into `ForgeProvider` auth for commands, queries,
115
+ and liveQueries.
116
+ - Added optional WorkOS organization-to-Forge tenant mapping env support for
117
+ apps that use internal UUID tenant ids while WorkOS emits hosted `org_...`
118
+ organization ids.
119
+ - WorkOS dev sessions now derive permissions from active Forge policies when
120
+ AuthKit returns a role without permission claims, then normalize WorkOS
121
+ organization ids before cookie-backed runtime calls touch tenant-scoped data.
122
+ - `forge workos doctor` now validates that generated browser bridges pass
123
+ WorkOS claims into Forge auth instead of only exposing a UI session.
124
+
125
+ ## 0.1.0-alpha.58
126
+
127
+ - Fixed generated WorkOS AuthKit route helper TypeScript output by reading
128
+ provider-specific organization, membership, role, roles, and permissions
129
+ fields through a narrowed raw result record instead of undeclared SDK response
130
+ properties.
131
+ - WorkOS/AuthKit apps can keep callback claim enrichment for organization
132
+ selection and Forge-normalized session claims without failing `tsc --noEmit`
133
+ on generated files.
134
+
135
+ ## 0.1.0-alpha.57
136
+
137
+ - Fixed the WorkOS/AuthKit login path used by local and tunneled development:
138
+ Forge-owned authorization URLs now include `response_type=code` and no longer
139
+ send a default `organization_id` unless explicitly requested.
140
+ - The WorkOS callback now resolves organization and membership claims when
141
+ AuthKit returns only the user/token, then exposes Forge-normalized session
142
+ claims through `/session`.
143
+ - Added `forge dev --public-api-url` so browser-facing API URLs can be injected
144
+ cleanly for SSH tunnels, Docker Desktop, and remote dev hosts.
145
+ - The generated WorkOS React bridge now uses backend-owned `/login`, `/session`,
146
+ and `/logout` routes through same-origin/proxy-aware URL resolution.
147
+ - `forge add auth workos`, `forge workos setup --real`, `workos doctor`, and
148
+ `inspect ui --ergonomics` now understand the backend-owned AuthKit session
149
+ flow and sync public browser env into `web/.env.local`.
150
+
151
+ ## 0.1.0-alpha.56
152
+
153
+ - Added `forge deploy init --target docker` as the canonical production Docker
154
+ bootstrap command.
155
+ - Added `forge deploy readiness --production --json` to answer whether an app
156
+ can publish, what blocks production, and which command should run next.
157
+ - Added `forge env doctor --target local|staging|production --json` for safe,
158
+ target-specific env source reporting without exposing secret values.
159
+ - `forge deploy check --production --json` now includes grouped
160
+ blockers/warnings and a readiness summary for agent handoffs.
161
+ - `forge deploy verify --production --url ... --json` now validates required
162
+ public auth metadata and optional operational endpoints.
163
+ - Production docs now describe the canonical flow from deploy init through
164
+ field-test, readiness, package, and verify, with WorkOS FGA kept optional
165
+ unless the app opts into FGA artifacts.
166
+
167
+ ## 0.1.0-alpha.55
168
+
169
+ - `forge add auth workos` now defaults to AuthKit/RBAC, permission claims,
170
+ Forge policies, tenant claim mapping, seed, webhooks, and frontend bridge
171
+ without generating WorkOS FGA resource helpers.
172
+ - `forge add auth workos --with-fga` enables the optional WorkOS FGA resource
173
+ graph helpers and `resource_types` seed metadata for apps that need
174
+ resource-level authorization.
175
+ - WorkOS doctor/seed/deploy checks now treat FGA as optional unless the app has
176
+ FGA artifacts or FGA state, so normal WorkOS apps are gated by AuthKit, RBAC,
177
+ hosted seed evidence, policies, and tenant proof instead of mandatory FGA
178
+ proof.
179
+
180
+ ## 0.1.0-alpha.54
181
+
182
+ - WorkOS FGA setup writes now produce a paired machine-readable
183
+ `.forge/workos-fga-setup.json` artifact alongside the Markdown guide.
184
+ - The JSON artifact includes derived resource types, hosted setup boundary,
185
+ rerun commands, docs, unsupported automation notes, and paired artifact paths
186
+ for agents and CI.
187
+
188
+ ## 0.1.0-alpha.53
189
+
190
+ - `forge workos fga doctor --json` now distinguishes local FGA proof timestamps
191
+ from real WorkOS Authorization API proof timestamps, avoiding production
192
+ readiness confusion in agent handoffs.
193
+
194
+ ## 0.1.0-alpha.52
195
+
196
+ - Generated WorkOS FGA setup guides now include an explicit automation boundary
197
+ describing what ForgeOS can automate versus the hosted WorkOS resource-type
198
+ configuration that must exist before real resource sync.
199
+ - `forge workos fga sync --real --write --json` now provides a concrete
200
+ `setupGuidePath` even when real sync fails because hosted WorkOS resource
201
+ types are missing, so agents have a deterministic artifact for the remaining
202
+ setup and rerun commands.
203
+
204
+ ## 0.1.0-alpha.51
205
+
206
+ - `forge workos fga doctor --real --json` now reports a structured readiness
207
+ object for the full hosted FGA path: app-derived plan, hosted seed state,
208
+ real resource sync, membership env for WorkOS access checks, proof state, and
209
+ production readiness.
210
+ - FGA command JSON now includes `membershipEnv`, `seedState`, and `readiness`
211
+ metadata so agents can continue the no-dashboard WorkOS flow deterministically.
212
+ - Hosted FGA setup output now explicitly states that WorkOS resource type
213
+ creation is hosted WorkOS configuration, while ForgeOS can still sync
214
+ resources and run Authorization API checks after those types exist.
215
+ - WorkOS real checks now read `deploy/.env.production` as deploy evidence, and
216
+ `forge deploy check --production` runs WorkOS/FGA doctors with those values
217
+ in scope.
218
+ - Human FGA output now separates local planning success from real production
219
+ gate readiness.
220
+
221
+ ## 0.1.0-alpha.50
222
+
223
+ - WorkOS hosted setup now includes explicit
224
+ `WORKOS_MODE=agent npx --yes workos@latest auth login --json` guidance when
225
+ CLI OAuth/device-code login is required.
226
+ - `forge workos setup --real` now tells the operator to rerun the same setup
227
+ command after login instead of pointing generically at `prove --real`.
228
+ - Human WorkOS output now includes the login command, device URL/code, and exact
229
+ Forge rerun command for no-dashboard agent continuation.
230
+
231
+ ## 0.1.0-alpha.49
232
+
233
+ - `forge release doctor --json` now reports npm `alpha` and `latest` dist-tag
234
+ versions for public packages, including exact remediation when `latest`
235
+ points at an older alpha.
236
+ - The dist-tag check is advisory and non-publish-blocking, keeping alpha
237
+ release validation usable while making stale `latest` state explicit.
238
+ - GitHub Actions latest-promotion notices now include the local
239
+ `npm dist-tag add <package>@<version> latest` fallback and `NPM_TOKEN`
240
+ configuration hint when promotion is skipped.
241
+
242
+ ## 0.1.0-alpha.48
243
+
244
+ - Added the production-shaped WorkOS FGA flow:
245
+ `forge workos fga plan`, `sync`, `prove`, and `doctor` now derive an FGA
246
+ manifest from the app contract, policies, data graph, and `workos-seed.yml`.
247
+ - `forge workos fga sync --real` and `forge workos fga prove --real` can use
248
+ the authenticated WorkOS CLI/API path when `WORKOS_API_KEY` is not available,
249
+ so agents can continue the no-dashboard flow after `workos auth login`.
250
+ - FGA setup output now separates hosted WorkOS resource-type configuration from
251
+ ForgeOS-automated resource sync and authorization checks, and reports missing
252
+ resource types with exact next actions.
253
+ - `forge deploy check --production` now requires matching WorkOS FGA real
254
+ sync/proof evidence for WorkOS-backed apps and points operators at
255
+ `forge workos fga plan --write`, `sync --real`, and `prove --real`.
256
+ - WorkOS seed generation now keeps inferred parent resource relationships such
257
+ as `access_request -> vendor`, with regression coverage for the generated
258
+ seed, parser, deploy checks, and FGA plan output.
259
+
260
+ ## 0.1.0-alpha.47
261
+
262
+ - `forge workos setup --real` and `forge workos prove --real` now validate the
263
+ real OIDC/JWT and WorkOS environment before hosted setup, surfacing exact
264
+ failed checks like `setup:real-env-forge_auth_audience`.
265
+ - `forge deploy check --production` now requires WorkOS-backed apps to include
266
+ hosted seed evidence in `.workos-seed-state.json` matching the current
267
+ `workos-seed.yml`, with a direct `forge workos prove --real --file
268
+ workos-seed.yml --json` remediation.
269
+ - Clarified production, self-host, and field-test docs so local mock evidence,
270
+ hosted WorkOS seed evidence, and production deploy env evidence are treated
271
+ as separate gates.
272
+
273
+ ## 0.1.0-alpha.46
274
+
275
+ - `forge deps upgrade-apply` and `forge deps upgrade-rollback` now accept the
276
+ `planDir` returned by `forge deps upgrade-plan`, resolving it to the nested
277
+ `plan.json` automatically.
278
+ - Invalid upgrade plan directories now return a precise
279
+ `FORGE_DEPS_TARGET_NOT_FOUND` diagnostic with suggested commands instead of a
280
+ generic JSON parse failure.
281
+ - Added regression coverage for plan-directory apply behavior and missing
282
+ `plan.json` diagnostics.
283
+
284
+ ## 0.1.0-alpha.45
285
+
286
+ - `forge workos setup/prove --real` now passes the top-level unknown-option
287
+ guard, matching the documented no-dashboard WorkOS apply flow.
288
+ - `forge workos seed --file workos-seed.yml --json` now treats known WorkOS
289
+ duplicate-resource responses as explicit idempotency, suppressing duplicate
290
+ stderr in successful JSON output while recording `seedAlreadyAppliedReason`
291
+ and seed state.
292
+ - `forge field-test run` now uses an async harness process with periodic
293
+ progress heartbeats on stderr so realistic probes do not appear stuck.
294
+ - `forge deploy check --production` now reports sanitized env-source evidence,
295
+ including which production keys were found or missing, while keeping `.env`
296
+ and `.env.local` clearly marked as local guidance rather than production
297
+ deploy evidence.
298
+
299
+ ## 0.1.0-alpha.44
300
+
301
+ - `forge inspect ui --ergonomics` now treats helper-based seed recovery inside
302
+ `useEffect` as valid automatic first-run recovery, fixing a false
303
+ `FORGE_UI_AUTO_SEED_RECOVERY_MISSING` warning in the `vendor-access`
304
+ template.
305
+ - Added template regression coverage so `vendor-access` keeps its seed
306
+ controls, auto-seed UI scenario, and zero-warning ergonomics evidence in sync
307
+ with `forge field-test run --realistic`.
308
+
309
+ ## 0.1.0-alpha.43
310
+
311
+ - Included `scripts/field-test-forgeos.mjs` in the published npm package so
312
+ `forge field-test run` works from generated apps installed from
313
+ `forgeos@alpha`, not only from the ForgeOS framework checkout.
314
+ - `forge field-test run` now resolves the harness from the current workspace
315
+ first and then from the installed ForgeOS package, with a clearer diagnostic
316
+ listing searched paths when neither location exists.
317
+ - Added regression coverage for running the field-test command from an app
318
+ workspace that does not contain a local `scripts/field-test-forgeos.mjs`.
319
+
320
+ ## 0.1.0-alpha.42
321
+
322
+ - Added the golden-path CLI alias `forge field-test run --realistic`, which
323
+ enables runtime, auth, and UI probes together and defaults to the
324
+ WorkOS-backed `vendor-access` path when no template/auth override is
325
+ provided.
326
+ - Added `forge deploy package --target docker` as the user-facing production
327
+ packaging command while keeping `forge deploy render docker` compatible; the
328
+ generated production README and deploy plan now point at `package`.
329
+ - Added `forge workos prove --file workos-seed.yml --json` as an aggregate
330
+ no-dashboard proof for WorkOS/AuthKit/FGA/seed readiness, with `--real`
331
+ applying hosted setup through the existing WorkOS CLI integration.
332
+ - `forge field-test report` now requires zero UI ergonomics warnings before
333
+ marking a UI-probed report ready for deploy checks, so product-surface
334
+ problems like demo copy, raw fetch errors, or exposed dev diagnostics cannot
335
+ pass as production-ready evidence.
336
+ - `forge inspect ui --ergonomics` now warns when a production-auth/WorkOS app
337
+ exposes local persona or dev-auth controls without explicitly separating
338
+ them as local development mode, reducing confusion between mock identity and
339
+ real AuthKit/OIDC auth.
340
+ - UI scenarios now support a `selectOption` step and the `vendor-access`
341
+ template generates browser scenarios for local sign-in, requester approval
342
+ denial, first-run seeded vendor data, and seed/reset controls, so field tests
343
+ can cover role-specific product flows instead of only loading `/`.
344
+ - `forge field-test report` now treats those `vendor-access` UI scenarios as
345
+ deploy-readiness evidence, requiring local sign-in, seeded-data,
346
+ requester-denied, and seed-control scenario names whenever UI probes run for
347
+ the template.
348
+ - `forge inspect ui --ergonomics` now warns with
349
+ `FORGE_UI_AUTO_SEED_RECOVERY_MISSING` when demo/sample seed commands exist
350
+ but the frontend does not appear to auto-recover an empty first-run
351
+ workspace, catching apps that open on an unseeded or broken-looking state.
352
+ - `forge ui doctor` and UI scenario runs now resolve Playwright from the app or
353
+ `web/` package root, infer npm/pnpm/bun/yarn setup commands from lockfiles,
354
+ and distinguish missing installs from missing Playwright dependencies instead
355
+ of always suggesting Bun commands.
356
+ - `forge field-test report` now treats `vendor-access` seed readiness as
357
+ deploy-ready only when `seed status` proves `autoSeedMode: "all-tenants"`,
358
+ catching regressions where domain probes pass but `npm run dev` would still
359
+ warm only the default tenant.
360
+ - `forge seed dev --all-tenants` and `forge seed reset --all-tenants` now
361
+ preserve successful per-tenant warnings in the aggregate `diagnostics`
362
+ payload, deduplicating repeated warning codes/messages while keeping full
363
+ per-tenant diagnostics under `tenantRuns`.
364
+ - `forge seed status` now warns with `FORGE_SEED_DEV_PARTIAL_TENANTS` when an
365
+ app exposes multiple local tenant/persona profiles but `npm run dev` only
366
+ uses `forge dev --seed` without `--all-tenants`, and it promotes
367
+ `forge dev --seed --all-tenants` as the first empty-workspace recovery.
368
+ - `forge dev --seed` startup summaries now surface seed warnings even when the
369
+ seed command itself succeeds, so partial multi-tenant seeding is visible in
370
+ the first dev-server payload and human terminal output.
371
+ - `forge seed status --json`, `forge dev --seed --json`, and field-test
372
+ reports now expose `autoSeedMode` (`none`, `default-tenant`, or
373
+ `all-tenants`) alongside the compatibility booleans `autoSeedOnDev` and
374
+ `autoSeedAllTenantsOnDev`, making it obvious when `npm run dev` warms every
375
+ discovered local tenant/persona instead of only the default tenant.
376
+ - The `vendor-access` starter now runs `forge dev --seed --all-tenants` from
377
+ `npm run dev`, so Acme and Globex local workspaces are warmed up by default
378
+ instead of leaving secondary tenant views empty until manual seeding.
379
+ - Human `forge dev --seed --all-tenants` startup output now lists per-tenant
380
+ seed results with labels and HTTP status, matching the structured startup
381
+ JSON evidence without requiring agents to rerun with `--json`.
382
+ - `forge inspect ui --ergonomics` now warns when a WorkOS/AuthKit frontend is
383
+ mounted but does not expose normalized `/session` claims or proxy the AuthKit
384
+ login/callback/logout/session routes, catching half-wired production auth
385
+ flows before browser testing.
386
+ - `forge inspect ui --ergonomics` now warns when Forge/WorkOS operational
387
+ diagnostics such as env names, seed files, claims dumps, capability maps, or
388
+ policy proofs appear in the primary product surface instead of a collapsible
389
+ developer panel.
390
+ - `forge inspect ui --ergonomics` now requires WorkOS-authenticated apps to
391
+ expose a visible WorkOS/AuthKit sign-in/sign-out path, `/login`/`/logout`
392
+ link, or AuthKit signIn/signOut call, so local-persona buttons or
393
+ organization/session copy alone no longer count as a real WorkOS auth flow.
394
+ - `forge workos seed --file ... --json` now writes a local
395
+ `.workos-seed-state.json` after successful hosted seed application or known
396
+ duplicate-resource/idempotent WorkOS responses, giving agents a stable,
397
+ secret-free proof that the seed was applied or already present.
398
+ - `forge workos doctor --json` and `forge workos seed --dry-run --json` now
399
+ read `.workos-seed-state.json`, report whether it matches the current
400
+ `workos-seed.yml`, and surface seed drift before an agent reapplies hosted
401
+ WorkOS changes.
402
+ - `forge workos setup --json` now surfaces the same seed-state summary at the
403
+ top level for dry-runs and real no-dashboard setup runs, so agents can see
404
+ hosted seed drift without digging through nested seed payloads.
405
+ - Human `forge workos setup --real` output now reports whether
406
+ `.workos-seed-state.json` matches the current seed after hosted setup,
407
+ keeping text-mode CLI handoffs aligned with JSON evidence.
408
+ - `forge workos doctor --json` now includes structured WorkOS coverage data
409
+ (`seed`, `seedState`, active policy permissions, expected resource types, and
410
+ missing/unused seed coverage) so agents can verify auth setup without parsing
411
+ human check text.
412
+ - `forge seed status --json` now reports seed readiness, including the selected
413
+ seed command, default local dev-auth headers, whether `npm run dev` already
414
+ auto-seeds through `forge dev --seed`, and exact recovery commands for empty
415
+ workspaces.
416
+ - `forge seed status --json` now discovers local frontend tenant/persona
417
+ profiles and emits per-tenant `forge seed dev`/`forge seed reset` commands,
418
+ making multi-tenant field apps easier to warm up and test without guessing
419
+ Acme/Globex headers.
420
+ - `forge seed dev --all-tenants` and `forge seed reset --all-tenants` now run
421
+ the selected seed command against every discovered local tenant/persona,
422
+ returning per-tenant request/response evidence for multi-tenant field tests.
423
+ - The `vendor-access` field-test runtime probe now uses
424
+ `forge seed dev --all-tenants` and accepts that single bulk-seed proof as the
425
+ deploy-readiness seed evidence, while still accepting older Acme/Globex
426
+ per-tenant report artifacts.
427
+ - `forge dev --seed --all-tenants` now forwards the discovered local
428
+ tenant/persona set into startup seeding and includes per-tenant seed run
429
+ evidence in the dev startup JSON summary.
430
+ - Generated-drift JSON now includes a concurrency note and normalized
431
+ sequential `generate`/`generate --check` commands, so agents do not mistake a
432
+ parallel `forge generate`/`forge generate --check` race for a persistent
433
+ generator defect.
434
+ - `forge dev --seed` startup output now includes the same seed readiness block
435
+ in `summary.seed.readiness`, so Studio and coding agents can diagnose empty
436
+ workspaces from the first dev-server payload.
437
+ - `forge seed` now normalizes recovery and diagnostic commands for the current
438
+ workspace, so framework checkouts show `node bin/forge.mjs ...` while
439
+ generated apps continue to show `forge ...`.
440
+ - `forge seed status` now recognizes auto-seeded dev scripts whether they call
441
+ `forge dev --seed`, `npm run forge -- dev --seed`, or the local
442
+ `bin/forge.mjs dev --seed` entrypoint.
443
+ - Human `forge seed` output now prints an `empty workspace recovery` section
444
+ with the same workspace-normalized commands exposed in JSON readiness.
445
+ - `forge field-test report` now treats `vendor-access` seed readiness as
446
+ deploy-check evidence, so reports must prove the app exposes deterministic
447
+ empty-workspace recovery commands before they are marked deploy-ready.
448
+ - Cleaned the `vendor-access` starter's local identity naming so the app uses
449
+ `LocalPersona`/workspace seed terminology instead of demo-auth terminology in
450
+ its authored frontend code and audit seed copy.
451
+ - `forge add auth workos` now treats already-declared WorkOS packages as an
452
+ idempotent no-op for package installation, emits
453
+ `FORGE_ADD_PACKAGE_ALREADY_DECLARED`, and continues adapter/AuthKit generation
454
+ instead of surfacing a misleading install failure.
455
+ - `forge add auth workos` now generates a browser session helper and rewrites
456
+ the `vendor-access` WorkOS shell to read normalized `/session` claims for
457
+ organization, role, and permissions. Vite/Next templates now proxy `/session`
458
+ alongside `/login`, `/callback`, and `/logout`.
459
+ - `forge workos doctor` now verifies the generated browser AuthKit bridge
460
+ exposes `useForgeWorkOSSession` and that web dev config proxies `/session`
461
+ with the AuthKit login/logout/callback routes, catching half-wired WorkOS
462
+ apps before browser testing.
463
+ - `forge workos doctor` and `forge workos seed` now report unused seed
464
+ permissions against the app's active policy permissions, making generic or
465
+ stale seed files visible without blocking intentionally broader seeds.
466
+ - `forge check` now fails fast on `defineTable(..., { id: "text" })` with
467
+ `FORGE_DB_INVALID_ID_FIELD`, before the app reaches confusing SQL/runtime
468
+ primary-key behavior. Omit `id` for generated UUID ids or use `id: "uuid"`.
469
+ - Field-test runtime probes now start `forge dev` with `--port 0` and
470
+ `--web-port 0`, then read the concrete API/web URLs from startup JSON instead
471
+ of pre-reserving ports in the harness.
472
+ - Hardened `forge inspect ui --ergonomics` so generated apps with runtime
473
+ commands/policies warn when they lack an obvious primary workflow action,
474
+ workflow navigation, permission feedback, or when ForgeOS/demo copy appears
475
+ in the main product surface instead of a collapsible dev panel.
476
+ - Tightened seed UX auditing so command names such as `seedVendorAccessDemo`
477
+ no longer count as a visible first-run recovery path; apps with seed commands
478
+ now need an actual seed/reset/status control or tenant-data recovery copy.
479
+ - Expanded UI ergonomics checks to catch `powered by ForgeOS` and
480
+ `ForgeOS ... demo` copy on the product surface, and cleaned starter template
481
+ first screens so generated apps open as useful products rather than framework
482
+ advertisements.
483
+ - Reduced UI auth-flow false positives: apps that merely support `jwt`/`oidc`
484
+ modes no longer look production-authenticated unless they set an active
485
+ production auth mode, use tenant-scoped data, or include a WorkOS integration.
486
+ - Updated the `minimal-web` starter with real workflow navigation and section
487
+ anchors so new apps no longer start with a UI ergonomics navigation warning.
488
+ - Made the `vendor-access` starter run `forge dev --seed` by default, with
489
+ `dev:no-seed` available for empty-state debugging.
490
+ - Fixed the `vendor-access` README quickstart so it tells users to run the
491
+ auto-seeded `npm run dev` script instead of appending a duplicate `--seed`
492
+ flag.
493
+ - Tightened the `vendor-access` dashboard queries so the root organization
494
+ record is loaded by the active tenant id instead of listing every demo
495
+ organization in the workspace.
496
+ - Strengthened the `vendor-access` field-test probes to fail when the
497
+ dashboard payload leaks the other tenant's root organization record, not just
498
+ the other tenant's vendors.
499
+ - Made the `vendor-access` starter retry automatic demo seeding after transient
500
+ frontend/API failures instead of marking a tenant as seeded before the seed
501
+ command succeeds.
502
+ - Hardened `forge field-test report` production evidence so
503
+ `readyForDeployCheck` requires concrete runtime health/entries probes, auth
504
+ setup commands, auth metadata endpoint probes, a web UI probe, and UI
505
+ ergonomics evidence instead of trusting enabled probe flags alone.
506
+ - Aligned `forge deploy check --production` with the stricter field-test
507
+ evidence contract, including explicit missing-evidence messages for runtime,
508
+ auth setup, auth metadata, UI, and ergonomics probes.
509
+ - Improved `forge add auth workos` for the `vendor-access` starter so real
510
+ WorkOS browser config bypasses the local identity selector and renders an
511
+ AuthKit-backed app shell, while retaining explicit local identity mode when
512
+ WorkOS env vars are absent.
513
+ - Simplified the `vendor-access` local login surface to a persona picker plus
514
+ local-mode continue action instead of a fake email/password form, making the
515
+ boundary between dev-header simulation and real WorkOS/AuthKit login clearer.
516
+ - Tightened UI ergonomics around auth demos: `forge inspect ui --ergonomics`
517
+ now warns on demo-login language and fake password-style auth forms in the
518
+ primary app shell, and the `vendor-access` template labels local identity and
519
+ workspace seed controls without fake credential copy.
520
+ - Field-test reports created with `--ui-probes` now include UI ergonomics audit
521
+ evidence, and `forge deploy check --production` requires that evidence while
522
+ surfacing UX warnings separately from runtime/auth failures.
523
+ - Field-test UI probes now reject obvious broken first-screen HTML such as
524
+ `Failed to fetch`, `No organization seeded`, and raw Forge runtime errors
525
+ instead of treating any reachable Vite/Next/Nuxt shell as product evidence.
526
+ - `forge field-test report` now requires the `vendor-access` app's concrete
527
+ multi-tenant domain probes before marking field-test evidence deploy-ready:
528
+ seed Acme/Globex, query both tenants, allow owner approval, deny requester
529
+ approval, and deny cross-tenant approval.
530
+
531
+ ## 0.1.0-alpha.41
532
+
533
+ - Fixed package install detection for npm workspace apps that hoist frontend
534
+ dependencies. `forge add auth workos` now recognizes
535
+ `@workos-inc/authkit-react` when it is installed for `web/` but resolved from
536
+ an ancestor `node_modules`.
537
+
538
+ ## 0.1.0-alpha.40
539
+
540
+ - Completed the WorkOS/AuthKit production-like app setup loop, including
541
+ no-dashboard WorkOS setup, browser AuthKit doctor checks, generated Vite React
542
+ AuthKit bridge, production auth readiness checks, and improved dev lifecycle
543
+ diagnostics.
544
+
545
+ ## 0.1.0-alpha.39
546
+
547
+ - Hardened real WorkOS seed setup: generated `workos-seed.yml` files no longer
548
+ use `// @forge-generated` headers, `forge workos seed --dry-run` is the
549
+ validation-only path, real seed runs handle known duplicate-resource WorkOS
550
+ responses as already-applied state, and scaffolded apps ignore
551
+ `.workos-seed-state.json` by default.
552
+
553
+ ## 0.1.0-alpha.38
554
+
555
+ - Added first-class production deployment commands:
556
+ `forge deploy plan`, `forge deploy render docker`,
557
+ `forge deploy check --production`, and
558
+ `forge deploy verify --production`.
559
+ - Generated Docker deployment files now use the app's detected package manager,
560
+ require the matching lockfile for production checks, read
561
+ `deploy/.env.production`, and avoid hidden hard-coded `DATABASE_URL`
562
+ overrides.
563
+ - Added `forge field-test create`, `forge field-test run`, and
564
+ `forge field-test report`, including runtime/auth probe summaries and
565
+ `productionEvidence` so field-test reports can feed
566
+ `forge deploy check --production`.
567
+ - Split `forge release doctor` into npm publish readiness and production deploy
568
+ readiness, so package publishing is not confused with a production-ready app
569
+ claim.
570
+ - Made `forge handoff --json` include commit-ready files by default, excluding
571
+ generated and operational artifacts while reporting how much noise was
572
+ filtered out.
573
+ - Clarified local auth versus production auth with `forge auth status` posture
574
+ classifications, local `x-forge-*` header reporting, and production proof
575
+ next actions.
576
+ - Added `dbGuide` to `forge doctor runtime` and `forge doctor pglite` so agents
577
+ know when to use `--db memory`, `--db pglite`, stop an active process, or run
578
+ local PGlite repair.
579
+ - Updated production, self-host, field-test, security, troubleshooting, and CLI
580
+ docs to reflect the new deploy/auth/database workflow.
581
+
582
+ ## 0.1.0-alpha.37
583
+
584
+ - Fixed `forge deps upgrade-plan` for npm alias installs used by ForgeOS apps.
585
+ - Recorded the real package name from package metadata in generated package
586
+ graph entries when a dependency is installed through an alias such as
587
+ `forge: npm:forgeos@...`.
588
+ - Resolved upgrade plans by either the real package name (`forgeos`) or the
589
+ dependency alias (`forge`) while preserving install specs like
590
+ `forge@npm:forgeos@0.1.0-alpha.37`.
591
+ - Avoided attempting to resolve the unrelated public `forge@alpha` package when
592
+ an app asks to upgrade its ForgeOS alias dependency.
593
+ - Added regression coverage for aliased package graph entries where the import
594
+ name and real npm package name differ.
595
+
596
+ ## 0.1.0-alpha.36
597
+
598
+ - Smoothed the alpha field-test loop after the Vendor Access app exercise.
599
+ - Taught `forge deps upgrade-plan` to resolve npm alias dependencies such as
600
+ `forge: npm:forgeos@alpha`, while preserving alias install specs like
601
+ `forge@npm:forgeos@0.1.0-alpha.36` in generated upgrade plans.
602
+ - Normalized `auth.md` runtime risk rendering so Commands and Risk/Approval
603
+ metadata agree that commands default to `write`.
604
+ - Added non-throwing command proof APIs through generated
605
+ `client.commandResult(...)` and React `useCommandResult(...)`, so expected
606
+ policy denials can be rendered as structured results instead of noisy
607
+ unhandled browser failures.
608
+ - Updated the basic example schema/docs to use `organizations` as the root
609
+ tenant table instead of a self-referential `tenants` root.
610
+
611
+ ## 0.1.0-alpha.35
612
+
613
+ - Hardened field-test regressions found while building WorkOS-style
614
+ multi-tenant apps.
615
+ - Resolved camelCase `ref:` targets such as `ref:accessRequests` to canonical
616
+ SQL table names like `access_requests`, and reported unknown refs before
617
+ invalid SQL reaches PGlite.
618
+ - Allowed WorkOS-like local dev auth headers through dev-server CORS,
619
+ including organization, membership, permissions, roles, and claims headers.
620
+ - Taught the generated agent contract and capability map to recognize
621
+ camelCase `ctx.db` aliases for snake_case tables.
622
+ - Avoided printing fake `http://127.0.0.1:0` API URLs in
623
+ `forge dev --port 0` startup diagnostics.
624
+
625
+ ## 0.1.0-alpha.34
626
+
627
+ - Hardened the ForgeOS app-building DX after the Vendor Access field test.
628
+ - Made `forge workos doctor` and `forge workos seed --dry-run` app-aware by
629
+ deriving active permissions and resource types from generated policies, data
630
+ graph, agent contract, authored WorkOS policies, and `workos-seed.yml`
631
+ instead of assuming onboarding-specific slugs.
632
+ - Added strong diagnostics for unnamed runtime default exports so
633
+ `export default command(...)` reports `FORGE_RUNTIME_EXPORT_NAME_REQUIRED`
634
+ with a named-export fix hint before generated API, frontend bindings, or
635
+ capability maps drift.
636
+ - Extended local `devAuth` for React, Vue, generated clients, and runtime auth
637
+ parsing with WorkOS-like `permissions`, `roles`, `claims`, `organizationId`,
638
+ and `organizationMembershipId`.
639
+ - Added nullable timestamp schema support through `timestamp?` /
640
+ `nullable("timestamp")` and taught `forge check` to flag empty timestamp
641
+ literals in commands, queries, and liveQueries.
642
+ - Added `forge dev --detach`, `forge dev status`, `forge dev stop`, and
643
+ command-specific `forge dev --help` with explicit DB/port examples for
644
+ agent-run app previews.
645
+ - Added `forge changed --commit-ready` and `forge handoff --commit-ready` so
646
+ agents can stage exactly authored commit files while excluding generated and
647
+ operational artifacts.
648
+ - Added `forge test authz` for a cheap generated-contract proof of tenant
649
+ scope, policy bindings, and capability-map authz coverage.
650
+ - Exposed static UI/UX readiness through `forge inspect ui --ergonomics`.
651
+
652
+ ## 0.1.0-alpha.33
653
+
654
+ - Fixed the Nuxt template smoke by adding the explicit `vue-tsc` dev
655
+ dependency required by `nuxt typecheck`, so newly scaffolded `nuxt-web` apps
656
+ can run `npm run typecheck` after install without manual package repair.
657
+
658
+ ## 0.1.0-alpha.32
659
+
660
+ - Accepted `create-forgeos-app --git` as a supported/no-op compatibility flag
661
+ when git initialization is already handled by the scaffold path, and kept
662
+ `npm create forgeos-app@alpha .` working from empty current directories.
663
+ - Added stronger schema validation for `id` so apps cannot accidentally model
664
+ the primary key as a normal text field and generate incorrect SQL.
665
+ - Fixed tenant-scoped updates in the in-memory database adapter and made memory
666
+ timestamp handling closer to PGlite by rejecting empty timestamp strings and
667
+ returning `Date` objects for timestamp columns.
668
+ - Improved smoke/generate drift diagnostics and kept `forge handoff` read-only
669
+ with respect to generated artifacts.
670
+ - Improved WorkOS/auth app DX: root-level `workos-seed.yml`, `HEAD /auth.md`,
671
+ `HEAD /.well-known/oauth-protected-resource`, and clearer local-vs-production
672
+ auth posture.
673
+ - Normalized suggested Forge commands in framework checkouts so `agent`,
674
+ `delta`, `studio`, `status`, `changed`, `handoff`, doctors, and WorkOS/auth
675
+ helpers recommend `node bin/forge.mjs ...` instead of a possibly stale global
676
+ `forge`.
677
+ - Returned structured JSON diagnostics for Delta/PGlite export/open failures
678
+ instead of raw PGlite stack output, and expanded Windows/PGlite repair hints.
679
+ - Expanded `forge ui audit` with static UX/auth-readiness warnings for missing
680
+ semantic landmarks, unlabeled form controls, unnamed buttons, missing
681
+ loading/error/empty states, and tenant/prod-auth apps that still only expose
682
+ local dev auth posture.
683
+
684
+ ## 0.1.0-alpha.31
685
+
686
+ - Added Forge workspace baselines for non-git app directories:
687
+ `forge baseline create` records a local baseline and `forge changed` /
688
+ `forge handoff` can now report baseline diffs instead of noisy full
689
+ filesystem inventories.
690
+ - Added `forge auth status` and production-aware `forge auth prove --prod`
691
+ posture checks so local `dev-headers` auth is clearly distinguished from
692
+ JWT/OIDC production authentication.
693
+ - Expanded `forge doctor windows` with local PGlite store posture and cleanup
694
+ guidance, and made PGlite abort inspection preserve the surrounding process
695
+ exit code.
696
+ - Added `forge ui audit` and wired it into `forge verify --smoke` for web apps
697
+ to catch missing route scenarios, missing stable Forge test IDs, and missing
698
+ policy-denied coverage for sensitive flows. It now also reports static
699
+ UX/auth-readiness warnings for missing semantic landmarks, unlabeled form
700
+ controls, unnamed buttons, missing loading/error/empty states, and
701
+ tenant/prod-auth apps that still only expose local dev auth posture.
702
+ - Brought the in-memory DB adapter closer to PGlite for timestamp fields by
703
+ rejecting empty timestamp values and returning `Date` objects for
704
+ `timestamp`/`timestamptz` columns.
705
+ - Made `forge handoff` use a read-only generated-artifact check so preparing a
706
+ handoff no longer rewrites `src/forge/_generated/**`, `forge.lock`, or
707
+ generated `AGENTS.md` noise; `forge dev --once` still self-heals stale
708
+ artifacts.
709
+ - Allowed `forge new .` / `npm create forgeos-app@alpha .` from an empty
710
+ current directory, while refusing non-empty directories to avoid overwriting
711
+ existing apps.
712
+
713
+ ## 0.1.0-alpha.30
714
+
715
+ - Hardened the WorkOS/AuthKit adapter and dev telemetry after the alpha.29
716
+ field app test.
717
+ - Generated WorkOS AuthKit routes now normalize SDK `User` objects before
718
+ passing them into Forge session and organization-resolution helpers, so apps
719
+ typecheck cleanly against the WorkOS SDK without unsafe direct
720
+ `Record<string, unknown>` casts.
721
+ - Telemetry is now best-effort when a database adapter applies
722
+ `INSERT ... RETURNING` but omits returned rows, preventing telemetry from
723
+ surfacing as `FORGE_DEV_SERVER_ERROR`.
724
+ - Added regression coverage for generated WorkOS adapter typechecking and
725
+ telemetry inserts that return no rows.
726
+
727
+ ## 0.1.0-alpha.29
728
+
729
+ - Added the first WorkOS/AuthKit adapter surface: `forge add auth workos`
730
+ generates local AuthKit wiring, `.env.example`, `workos-seed.yml`, demo
731
+ organizations, roles, permissions, redirect/CORS/webhook hints, JWT/OIDC
732
+ claim mapping, and permission-derived Forge policies.
733
+ - Added `forge authmd generate` and `forge authmd check`, including
734
+ `public/auth.md`, OAuth protected-resource metadata, command/policy/tenant
735
+ requirements, approval metadata, and `forge dev` serving for `/auth.md` and
736
+ `/.well-known/oauth-protected-resource`.
737
+ - Added local WorkOS/FGA scaffolding without requiring real WorkOS credentials:
738
+ resource graph helpers, cross-tenant guards, FGA check cache/fallback
739
+ telemetry, a mock WorkOS testkit, and Acme/Globex multi-tenant regression
740
+ coverage.
741
+ - Taught Forge auth and policies to evaluate permission claims alongside
742
+ roles, including dev-header permission simulation.
743
+ - Added `forge version --json` as a command alias and improved the generated
744
+ agent contract/capability map so table reads performed by imported local
745
+ helpers are captured.
746
+
747
+ ## 0.1.0-alpha.28
748
+
749
+ - Accepted visible Codex hook canaries as sufficient for local editing while
750
+ reporting native Codex provenance separately through `nativeTrustStatus`, so
751
+ `waiting-for-user-trust` no longer implies missing user approval when the
752
+ canary path is already working.
753
+ - Added regression coverage and docs for the split between hook approval,
754
+ canary readiness, and trusted native Codex signal proof.
755
+
756
+ ## 0.1.0-alpha.27
757
+
758
+ - Stabilized the `forge add convex` loop: integration docs/testkits are now
759
+ re-emitted by the main generator, partial `forge add` plans no longer remove
760
+ unrelated generated files, stale fast-check manifest hashes are pruned instead
761
+ of merged, and `forge add --json` includes changed package-manager files.
762
+ - Made runtime mock mode tolerate Bun builds without `Bun.mock.module` while
763
+ still applying mock secret environment variables.
764
+ - Filtered generated and operational filesystem noise from
765
+ `forge changed --authored` in non-git workspaces.
766
+ - Excluded Java build outputs such as `target/`, `.class`, and `.jar` files
767
+ from the published npm tarball.
768
+
769
+ ## 0.1.0-alpha.26
770
+
771
+ - Hardened the field-demo loop after the Team Onboarding app exercise:
772
+ non-git workspaces now get a filesystem-backed `changed`/`handoff` summary,
773
+ `forge make resource` stays global unless tenant scope is explicit or already
774
+ modeled, capability-map extraction sees aliased `ctx.db` table usage, and
775
+ Agent Memory waits through short-lived DeltaDB writer locks before reporting
776
+ `FORGE_DELTA_BUSY`.
777
+
778
+ ## 0.1.0-alpha.25
779
+
780
+ - Hardened DeltaDB and Agent Memory for concurrent `forge dev` usage:
781
+ dev recorders now release the writer lock between events, Agent Memory ingest
782
+ retries short transient writer conflicts, and queued Codex hook events keep
783
+ their checkpoint unchanged when DeltaDB is temporarily busy.
784
+ - Fixed tenant-scope reporting in the generated agent contract and capability
785
+ map for camelCase authored tables such as `onboardingTasks`, so liveQuery
786
+ dependencies now report `tenant` scope when `tenantScope.json` confirms the
787
+ table is tenant-scoped.
788
+ - Added regression tests and docs for the DeltaDB lock recovery path and the
789
+ Team Onboarding style capability-map tenant-scope path.
790
+
791
+ ## 0.1.0-alpha.24
792
+
793
+ - Consolidated the public alpha adoption surface: MIT license, package license
794
+ metadata, private GitHub Security Advisory disclosure, stable-alpha status
795
+ matrix, AI-coding loop, three short agent demos, and repeatable agent eval
796
+ task specs.
797
+ - `forge new --json` now returns structured JSON for scaffold automation
798
+ instead of human next-step text.
799
+ - Added the initial `forge add convex` app-contract recipe with runtime
800
+ placement guardrails, optional Convex environment names, generated docs, and
801
+ a mock testkit. The deeper Convex schema/API importer is documented as
802
+ planned rather than implied.
803
+ - Expanded field-report expectations and release/doc tests for license,
804
+ security disclosure, create-app help, Convex recipes, and public docs
805
+ navigation.
806
+
807
+ ## 0.1.0-alpha.23
808
+
809
+ - Tightened the post-alpha.22 release surface and package evidence:
810
+ added a dedicated Nuxt template smoke workflow, included `nuxt-web` in the
811
+ default field-test template matrix, packaged `docs/cair-protocol.md`, and
812
+ expanded the security/threat-model docs for DeltaDB, agent memory, CAIR,
813
+ Studio bridge, brownfield import, and Nuxt surfaces.
814
+ - `forge agent context` now returns explicit `scopeTarget` metadata and prints
815
+ the resolved context target for entry, change, proof, and handoff packs.
816
+ - `forge explain` now falls back to the current generated agent contract when
817
+ DeltaDB has no runtime history, marking the entry as contract-defined rather
818
+ than executed.
819
+ - DeltaDB work-session inference now treats read-only observation commands such
820
+ as `forge status`, `forge changed`, `forge handoff`, `forge explain`,
821
+ `forge timeline`, and CAIR queries as low-confidence context-gathering
822
+ sessions.
823
+
824
+ ## 0.1.0-alpha.22
825
+
826
+ - Added focused post-alpha.21 workflow improvements without expanding MCP tools:
827
+ scoped Agent Memory context packs, DeltaDB verbose health details, Semantic
828
+ Timeline stale-proof/causal summaries, Studio snapshot handoff metadata,
829
+ local Delta maintenance commands (`compact`, `prune`, redacted `export`),
830
+ `forge doctor delta`, CAIR timeline events, and a dedicated CAIR Protocol
831
+ documentation page.
832
+ - Added an official `nuxt-web` template: a Forge notes backend plus Nuxt app
833
+ using client/server Forge plugins, `web/composables/useNotes.ts`, generated
834
+ Vue composables, a Nitro runtime-config route, and
835
+ `NUXT_PUBLIC_FORGE_URL`.
836
+
837
+ ## 0.1.0-alpha.21
838
+
839
+ Alpha.21 hardens external-agent privacy and brownfield import polish:
840
+
841
+ - Codex hook runner queue entries now store redacted payloads instead of raw
842
+ prompts, tool inputs, tool responses, or transcripts.
843
+ - Consumed hook queue history is compacted as redacted `.history` entries, so
844
+ old raw queue lines are not copied forward during retention.
845
+ - Brownfield import now scopes write/side-effect heuristics to the detected
846
+ route handler when possible, preventing sibling mutating routes from making a
847
+ read-only GET route look command-like.
848
+ - Read-shaped `POST /search`, `/query`, `/filter`, `/lookup`, and `/graphql`
849
+ routes are emitted as `command-candidate` with `ambiguous-post-query` risk
850
+ until a human review decides whether they should become Forge queries or
851
+ commands.
852
+ - CLI/reference docs now include the CAIR agent protocol and clarify the
853
+ `alpha`/`latest` npm dist-tag policy.
854
+
855
+ ## 0.1.0-alpha.20
856
+
857
+ Generated-change and hook queue fixes:
858
+
859
+ - Fixed generated-change diagnostics for `AGENTS.md` generated blocks and
860
+ `.forge/agent/context.json`.
861
+ - Skipped probe, invalid, and out-of-workspace queued hook events during Agent
862
+ Memory drain, and bounded large hook queue inspection.
863
+ - Preserved empty stdio command arguments, diagnosed malformed command strings,
864
+ and supported structured `service.commandArgs` in external manifests.
865
+ - Included the basic example client demo in typecheck coverage.
866
+
867
+ ## 0.1.0-alpha.19
868
+
869
+ Alpha hardening:
870
+
871
+ - Added the `agent-workroom` app template for Forge Studio style demos: external
872
+ agents edit the app, while ForgeOS shows preview URL, agent signals, check
873
+ runs, and handoff evidence through generated commands and liveQuery bindings.
874
+ - Added `forge studio attach` for Studio-style observer apps: writes `.forge/studio/attachment.json`, prepares external-agent adapters/hooks, and returns the target preview URL.
875
+ - Added `summary.preview` and `summary.urls.suggestedPreview` to `forge dev --once --json` so observer UIs can target the app under construction instead of pointing at themselves.
876
+ - Improved `forge dev` port-busy failures with a `port_busy` JSON failure kind and suggested recovery commands, including the common "Is port X in use?" startup error shape.
877
+ - `forge dev` now resolves the web app port before startup and automatically moves to the next available port when the default web port is busy, keeping the printed/JSON web URL truthful.
878
+ - Improved `forge check --json` next actions by surfacing diagnostic-specific repair/inspect commands instead of a generic last-test-run repair hint.
879
+ - Added `forge doctor agent --target <agent>` as the top-level agent readiness check.
880
+ - Added explicit `forge agent ingest <source> --watch --file <events.ndjson>` support for opt-in hook/export file ingestion.
881
+ - Added human-friendly verifier aliases: `forge verify quick`, `forge verify agent`, and `forge verify release`.
882
+ - Made `forge status --human` an explicit accepted spelling and documented `forge add <npm-package> --workspace web` as the normal package-add path.
883
+ - Made bare `forge inspect` default to the compact `summary` target instead of returning a usage error.
884
+ - Added `forge release doctor`, `release check --allow-missing-local-release`, and `self-host check --prepared-only` so release readiness can distinguish hard failures from not-yet-prepared local artifacts.
885
+ - Hardened the public packed-package smoke with dry-run mode, per-step JSON evidence, step timeouts, installed-global CLI coverage, hook smoke readiness, Studio open coverage, and preview-port cleanup checks.
886
+ - Expanded `forge docs check` with YAML shape checks, internal Markdown link validation, optional ReadTheDocs-style venv installation, and strict MkDocs build execution.
887
+ - Added authored-only review paths through `forge changed --authored` and `forge diff authored`, keeping generated artifacts collapsed unless explicitly requested.
888
+ - Added `forge delta status --verbose --json` for schema, lock, path, and aggregate-count diagnostics without expanding the default status payload.
889
+ - Added explicit hook readiness levels (`none`, `canary`, `trusted-native`) and documented `.codex/hooks.json` as versioned adapter configuration while keeping `.forge/agent/**` as local operational state.
890
+
891
+ ## 0.1.0-alpha.18
892
+
893
+ Codex hook memory hardening:
894
+
895
+ - Derived useful Codex hook metadata from the documented wire format while keeping raw prompts, tool inputs, tool responses, transcripts, and secrets out of Agent Memory.
896
+ - Added safe command summaries, tool-call ids, result status, exit codes, response summaries, inferred files, and inferred runtime entries for Codex tool events.
897
+ - Updated Codex hook installation with hook timeouts, status messages, and a local wrapper for checkout-based ingestion.
898
+ - Updated Agent Memory docs and regression coverage for real Codex hook payloads.
899
+
900
+ ## 0.1.0-alpha.17
901
+
902
+ External runtime timeline metadata:
903
+
904
+ - Enriched `forge timeline` and `forge explain` for imported external runtimes.
905
+ - External command/query calls now keep `service`, `language`, `risk`, `policy`, `tenantScoped`, and `needsApproval` metadata in DeltaDB.
906
+ - Promoted this release on npm as both `alpha` and `latest`.
907
+
908
+ ## 0.1.0-alpha.16
909
+
910
+ Stability alignment:
911
+
912
+ - Fixed `forge timeline` and `forge explain` crashes after large generated artifact batches.
913
+ - Fixed brownfield import detection for root-level Next.js App Router and Pages API routes.
914
+ - Updated CLI, Agent Memory, and DeltaDB docs for the alpha.16 command surface.
915
+
916
+ ## 0.1.0-alpha.15
917
+
918
+ Brownfield import analysis:
919
+
920
+ - Added H49 `forge import analyze`, `forge import inspect`, and `forge inspect imported --json`.
921
+ - Emits `.forge/import` inventory, route, frontend call, candidate entry, risk, migration plan, and imported agent contract artifacts.
922
+ - Keeps every imported entry hidden from agents until review, with approval required for command-like or risky static detections.
923
+
924
+ ## 0.1.0-alpha.14
925
+
926
+ Java and Nuxt/Vue support:
927
+
928
+ - Added the Java external runtime adapter, Spring Boot starter, and `java-billing` conformance example.
929
+ - Added generated Vue bindings and the `forgeos/vue` export.
930
+ - Added Nuxt UI scaffolding through `forge make ui --framework nuxt`.
931
+ - Updated docs, agent adapter guidance, generated manifests, and focused Java/Vue/Nuxt tests.
932
+
933
+ ## 0.1.0-alpha.13
934
+
935
+ Agent Memory Bridge:
936
+
937
+ - Added H48 redacted external agent event ingestion with normalized `forge.agent-event.v1` envelopes.
938
+ - Added Codex and Claude Code hook installers plus Cursor MCP/rules setup.
939
+ - Added `forge mcp serve`, `forge agent install`, `forge agent ingest`, `forge agent context`, and `forge agent memory`.
940
+ - Persisted external agent activity in DeltaDB and linked agent/tool/file events into the semantic timeline.
941
+
942
+ ## 0.1.0-alpha.12
943
+
944
+ Semantic Timeline:
945
+
946
+ - Added the H47 DeltaDB semantic timeline projection with rebuildable events, entity indexes, causal edges, and projection state.
947
+ - Upgraded `forge timeline` from raw operations into an entity-oriented timeline for runtime entries, policies, diagnostics, proofs, services, files, and sessions.
948
+ - Added proof staleness detection and timeline context in `forge explain`.
949
+
950
+ ## 0.1.0-alpha.11
951
+
952
+ Strict verify performance:
953
+
954
+ - Reduced the validated `forge verify --strict` wall time from roughly 358-454s to about 116s on the current Windows test machine.
955
+ - Added stable repo-local `tsx` CLI caching under `node_modules/.cache/forge-tsx-cli` so spawned CLI tests reuse the warm compiler path.
956
+ - Balanced TestGraph strict execution across shared and isolated lanes, bringing the slowest files down from roughly 50s to under 10s in the updated profile.
957
+ - Moved heavy refactor/impact/external runtime suites onto faster shared paths where safe and kept isolation for process-sensitive tests.
958
+ - Documented and guarded the cache behavior so future test helpers preserve the speedup without checking cache contents into git.
959
+ - Added guarded alpha release workflow support for promoting the public `latest` dist-tag when npm token auth is configured.
960
+
961
+ ## 0.1.0-alpha.10
962
+
963
+ Launch polish:
964
+
965
+ - Fixed `forge run <external-command> --args ...` so CLI arguments reach the external runtime bridge.
966
+ - Added direct external query CLI support through `forge query <service.query> --args ...`.
967
+ - Emit generated `.json` artifacts as pure JSON while keeping deterministic headers on code/text artifacts.
968
+ - Relaxed the `minimal-web` template verify script to `forge verify --smoke` and added the missing `check` script to `b2b-support-web`.
969
+ - Updated public protocol/changelog docs for the external runtime and Go adapter alpha line.
970
+ - Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.4`.
971
+
972
+ ## 0.1.0-alpha.9
973
+
974
+ Compiler, external runtime, and Go adapter:
975
+
976
+ - Added the Forge external runtime protocol bridge for manifest-backed commands and queries.
977
+ - Added the Go adapter MVP with a real `go-billing` conformance example.
978
+ - Emitted external service metadata into inspect/API/agent artifacts, including `needsApproval` for agent tools.
979
+ - Reuse compiler classifier package signals across export classification, dropping repeated package signal scans.
980
+ - Reuse serialized graph JSON when rendering the largest generated TypeScript graph artifacts.
981
+ - Keep generated Forge artifacts aligned with the `0.1.0-alpha.9` compiler/runtime version.
982
+
983
+ ## 0.1.0-alpha.8
984
+
985
+ Publishing:
986
+
987
+ - Publish prerelease packages through the ForgeOS alpha publisher so npm dist-tags stay aligned.
988
+
989
+ ## 0.1.0-alpha.7
990
+
991
+ Publishing:
992
+
993
+ - Keep npm prerelease publishing on the public alpha dist-tag.
994
+
995
+ ## 0.1.0-alpha.6
996
+
997
+ Release and packaging hardening:
998
+
999
+ - Added `forge --version` / `forge --version --json`.
1000
+ - Updated `create-forgeos-app` help to read the wrapper package version instead of a hardcoded string and bumped the wrapper to `0.1.0-alpha.2`.
1001
+ - Added dependency vulnerability evidence with an explicit waiver file and CI release gate.
1002
+ - Updated generated web template dependencies to current Vite/plugin-react and Next majors.
1003
+
1004
+ ## 0.1.0-alpha.5
1005
+
1006
+ Release alignment for the public alpha channel:
1007
+
1008
+ - Added `forge ai redteam --model-level --json` with deterministic prompt-injection, secret-exfiltration, approval-bypass, cross-tenant, and indirect tool-injection probes.
1009
+ - Added `forge security prove --full --json` support for source checkouts, with graceful structural-proof fallback when packaged apps do not include ForgeOS test fixtures.
1010
+ - Strengthened npm publish workflows to run `security prove --db postgres --full --json`.
1011
+ - Added public registry smoke coverage for `forgeos@alpha` and `create-forgeos-app@alpha`.
1012
+ - Bumped the create-app wrapper package line to `create-forgeos-app@0.1.0-alpha.1`.
1013
+
1014
+ ## 0.1.0-alpha.4
1015
+
1016
+ Security assurance and release evidence hardening:
1017
+
1018
+ - Added value-aware telemetry redaction for known secret values in safe-looking fields, messages, details, outputs, and stack traces.
1019
+ - Added webhook signature, timestamp, and replay protection helpers with Stripe/GitHub/generic HMAC coverage.
1020
+ - Added HTTP tenant-isolation tests that exercise the dev server/API boundary, not only the internal runtime executor.
1021
+ - Added `forge rls mutate-test --json` to kill dangerous generated RLS mutations such as missing FORCE RLS, missing policies, unconditional predicates, and `BYPASSRLS`.
1022
+ - Extended `forge security prove --json` with RLS mutation proof and invariant-level evidence metadata.
1023
+ - Added scripts to split security evidence by invariant and emit basic release supply-chain evidence plus CycloneDX SBOM.
1024
+ - Strengthened publish/security workflows so release gates use Postgres-backed security proof, RLS mutation proof, release evidence, and SBOM generation.
1025
+
1026
+ ## 0.1.0-alpha.3
1027
+
1028
+ Native Forge AI agents on top of Vercel AI SDK v6:
1029
+
1030
+ - Added `aiTool` and `agent` primitives with generated `agentTools.json` / `agentTools.md`.
1031
+ - Added `ctx.agent.run` and `ctx.ai.runAgent` using AI SDK `ToolLoopAgent`.
1032
+ - Added auto-tools for commands, queries, and liveQueries with read-only vs approval-required writes.
1033
+ - Added dev agent endpoints: `POST /ai/agents/run` and `POST /ai/agents/chat`.
1034
+ - Extended `forge ai` CLI with `tools`, `agents`, and `trace` subcommands.
1035
+ - Added `forge inspect agent-tools` and agent tool metadata in `agentContract.json`.
1036
+ - Upgraded runtime dependency to AI SDK v6 for tool calling, streaming UI, and MCP compatibility.
1037
+
1038
+ Documentation:
1039
+
1040
+ - Added public [AI](ai.md) page and AST-aware `rename command` codemod docs.
1041
+ - Full RTD expansion: [Agent Workflow](agent-workflow.md), [Frontend](frontend.md), [Security & Data](security-and-data.md), [Authoring](authoring.md), [Testing & Repair](testing-and-repair.md), [Self-Host](self-host.md), [Templates](templates.md), Material theme, search, and Mermaid diagrams.
1042
+
1043
+ ## 0.1.0-alpha.2
1044
+
1045
+ Windows and generated-app hardening:
1046
+
1047
+ - Fixed Node ESM handler loading on Windows by importing generated app modules through `file://` URLs across commands, queries, liveQueries, outbox actions, workflow steps, mocks, and telemetry adapters.
1048
+ - Fixed `forge dev` SSE streaming on the Node HTTP fallback so liveQuery snapshots are flushed immediately instead of buffering forever.
1049
+ - Hardened generated app scaffolding and web dev spawning on Windows.
1050
+ - Updated the B2B support template to route frontend imports through `web/lib/forge.ts` and use safer handler input validation.
1051
+ - Added focused tests for Node compatibility, template scaffolding, runtime imports, and streaming responses.
1052
+ - Added `create-forgeos-app@alpha` for `npm create forgeos-app@alpha`.
1053
+ - Added GitHub Packages mirror workflow for scoped package publishing.
1054
+
1055
+ ## 0.1.0-alpha.1
1056
+
1057
+ Republish alpha with the dependency/API oracle improvements:
1058
+
1059
+ - Added dependency API inspection commands for agents: `forge deps api`, `forge deps trace`, and `forge deps runtime-compat`.
1060
+ - Added dependency API summaries to `agentContract.json`.
1061
+ - Added package resolution traces, runtime compatibility metadata, and runtime/type mismatch diagnostics to `packageGraph`.
1062
+ - Reduced package graph warning noise for `package.json` metadata exports, declaration-file subpaths, and pattern exports.
1063
+
1064
+ ## 0.1.0-alpha.0
1065
+
1066
+ Initial alpha packaging baseline for ForgeOS.
1067
+
1068
+ This release line validates npm installation, the `forge` CLI binary, template creation, generated contracts, and the agent-native local development loop.
1069
+
1070
+ Added Read the Docs-ready public documentation, generator/package version alignment checks, and a broad generated-app field-test harness for release hardening.