forgeos 0.1.0-alpha.2 → 0.1.0-alpha.3

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 (163) hide show
  1. package/AGENTS.md +38 -3
  2. package/README.md +6 -5
  3. package/package.json +5 -4
  4. package/src/forge/_generated/actionSubscriptions.json +2 -2
  5. package/src/forge/_generated/actionSubscriptions.ts +3 -3
  6. package/src/forge/_generated/agentAdapterManifest.json +2 -2
  7. package/src/forge/_generated/agentAdapterManifest.ts +3 -3
  8. package/src/forge/_generated/agentContract.json +2 -2
  9. package/src/forge/_generated/agentContract.ts +183 -50
  10. package/src/forge/_generated/agentQuickstart.md +3 -1
  11. package/src/forge/_generated/agentTools.json +2 -0
  12. package/src/forge/_generated/agentTools.md +16 -0
  13. package/src/forge/_generated/agentTools.ts +12 -0
  14. package/src/forge/_generated/aiContext.ts +67 -1
  15. package/src/forge/_generated/aiModels.json +2 -2
  16. package/src/forge/_generated/aiModels.ts +17 -1
  17. package/src/forge/_generated/aiProviders.json +1 -1
  18. package/src/forge/_generated/aiProviders.ts +1 -1
  19. package/src/forge/_generated/aiRegistry.json +2 -2
  20. package/src/forge/_generated/aiRegistry.ts +7 -5
  21. package/src/forge/_generated/api.json +2 -2
  22. package/src/forge/_generated/api.ts +1 -1
  23. package/src/forge/_generated/appGraph.json +2 -2
  24. package/src/forge/_generated/appGraph.ts +288 -180
  25. package/src/forge/_generated/appMap.md +21 -1
  26. package/src/forge/_generated/artifactManifest.json +2 -2
  27. package/src/forge/_generated/artifactManifest.ts +2 -2
  28. package/src/forge/_generated/authClaims.json +1 -1
  29. package/src/forge/_generated/authClaims.ts +1 -1
  30. package/src/forge/_generated/authConfig.json +1 -1
  31. package/src/forge/_generated/authConfig.ts +1 -1
  32. package/src/forge/_generated/authContext.ts +1 -1
  33. package/src/forge/_generated/authRegistry.json +1 -1
  34. package/src/forge/_generated/authRegistry.ts +1 -1
  35. package/src/forge/_generated/buildInfo.json +2 -2
  36. package/src/forge/_generated/buildInfo.ts +4 -4
  37. package/src/forge/_generated/capabilityMap.json +2 -2
  38. package/src/forge/_generated/capabilityMap.md +1 -1
  39. package/src/forge/_generated/capabilityMap.ts +2 -2
  40. package/src/forge/_generated/client.ts +1 -1
  41. package/src/forge/_generated/clientApi.ts +1 -1
  42. package/src/forge/_generated/clientManifest.json +2 -2
  43. package/src/forge/_generated/clientManifest.ts +3 -3
  44. package/src/forge/_generated/clientTypes.ts +1 -1
  45. package/src/forge/_generated/configRegistry.json +1 -1
  46. package/src/forge/_generated/configRegistry.ts +1 -1
  47. package/src/forge/_generated/dataGraph.json +2 -2
  48. package/src/forge/_generated/dataGraph.ts +3 -3
  49. package/src/forge/_generated/db.json +1 -1
  50. package/src/forge/_generated/db.ts +1 -1
  51. package/src/forge/_generated/dbSecurityManifest.json +1 -1
  52. package/src/forge/_generated/dbSecurityManifest.ts +1 -1
  53. package/src/forge/_generated/dbSessionContext.json +1 -1
  54. package/src/forge/_generated/dbSessionContext.ts +1 -1
  55. package/src/forge/_generated/deployManifest.json +2 -2
  56. package/src/forge/_generated/deployManifest.ts +7 -7
  57. package/src/forge/_generated/devManifest.json +2 -2
  58. package/src/forge/_generated/devManifest.ts +18 -3
  59. package/src/forge/_generated/envSchema.json +1 -1
  60. package/src/forge/_generated/envSchema.ts +1 -1
  61. package/src/forge/_generated/frontendGraph.json +1 -1
  62. package/src/forge/_generated/frontendGraph.ts +1 -1
  63. package/src/forge/_generated/importGuards.json +1 -1
  64. package/src/forge/_generated/importGuards.ts +1 -1
  65. package/src/forge/_generated/index.ts +2 -1
  66. package/src/forge/_generated/liveProductionManifest.json +1 -1
  67. package/src/forge/_generated/liveProductionManifest.ts +1 -1
  68. package/src/forge/_generated/liveProtocol.json +1 -1
  69. package/src/forge/_generated/liveProtocol.ts +1 -1
  70. package/src/forge/_generated/liveQueryRegistry.json +2 -2
  71. package/src/forge/_generated/liveQueryRegistry.ts +3 -3
  72. package/src/forge/_generated/liveTransportConfig.json +1 -1
  73. package/src/forge/_generated/liveTransportConfig.ts +1 -1
  74. package/src/forge/_generated/makeRegistry.json +2 -2
  75. package/src/forge/_generated/makeRegistry.ts +16 -2
  76. package/src/forge/_generated/makeTemplates.json +2 -2
  77. package/src/forge/_generated/makeTemplates.ts +6 -1
  78. package/src/forge/_generated/mockMap.json +1 -1
  79. package/src/forge/_generated/mockMap.ts +1 -1
  80. package/src/forge/_generated/operationPlaybooks.md +34 -14
  81. package/src/forge/_generated/packageGraph.json +2 -2
  82. package/src/forge/_generated/packageGraph.ts +8808 -4723
  83. package/src/forge/_generated/packageUpgradeRegistry.json +2 -2
  84. package/src/forge/_generated/packageUpgradeRegistry.ts +2 -2
  85. package/src/forge/_generated/permissionMatrix.json +2 -2
  86. package/src/forge/_generated/permissionMatrix.ts +3 -3
  87. package/src/forge/_generated/policyRegistry.json +2 -2
  88. package/src/forge/_generated/policyRegistry.ts +3 -3
  89. package/src/forge/_generated/queryRegistry.json +2 -2
  90. package/src/forge/_generated/queryRegistry.ts +3 -3
  91. package/src/forge/_generated/react.d.ts +1 -1
  92. package/src/forge/_generated/react.ts +1 -1
  93. package/src/forge/_generated/reactManifest.json +2 -2
  94. package/src/forge/_generated/reactManifest.ts +3 -3
  95. package/src/forge/_generated/releaseManifest.json +2 -2
  96. package/src/forge/_generated/releaseManifest.ts +3 -3
  97. package/src/forge/_generated/rlsPolicies.json +1 -1
  98. package/src/forge/_generated/rlsPolicies.sql +1 -1
  99. package/src/forge/_generated/rlsPolicies.ts +1 -1
  100. package/src/forge/_generated/runtimeGraph.json +2 -2
  101. package/src/forge/_generated/runtimeGraph.ts +3 -3
  102. package/src/forge/_generated/runtimeMatrix.json +2 -2
  103. package/src/forge/_generated/runtimeMatrix.ts +8684 -1939
  104. package/src/forge/_generated/runtimeRegistry.ts +1 -1
  105. package/src/forge/_generated/runtimeRules.md +13 -1
  106. package/src/forge/_generated/secretRegistry.json +1 -1
  107. package/src/forge/_generated/secretRegistry.ts +1 -1
  108. package/src/forge/_generated/secretsContext.ts +1 -1
  109. package/src/forge/_generated/serverApi.ts +1 -1
  110. package/src/forge/_generated/sourceMapManifest.json +2 -2
  111. package/src/forge/_generated/sourceMapManifest.ts +2 -2
  112. package/src/forge/_generated/sqlPlan.json +1 -1
  113. package/src/forge/_generated/sqlPlan.ts +1 -1
  114. package/src/forge/_generated/subscriptionManifest.json +2 -2
  115. package/src/forge/_generated/subscriptionManifest.ts +3 -3
  116. package/src/forge/_generated/symbolicationManifest.json +2 -2
  117. package/src/forge/_generated/symbolicationManifest.ts +2 -2
  118. package/src/forge/_generated/telemetryRegistry.json +2 -2
  119. package/src/forge/_generated/telemetryRegistry.ts +3 -3
  120. package/src/forge/_generated/telemetrySinks.json +2 -2
  121. package/src/forge/_generated/telemetrySinks.ts +2 -2
  122. package/src/forge/_generated/tenantScope.json +2 -2
  123. package/src/forge/_generated/tenantScope.ts +3 -3
  124. package/src/forge/_generated/testGraph.json +2 -2
  125. package/src/forge/_generated/testGraph.ts +17 -7
  126. package/src/forge/_generated/testPlanRegistry.json +2 -2
  127. package/src/forge/_generated/testPlanRegistry.ts +2 -2
  128. package/src/forge/_generated/uiRoutes.json +1 -1
  129. package/src/forge/_generated/uiRoutes.ts +1 -1
  130. package/src/forge/_generated/uiScenarios.json +1 -1
  131. package/src/forge/_generated/uiScenarios.ts +1 -1
  132. package/src/forge/_generated/uiTestManifest.json +2 -2
  133. package/src/forge/_generated/uiTestManifest.ts +2 -2
  134. package/src/forge/_generated/workflowRegistry.json +2 -2
  135. package/src/forge/_generated/workflowRegistry.ts +3 -3
  136. package/src/forge/_generated/workflowSubscriptions.json +2 -2
  137. package/src/forge/_generated/workflowSubscriptions.ts +3 -3
  138. package/src/forge/cli/ai.ts +186 -1
  139. package/src/forge/cli/commands.ts +5 -0
  140. package/src/forge/cli/parse.ts +30 -3
  141. package/src/forge/compiler/agent-contract/build.ts +281 -8
  142. package/src/forge/compiler/agent-contract/types.ts +41 -0
  143. package/src/forge/compiler/ai-registry/build.ts +62 -1
  144. package/src/forge/compiler/ai-registry/constants.ts +1 -1
  145. package/src/forge/compiler/ai-registry/parse.ts +98 -4
  146. package/src/forge/compiler/app-graph/forge-apis.ts +1 -0
  147. package/src/forge/compiler/dev-manifest/build.ts +3 -0
  148. package/src/forge/compiler/make-registry/build.ts +13 -0
  149. package/src/forge/compiler/orchestrator/plan.ts +11 -0
  150. package/src/forge/compiler/orchestrator/serialize.ts +68 -0
  151. package/src/forge/compiler/types/ai-registry.ts +25 -1
  152. package/src/forge/compiler/types/app-graph.ts +1 -0
  153. package/src/forge/compiler/types/cli.ts +1 -0
  154. package/src/forge/compiler/types/dev-manifest.ts +3 -0
  155. package/src/forge/dev/server.ts +508 -1
  156. package/src/forge/make/index.ts +126 -3
  157. package/src/forge/make/templates.ts +188 -0
  158. package/src/forge/make/types.ts +1 -0
  159. package/src/forge/runtime/ai/context.ts +210 -5
  160. package/src/forge/runtime/ai/types.ts +70 -0
  161. package/src/forge/runtime/context/create-context.ts +30 -6
  162. package/src/forge/server.ts +82 -0
  163. package/src/forge/version.ts +1 -1
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=2b75e18669312d27eb3d3b58558256dc495e10ac30c9ef72530948ef3b763fbd
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=2b75e18669312d27eb3d3b58558256dc495e10ac30c9ef72530948ef3b763fbd
2
2
  export const runtimeRegistry = {} as const;
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7f09595afb7106f9024085f103c559078fd03bd0f2bb80554f0b57c6464354a2
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=e05aaac5db95a6a159a7c3f79e5fd6a862fe5728756f1bc11a9cac0b834f3023
2
2
  # Runtime Rules
3
3
 
4
4
  ## LiveQuery Production
@@ -25,6 +25,8 @@ Forbidden:
25
25
  - network packages
26
26
  - ctx.secrets
27
27
  - ctx.ai
28
+ - ctx.ai.runAgent
29
+ - ctx.agent.run
28
30
  - process.env
29
31
  - filesystem access
30
32
 
@@ -39,6 +41,8 @@ Forbidden:
39
41
  - ctx.emit
40
42
  - ctx.secrets
41
43
  - ctx.ai
44
+ - ctx.ai.runAgent
45
+ - ctx.agent.run
42
46
  - network integrations
43
47
 
44
48
  ## liveQuery
@@ -52,6 +56,8 @@ Forbidden:
52
56
  - ctx.emit
53
57
  - ctx.secrets
54
58
  - ctx.ai
59
+ - ctx.ai.runAgent
60
+ - ctx.agent.run
55
61
  - network integrations
56
62
 
57
63
  ## action
@@ -60,6 +66,9 @@ Allowed:
60
66
  - ctx.secrets
61
67
  - integrations
62
68
  - ctx.ai
69
+ - ctx.ai.runAgent
70
+ - ctx.agent.run
71
+ - AI SDK tools
63
72
  - ctx.db reads/writes
64
73
  - network packages
65
74
 
@@ -73,6 +82,9 @@ Allowed:
73
82
  - ctx.secrets
74
83
  - integrations
75
84
  - ctx.ai
85
+ - ctx.ai.runAgent
86
+ - ctx.agent.run
87
+ - AI SDK ToolLoopAgent
76
88
  - retries
77
89
 
78
90
  Forbidden:
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=dc3749521bc270bf535866b7dc70acbd465cba91051e4730a0011d80e22bb1f7
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=dc3749521bc270bf535866b7dc70acbd465cba91051e4730a0011d80e22bb1f7
2
2
  {"secrets":[{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-gateway","name":"AI_GATEWAY_API_KEY","public":false,"required":true,"source":"recipe"},{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-provider-anthropic","name":"ANTHROPIC_API_KEY","public":false,"required":true,"source":"recipe"},{"allowedContexts":["server","action","workflow","endpoint","test","build"],"integration":"ai-provider-openai","name":"OPENAI_API_KEY","public":false,"required":true,"source":"recipe"}]}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=27a3fd362b85da0ebaf11345ce74bd252a9699ef453087fbf9ec48f7a7a7e11a
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=27a3fd362b85da0ebaf11345ce74bd252a9699ef453087fbf9ec48f7a7a7e11a
2
2
  export const secretRegistry = {
3
3
  "secrets": [
4
4
  {
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f4fb41702a4aa53e0f1783707d82dd624e374d9f753ca2cd0092af42d050d4de
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=f4fb41702a4aa53e0f1783707d82dd624e374d9f753ca2cd0092af42d050d4de
2
2
  export interface SecretsContext {
3
3
  get(name: string): string;
4
4
  optional(name: string): string | undefined;
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=ee2db579330ea2ab0b97114ee7ccc943251367a8b6997d75d8987fff521b92bd
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=ee2db579330ea2ab0b97114ee7ccc943251367a8b6997d75d8987fff521b92bd
2
2
  import { api } from "./api.ts";
3
3
 
4
4
  export const serverApi = {
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=d912633591d6f743568916826dd6c885ec9a600f0666751d03e387ecba0bbf1b
2
- {"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0","sourceMaps":[]}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=2e2d92a54652e477121c1adf2651502a40326964a9a1f1e809feee449d1a3f67
2
+ {"diagnostics":[],"releaseId":"forgeos@0.1.0-alpha.3+unknown","schemaVersion":"0.1.0","sourceMaps":[]}
@@ -1,7 +1,7 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=cd4d56991e6711782cae9eb9f32e3eddd40c7625c8679907a961ea6b8a1f7d1c
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=4b5a141492246fa00a8cb74a62387871b8bd4c78d70907e159030c9ee56baa49
2
2
  export const sourceMapManifest = {
3
3
  "diagnostics": [],
4
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
4
+ "releaseId": "forgeos@0.1.0-alpha.3+unknown",
5
5
  "schemaVersion": "0.1.0",
6
6
  "sourceMaps": []
7
7
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=1edd73682fcf31fb6419a31733cd4e2e54df9c385c5c950074b9a746dd47a4ae
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=1edd73682fcf31fb6419a31733cd4e2e54df9c385c5c950074b9a746dd47a4ae
2
2
  {"checksum":"e00b135de6e380256e8116fb3ac28f4d925aef552528a58b4dc5285782737654","diagnostics":[],"indexes":[{"index":{"columns":["revision"],"name":"forge_live_invalidations_revision_idx","table":"_forge_live_invalidations"},"kind":"create_index","sql":"CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_revision_idx\" ON \"_forge_live_invalidations\" (\"revision\")","table":"_forge_live_invalidations"},{"index":{"columns":["table_name","tenant_id","revision"],"name":"forge_live_invalidations_table_tenant_revision_idx","table":"_forge_live_invalidations"},"kind":"create_index","sql":"CREATE INDEX IF NOT EXISTS \"forge_live_invalidations_table_tenant_revision_idx\" ON \"_forge_live_invalidations\" (\"table_name\", \"tenant_id\", \"revision\")","table":"_forge_live_invalidations"}],"migrationId":"migration_e00b135de6e38025","schemaVersion":"1.0.0","systemTables":[{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_migrations (id text PRIMARY KEY, checksum text NOT NULL, applied_at timestamptz NOT NULL DEFAULT now())","table":"_forge_migrations"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_outbox (id bigserial PRIMARY KEY, event_type text NOT NULL, payload jsonb NOT NULL, auth_context jsonb, created_at timestamptz NOT NULL DEFAULT now())","table":"_forge_outbox"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_outbox_deliveries (id bigserial PRIMARY KEY, outbox_id bigint NOT NULL REFERENCES _forge_outbox(id), action_name text NOT NULL, status text NOT NULL DEFAULT 'pending', attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, processed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(outbox_id, action_name))","table":"_forge_outbox_deliveries"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_workflow_runs (id bigserial PRIMARY KEY, workflow_name text NOT NULL, trigger_type text NOT NULL, trigger_outbox_id bigint, idempotency_key text NOT NULL UNIQUE, input jsonb NOT NULL, auth_context jsonb, status text NOT NULL DEFAULT 'pending', current_step text, last_error text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now(), started_at timestamptz, completed_at timestamptz, canceled_at timestamptz)","table":"_forge_workflow_runs"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_workflow_steps (id bigserial PRIMARY KEY, run_id bigint NOT NULL REFERENCES _forge_workflow_runs(id), step_name text NOT NULL, step_index integer NOT NULL, status text NOT NULL DEFAULT 'pending', input jsonb, output jsonb, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), locked_at timestamptz, locked_by text, last_error text, started_at timestamptz, completed_at timestamptz, created_at timestamptz NOT NULL DEFAULT now(), UNIQUE(run_id, step_name))","table":"_forge_workflow_steps"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_telemetry_events (id bigserial PRIMARY KEY, trace_id text NOT NULL, event_type text NOT NULL, payload jsonb NOT NULL, status text NOT NULL DEFAULT 'pending', sink text, attempts integer NOT NULL DEFAULT 0, max_attempts integer NOT NULL DEFAULT 5, next_attempt_at timestamptz NOT NULL DEFAULT now(), last_error text, created_at timestamptz NOT NULL DEFAULT now(), processed_at timestamptz)","table":"_forge_telemetry_events"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_trace_spans (id bigserial PRIMARY KEY, trace_id text NOT NULL, parent_span_id text, span_id text NOT NULL, name text NOT NULL, kind text NOT NULL, attributes jsonb NOT NULL DEFAULT '{}', status text NOT NULL DEFAULT 'ok', started_at timestamptz NOT NULL, ended_at timestamptz, error text)","table":"_forge_trace_spans"},{"kind":"create_sequence","sql":"CREATE SEQUENCE IF NOT EXISTS _forge_live_revision_seq START WITH 2","table":"_forge_live_revision_seq"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_live_invalidations (id bigserial PRIMARY KEY, revision bigint NOT NULL, table_name text NOT NULL, tenant_id text, operation text NOT NULL, source_kind text NOT NULL, source_name text, trace_id text, release_id text, deploy_id text, payload jsonb NOT NULL DEFAULT '{}', created_at timestamptz NOT NULL DEFAULT now())","table":"_forge_live_invalidations"},{"kind":"create_table","sql":"CREATE TABLE IF NOT EXISTS _forge_live_subscription_debug (id text PRIMARY KEY, name text NOT NULL, tenant_id text, dependencies jsonb NOT NULL, last_revision bigint, runtime_id text, created_at timestamptz NOT NULL DEFAULT now(), updated_at timestamptz NOT NULL DEFAULT now())","table":"_forge_live_subscription_debug"}],"tables":[]}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=d5967c203c4ecb427d0cf694931a3cc8dc6dd88726fcd4b71b79c2ab0c464e10
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=d5967c203c4ecb427d0cf694931a3cc8dc6dd88726fcd4b71b79c2ab0c464e10
2
2
  export const sqlPlan = {
3
3
  "checksum": "e00b135de6e380256e8116fb3ac28f4d925aef552528a58b4dc5285782737654",
4
4
  "diagnostics": [],
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f126ac9aebb156a6162a8ce62688b7d70cb6e62f981a9c1be27716952f2c2aaa
2
- {"generatorVersion":"0.1.0-alpha.2","inputHash":"ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f","liveQueries":[],"schemaVersion":"0.1.0"}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=daf6d44d2b70879dabfe0f11b2b7f05b028b445b594f1cfb6c46abd260cd8c62
2
+ {"generatorVersion":"0.1.0-alpha.3","inputHash":"c9475eac5a16004809cb3ec4a8a67a0d6c9a310cb414b8be0200c1f787d021df","liveQueries":[],"schemaVersion":"0.1.0"}
@@ -1,7 +1,7 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f1c8c68b37044649241dc80720d202d978c52b6a9ea5b5701ae9ce529ac59212
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=94943e4ccfc9a8271dace56832e42903900763be3eb5ea06830aa04361f3d7cc
2
2
  export const subscriptionManifest = {
3
- "generatorVersion": "0.1.0-alpha.2",
4
- "inputHash": "ad62fe5e04c91b7039f9390867b215a7b923d8091080ed6d32b917134f35ca3f",
3
+ "generatorVersion": "0.1.0-alpha.3",
4
+ "inputHash": "c9475eac5a16004809cb3ec4a8a67a0d6c9a310cb414b8be0200c1f787d021df",
5
5
  "liveQueries": [],
6
6
  "schemaVersion": "0.1.0"
7
7
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=6aa5bdd714e2708716c2622d652f6e0592cc2dd64d2abb5dc464a11682fa1c03
2
- {"diagnostics":[],"localSymbolication":true,"providers":["local","sentry-compatible","sentry","glitchtip","bugsink","otel","custom"],"releaseId":"forgeos@0.1.0-alpha.2+unknown","schemaVersion":"0.1.0","sourceMapCount":0}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=ecd5d54316115889bd3e2739321a44f361a0f255b35c982c87cee2f4b830160a
2
+ {"diagnostics":[],"localSymbolication":true,"providers":["local","sentry-compatible","sentry","glitchtip","bugsink","otel","custom"],"releaseId":"forgeos@0.1.0-alpha.3+unknown","schemaVersion":"0.1.0","sourceMapCount":0}
@@ -1,4 +1,4 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=f012c5b8779acc04ef004424f3849f9e1e477639ba068127ccefed26b75052aa
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=6f193d383bf9a0531fc404d3896cf64294a978875961a0ce0840c7d9580d3164
2
2
  export const symbolicationManifest = {
3
3
  "diagnostics": [],
4
4
  "localSymbolication": true,
@@ -11,7 +11,7 @@ export const symbolicationManifest = {
11
11
  "otel",
12
12
  "custom"
13
13
  ],
14
- "releaseId": "forgeos@0.1.0-alpha.2+unknown",
14
+ "releaseId": "forgeos@0.1.0-alpha.3+unknown",
15
15
  "schemaVersion": "0.1.0",
16
16
  "sourceMapCount": 0
17
17
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=cfc6c02905530974a780e262c85f6f9d13604a3eb1311ae908eea6c639d625d7
2
- {"analyzerVersion":"1.0.0","diagnostics":[],"events":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"391ea218b3a724dedbd4002adb1ce5a74b823c06bd4de6807e9bfa417c83a5e3","schemaVersion":"1.0.0"}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=4bf85a0f12257b938afea020745fe3d7adc8be6756d8c983654b8825a9e14644
2
+ {"analyzerVersion":"1.0.0","diagnostics":[],"events":[],"generatorVersion":"0.1.0-alpha.3","inputHash":"b03c9882303bdef455e7c46bab49cd5046cf8d7dd9ce47458198291f15fbcc5f","schemaVersion":"1.0.0"}
@@ -1,9 +1,9 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=111d195b0657540036e50c94ffacf418e96b4f53c8d27b5823731b4927b87a8d
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=2d2fa069194c3cc9e6a6b75514c1eee649d8c76aa6067afa91bf67a010bc3f9d
2
2
  export const telemetryRegistry = {
3
3
  "analyzerVersion": "1.0.0",
4
4
  "diagnostics": [],
5
5
  "events": [],
6
- "generatorVersion": "0.1.0-alpha.2",
7
- "inputHash": "391ea218b3a724dedbd4002adb1ce5a74b823c06bd4de6807e9bfa417c83a5e3",
6
+ "generatorVersion": "0.1.0-alpha.3",
7
+ "inputHash": "b03c9882303bdef455e7c46bab49cd5046cf8d7dd9ce47458198291f15fbcc5f",
8
8
  "schemaVersion": "1.0.0"
9
9
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=79af3e3983be8149f429ffeec1b83f0794a8cd159bfc7107b025907ed0a64137
2
- {"generatorVersion":"0.1.0-alpha.2","schemaVersion":"1.0.0","sinks":[{"id":"local","kind":"local"}]}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=e645a02b49cb9af2f28c40e9798bf8974dcf71772e2f80da75a9f5a9b194b27e
2
+ {"generatorVersion":"0.1.0-alpha.3","schemaVersion":"1.0.0","sinks":[{"id":"local","kind":"local"}]}
@@ -1,6 +1,6 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=7e2bdea1afadda40d98d681b1ace3796b586093eea024984db617ce18213855e
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=d1b950063711f07742a3c77792540b9809fdeb31d800fa442d35c8b78741c23c
2
2
  export const telemetrySinks = {
3
- "generatorVersion": "0.1.0-alpha.2",
3
+ "generatorVersion": "0.1.0-alpha.3",
4
4
  "schemaVersion": "1.0.0",
5
5
  "sinks": [
6
6
  {
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=e251c06e863fc4e028978d1e1bdb77b34a398c905026f22ef5bb364c302ba680
2
- {"diagnostics":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"e6f39f22ce15fa12d24d9bc2bce59d509b48ad0559d311f8cf992484a45ba164","schemaVersion":"1.0.0","tables":[]}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=2f3dd596dd6e87daf1eb22d300734274bf7084f664cf55acd5c58d0f51eb64f8
2
+ {"diagnostics":[],"generatorVersion":"0.1.0-alpha.3","inputHash":"9e40a03ea5c13032cfce89cce35056a98ea7d0b009c4506e47507f066b77a712","schemaVersion":"1.0.0","tables":[]}
@@ -1,8 +1,8 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=dcda9acd440841d4ea5dd4106e4ed2080cf3d76d4d513a9c9f0215bab01747b4
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=9cef47416f3970b28f7cee9c8e2686d996ecde302bc2da0d593c9155cc6f7b47
2
2
  export const tenantScope = {
3
3
  "diagnostics": [],
4
- "generatorVersion": "0.1.0-alpha.2",
5
- "inputHash": "e6f39f22ce15fa12d24d9bc2bce59d509b48ad0559d311f8cf992484a45ba164",
4
+ "generatorVersion": "0.1.0-alpha.3",
5
+ "inputHash": "9e40a03ea5c13032cfce89cce35056a98ea7d0b009c4506e47507f066b77a712",
6
6
  "schemaVersion": "1.0.0",
7
7
  "tables": []
8
8
  } as const;
@@ -1,2 +1,2 @@
1
- // @forge-generated generator=0.1.0-alpha.2 input=2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f content=e2d99d8d30cdf4ae62bfc9af2b47e8a5a0d4875e7ae01d9e529264b38de0f00e
2
- {"analyzerVersion":"test-graph-0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.2","inputHash":"2ce189e4d3555acfca07eb3bb3d103b22a8da52f3c26f9ac2197254f0563234f","schemaVersion":"0.1.0","tests":[{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-adapters/h30-agent-adapters.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h19-agent-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h34-full-stack-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h35-capability-map.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-cli.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-dev-server.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-forbidden-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-mock-provider.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-registry.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-secrets.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-telemetry.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-workflow.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/classify.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/incremental.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["jose"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/auth/h20-auth.test.ts","kind":"unknown","reasons":["confirmed: packages jose"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","typescript","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache-soundness.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","confirmed: packages typescript","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/ci-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/field-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/github-packages-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/publish-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classification.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classify.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/cli.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/node-compat.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/windows.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-api-generation.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-auth-headers.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-command.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-errors.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-query.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-surface-security.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/parse.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/db-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/generated-db-client.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/migrations.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/outbox.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/pglite-adapter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/sql-compiler.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deploy/self-host.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deps/h22-deps.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-console.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-outbox-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-server-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-workflow-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/routes.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/streaming-response.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/watch.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/diagnostics/codes.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/docs/readthedocs.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/e2e/pipeline.test.ts","kind":"e2e","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/determinism.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/emitter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/basic-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/showcase-app.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/feature/h26-feature.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/field/field-test-script.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/fs/file-system.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/eslint-plugin.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/impact/h28-impact.test.ts","kind":"unknown","reasons":["probable: packages react","probable: packages tsx","probable: packages zod"]},{"confidence":"probable","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/add.test.ts","kind":"integration","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/h2-quality.test.ts","kind":"integration","reasons":["confirmed: packages zod","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/lock-integrity.property.test.ts","kind":"integration","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/intent/h33-intent-router.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live-production/h24-live-production.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live/live-query-invalidation.test.ts","kind":"integration","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/make/h25-make.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/check-drift.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/fast-check.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/idempotency.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/orchestrator.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/action-subscriptions.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-dead-letter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-process.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-retry.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/extraction.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/static-safety.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/adapter.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/commands.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/detect.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/command-auth.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/outbox-auth-propagation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-matrix.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-simulate.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/telemetry-policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/tenant-scoped-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/workflow-auth-context.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/compare.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/hash.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/result.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/serialize.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/sort.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/stable-ordering.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-policy.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-readonly.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-run.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-telemetry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/generated-react.test.ts","kind":"frontend","reasons":["confirmed: packages react","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","react-test-renderer"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/hooks.test.ts","kind":"frontend","reasons":["confirmed: packages react","confirmed: packages react-test-renderer"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["@ai-sdk/anthropic","@ai-sdk/openai","ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/recipes/registry.test.ts","kind":"unknown","reasons":["probable: packages @ai-sdk/anthropic","probable: packages @ai-sdk/openai","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/refactor/h27-refactor.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/h23-release.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/version-alignment.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/repair/h29-repair.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/review/h31-review.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/rls/h21-rls.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-persistence.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-transaction.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/db-generated-client-alias.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/executor.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/guard-block.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/mock.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/sandbox.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/secret-exclusion.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/ctx-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/dev-server-env.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/env-loader.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/forbidden-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/generated-adapters-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/process-env-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secret-registry-generation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secrets-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/verify-strict.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/smoke/real-packages.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-jsonl-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-posthog-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-scrubber.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-sentry-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/create-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-b2b-support-web.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages react","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-minimal-web.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ui/h32-ui.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-cancel.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-idempotency.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-process.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-registry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-retry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-run-create.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-subscriptions.test.ts","kind":"integration","reasons":[]}]}
1
+ // @forge-generated generator=0.1.0-alpha.3 input=c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f content=95238a04509de9f99722d8b399de28854ec687540c03652b038da4f9a735ef74
2
+ {"analyzerVersion":"test-graph-0.1.0","diagnostics":[],"generatorVersion":"0.1.0-alpha.3","inputHash":"c6d07cc92a729a46f2ff02a05c005e7fe0d71a3a5800be6f670a3fca2db04d6f","schemaVersion":"0.1.0","tests":[{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-adapters/h30-agent-adapters.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h19-agent-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h34-full-stack-contract.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/agent-contract/h35-capability-map.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-cli.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-dev-server.test.ts","kind":"unknown","reasons":["confirmed: packages ai","confirmed: packages zod","probable: packages react"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-forbidden-context.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-mock-provider.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-registry.test.ts","kind":"unknown","reasons":["confirmed: packages ai","confirmed: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-secrets.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-telemetry.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ai/ai-workflow.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/classify.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/app-graph/incremental.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["jose"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/auth/h20-auth.test.ts","kind":"unknown","reasons":["confirmed: packages jose"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","typescript","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache-soundness.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","confirmed: packages typescript","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cache/cache.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/ci-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/field-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/github-packages-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ci/publish-workflow.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classification.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/classifier/classify.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/cli.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/node-compat.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/cli/windows.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-api-generation.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-auth-headers.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-command.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-errors.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-query.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-surface-security.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/client/client-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/data-graph/parse.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/db-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/generated-db-client.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/migrations.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/outbox.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/pglite-adapter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/db/sql-compiler.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deploy/self-host.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/deps/h22-deps.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-console.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-outbox-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-server-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/dev-workflow-worker.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/routes.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/streaming-response.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/dev/watch.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/diagnostics/codes.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/docs/readthedocs.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/e2e/pipeline.test.ts","kind":"e2e","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/determinism.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/emitter/emitter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/basic-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/examples/showcase-app.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/feature/h26-feature.test.ts","kind":"unknown","reasons":["probable: packages react"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/field/field-test-script.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/fs/file-system.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/eslint-plugin.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"slow","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/guards/guards.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","tsx","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/impact/h28-impact.test.ts","kind":"unknown","reasons":["probable: packages react","probable: packages tsx","probable: packages zod"]},{"confidence":"probable","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/add.test.ts","kind":"integration","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/h2-quality.test.ts","kind":"integration","reasons":["confirmed: packages zod","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/integration/lock-integrity.property.test.ts","kind":"integration","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/intent/h33-intent-router.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live-production/h24-live-production.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/live/live-query-invalidation.test.ts","kind":"integration","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/make/h25-make.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages react","probable: packages tsx"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/check-drift.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/fast-check.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/idempotency.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/orchestrator/orchestrator.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/action-subscriptions.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-dead-letter.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-process.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/outbox/outbox-retry.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/extraction.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-graph/static-safety.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/adapter.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/commands.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/package-manager/detect.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/command-auth.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/outbox-auth-propagation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-matrix.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/policy-simulate.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/telemetry-policy-denied.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/tenant-scoped-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/policy/workflow-auth-context.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/compare.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/hash.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/result.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/serialize.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/sort.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/primitives/stable-ordering.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-policy.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-readonly.test.ts","kind":"unknown","reasons":["probable: packages ai"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-registry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-run.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-telemetry.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/queries/query-tenant-scope.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/generated-react.test.ts","kind":"frontend","reasons":["confirmed: packages react","probable: packages ai"]},{"confidence":"confirmed","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["react","react-test-renderer"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/react/hooks.test.ts","kind":"frontend","reasons":["confirmed: packages react","confirmed: packages react-test-renderer"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["@ai-sdk/anthropic","@ai-sdk/openai","ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/recipes/registry.test.ts","kind":"unknown","reasons":["probable: packages @ai-sdk/anthropic","probable: packages @ai-sdk/openai","probable: packages ai","probable: packages zod"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/refactor/h27-refactor.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/h23-release.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/release/version-alignment.test.ts","kind":"unknown","reasons":[]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/repair/h29-repair.test.ts","kind":"unknown","reasons":["confirmed: packages ai"]},{"confidence":"probable","cost":"docker","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/review/h31-review.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["postgres"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/rls/h21-rls.test.ts","kind":"unknown","reasons":["probable: packages postgres"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime-graph/build.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-persistence.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/command-transaction.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/db-generated-client-alias.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/executor.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/guard-block.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/runtime/mock.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/sandbox.test.ts","kind":"unknown","reasons":["probable: packages zod"]},{"confidence":"confirmed","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["fast-check"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/sandbox/secret-exclusion.property.test.ts","kind":"unknown","reasons":["confirmed: packages fast-check"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/ctx-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/dev-server-env.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/env-loader.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/forbidden-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/generated-adapters-secrets.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/process-env-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secret-registry-generation.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/secrets-check.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/secrets/verify-strict.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","zod"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/smoke/real-packages.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages zod"]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-cli.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-context.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-db.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-dev-server.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-jsonl-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-posthog-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-scrubber.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/telemetry/telemetry-sentry-sink.test.ts","kind":"unknown","reasons":[]},{"confidence":"weak","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/create-forge-app.test.ts","kind":"unknown","reasons":[]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["ai","react","tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-b2b-support-web.test.ts","kind":"unknown","reasons":["probable: packages ai","probable: packages react","probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/templates/new-minimal-web.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"probable","cost":"fast","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":["tsx"],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/ui/h32-ui.test.ts","kind":"unknown","reasons":["probable: packages tsx"]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-cancel.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-idempotency.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-process.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-registry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-retry.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-run-create.test.ts","kind":"integration","reasons":[]},{"confidence":"weak","cost":"standard","covers":{"actions":[],"commands":[],"components":[],"liveQueries":[],"packages":[],"policies":[],"queries":[],"tables":[],"workflows":[]},"file":"tests/workflows/workflow-subscriptions.test.ts","kind":"integration","reasons":[]}]}