@sayoriqwq/effect-harness 0.0.4 → 0.1.1

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 (105) hide show
  1. package/README.md +9 -77
  2. package/diagnostics/effect-routes.md +6 -0
  3. package/diagnostics/index.md +10 -0
  4. package/diagnostics/tsgo-routes.md +5 -0
  5. package/dist/src/eslint.d.ts +57 -0
  6. package/dist/src/eslint.js +42 -0
  7. package/dist/src/eslint.js.map +1 -0
  8. package/dist/src/index.d.ts +2 -0
  9. package/dist/src/index.js +3 -0
  10. package/dist/src/index.js.map +1 -0
  11. package/dist/src/prelude.d.ts +6 -0
  12. package/dist/src/prelude.js +161 -0
  13. package/dist/src/prelude.js.map +1 -0
  14. package/package.json +25 -17
  15. package/prelude-assets/effect/managed/docs/diagnostics.md +6 -0
  16. package/prelude-assets/effect/managed/docs/editor-policy.md +5 -0
  17. package/prelude-assets/effect/managed/docs/effect-code.md +5 -0
  18. package/prelude-assets/effect/managed/docs/index.md +14 -0
  19. package/prelude-assets/effect/managed/docs/managed-surfaces.md +5 -0
  20. package/prelude-assets/effect/managed/docs/package-config.md +20 -0
  21. package/prelude-assets/effect/managed/docs/quality-policy.md +5 -0
  22. package/prelude-assets/effect/managed/docs/source-identity.md +5 -0
  23. package/prelude-assets/guidance/eslint.md +15 -0
  24. package/repos/effect.subtree.json +2 -2
  25. package/repos/tsgo.subtree.json +2 -2
  26. package/HARNESS.md +0 -66
  27. package/dist/bin/effect-harness.d.ts +0 -2
  28. package/dist/bin/effect-harness.js +0 -34
  29. package/dist/bin/effect-harness.js.map +0 -1
  30. package/dist/src/cli/Main.d.ts +0 -7
  31. package/dist/src/cli/Main.js +0 -45
  32. package/dist/src/cli/Main.js.map +0 -1
  33. package/dist/src/harness/Errors.d.ts +0 -24
  34. package/dist/src/harness/Errors.js +0 -26
  35. package/dist/src/harness/Errors.js.map +0 -1
  36. package/dist/src/harness/Guardrails.d.ts +0 -7
  37. package/dist/src/harness/Guardrails.js +0 -50
  38. package/dist/src/harness/Guardrails.js.map +0 -1
  39. package/dist/src/harness/Model.d.ts +0 -52
  40. package/dist/src/harness/Model.js +0 -170
  41. package/dist/src/harness/Model.js.map +0 -1
  42. package/dist/src/harness/ModuleSources.d.ts +0 -5
  43. package/dist/src/harness/ModuleSources.js +0 -47
  44. package/dist/src/harness/ModuleSources.js.map +0 -1
  45. package/dist/src/harness/ProviderDiscovery.d.ts +0 -172
  46. package/dist/src/harness/ProviderDiscovery.js +0 -157
  47. package/dist/src/harness/ProviderDiscovery.js.map +0 -1
  48. package/dist/src/harness/SourcePin.d.ts +0 -4
  49. package/dist/src/harness/SourcePin.js +0 -214
  50. package/dist/src/harness/SourcePin.js.map +0 -1
  51. package/dist/src/harness/verify/JsonFields.d.ts +0 -1
  52. package/dist/src/harness/verify/JsonFields.js +0 -4
  53. package/dist/src/harness/verify/JsonFields.js.map +0 -1
  54. package/dist/src/harness/verify/Pipeline.d.ts +0 -7
  55. package/dist/src/harness/verify/Pipeline.js +0 -55
  56. package/dist/src/harness/verify/Pipeline.js.map +0 -1
  57. package/dist/src/harness/verify/ProviderProfile.d.ts +0 -3
  58. package/dist/src/harness/verify/ProviderProfile.js +0 -726
  59. package/dist/src/harness/verify/ProviderProfile.js.map +0 -1
  60. package/dist/src/harness/verify/ProviderRepository.d.ts +0 -4
  61. package/dist/src/harness/verify/ProviderRepository.js +0 -127
  62. package/dist/src/harness/verify/ProviderRepository.js.map +0 -1
  63. package/dist/src/harness/verify/Tsgo.d.ts +0 -3
  64. package/dist/src/harness/verify/Tsgo.js +0 -166
  65. package/dist/src/harness/verify/Tsgo.js.map +0 -1
  66. package/dist/src/harness/verify/TsgoMetadata.d.ts +0 -4
  67. package/dist/src/harness/verify/TsgoMetadata.js +0 -50
  68. package/dist/src/harness/verify/TsgoMetadata.js.map +0 -1
  69. package/dist/src/harness/verify/TsgoPolicy.d.ts +0 -208
  70. package/dist/src/harness/verify/TsgoPolicy.js +0 -143
  71. package/dist/src/harness/verify/TsgoPolicy.js.map +0 -1
  72. package/dist/src/harness/verify/TsgoSuppressions.d.ts +0 -2
  73. package/dist/src/harness/verify/TsgoSuppressions.js +0 -24
  74. package/dist/src/harness/verify/TsgoSuppressions.js.map +0 -1
  75. package/dist/src/harness/verify/VerifyStage.d.ts +0 -62
  76. package/dist/src/harness/verify/VerifyStage.js +0 -85
  77. package/dist/src/harness/verify/VerifyStage.js.map +0 -1
  78. package/dist/src/platform/Json.d.ts +0 -4
  79. package/dist/src/platform/Json.js +0 -16
  80. package/dist/src/platform/Json.js.map +0 -1
  81. package/dist/src/platform/Process.d.ts +0 -6
  82. package/dist/src/platform/Process.js +0 -35
  83. package/dist/src/platform/Process.js.map +0 -1
  84. package/harness/code.md +0 -83
  85. package/harness/diagnostic-layers.md +0 -94
  86. package/harness/effect-routes.md +0 -50
  87. package/harness/feedback-loop.md +0 -156
  88. package/harness/index.md +0 -83
  89. package/harness/offcial-guide.md +0 -50
  90. package/harness/offcial-migrate.md +0 -220
  91. package/harness/source.md +0 -91
  92. package/harness/tsgo-routes.md +0 -58
  93. package/harness/tsgo.md +0 -241
  94. package/provider/docs/diagnostics.md +0 -48
  95. package/provider/docs/discovery.md +0 -104
  96. package/provider/docs/editor-policy.md +0 -55
  97. package/provider/docs/effect-code.md +0 -41
  98. package/provider/docs/index.md +0 -48
  99. package/provider/docs/managed-surfaces.md +0 -51
  100. package/provider/docs/package-config.md +0 -71
  101. package/provider/docs/quality-policy.md +0 -68
  102. package/provider/docs/source-identity.md +0 -48
  103. package/provider/effect-harness.provider.json +0 -1020
  104. package/provider/index.md +0 -189
  105. package/provider/snippets/agents.md +0 -34
@@ -1,1020 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "provider": {
4
- "id": "effect-harness",
5
- "contractVersion": "1",
6
- "providerVersion": "0.1.0",
7
- "defaultProfile": "codex-effect-v4"
8
- },
9
- "deliveryModes": {
10
- "internalHarness": {
11
- "mode": "internal-harness",
12
- "description": "Provider repository content used only to maintain effect-harness itself. It is checked by self-conformance but is not target materialized.",
13
- "examples": [
14
- "harness/**",
15
- "src/harness/**",
16
- "tests/**"
17
- ]
18
- },
19
- "providerArtifactReference": {
20
- "mode": "provider-artifact-reference",
21
- "description": "Reference content carried by the provider artifact for audit and agent source access. Targets record identity but do not maintain these files locally.",
22
- "examples": [
23
- "repos/effect/**",
24
- "repos/tsgo/**",
25
- "repos/effect.subtree.json",
26
- "repos/tsgo.subtree.json",
27
- "harness/effect-routes.md",
28
- "harness/tsgo-routes.md"
29
- ]
30
- },
31
- "exportedHarness": {
32
- "mode": "exported-harness",
33
- "description": "Target-facing provider contribution that Prelude may materialize and maintain in a target repository.",
34
- "examples": [
35
- "provider record",
36
- "package.json contribution",
37
- "tsconfig.json contribution",
38
- "provider-managed docs bundle",
39
- "provider-managed snippets"
40
- ]
41
- }
42
- },
43
- "artifactReferences": {
44
- "mode": "provider-artifact-reference",
45
- "targetDelivery": "identity-only",
46
- "packageSurface": [
47
- "provider",
48
- "harness",
49
- "repos",
50
- "repos/effect.subtree.json",
51
- "repos/tsgo.subtree.json"
52
- ],
53
- "references": {
54
- "effect-source-tree": {
55
- "sourceEntry": "effect-official-source",
56
- "path": "repos/effect",
57
- "targetDelivery": "artifact-only"
58
- },
59
- "effect-source-contract": {
60
- "sourceEntry": "effect-official-source",
61
- "path": "repos/effect.subtree.json",
62
- "targetDelivery": "artifact-only"
63
- },
64
- "effect-anchor-doc": {
65
- "sourceEntry": "effect-official-source",
66
- "path": "repos/effect/LLMS.md",
67
- "targetDelivery": "artifact-only"
68
- },
69
- "effect-route-doc": {
70
- "sourceEntry": "effect-official-source",
71
- "path": "harness/effect-routes.md",
72
- "targetDelivery": "artifact-only"
73
- },
74
- "tsgo-source-tree": {
75
- "sourceEntry": "tsgo-official-source",
76
- "path": "repos/tsgo",
77
- "targetDelivery": "artifact-only"
78
- },
79
- "tsgo-source-contract": {
80
- "sourceEntry": "tsgo-official-source",
81
- "path": "repos/tsgo.subtree.json",
82
- "targetDelivery": "artifact-only"
83
- },
84
- "tsgo-anchor-doc": {
85
- "sourceEntry": "tsgo-official-source",
86
- "path": "repos/tsgo/README.md",
87
- "targetDelivery": "artifact-only"
88
- },
89
- "tsgo-route-doc": {
90
- "sourceEntry": "tsgo-official-source",
91
- "path": "harness/tsgo-routes.md",
92
- "targetDelivery": "artifact-only"
93
- }
94
- }
95
- },
96
- "selfConformance": {
97
- "mode": "provider-repository",
98
- "conformsTo": "exported-harness",
99
- "completionGate": "pnpm verify",
100
- "selfMaterialization": false,
101
- "forbiddenProviderRepositorySurfaces": [
102
- ".prelude",
103
- ".prelude/providers",
104
- ".prelude/providers/effect-harness",
105
- ".prelude/providers/effect-harness/provider.json",
106
- ".prelude/providers/effect-harness/docs",
107
- ".prelude/providers/effect-harness/snippets"
108
- ],
109
- "lifecycleOwner": "prelude"
110
- },
111
- "sourceEntries": {
112
- "effect-official-source": {
113
- "id": "effect-official-source",
114
- "kind": "provider-internal-github-subtree",
115
- "authority": "official",
116
- "name": "effect",
117
- "contract": {
118
- "path": "repos/effect.subtree.json",
119
- "owner": "partita",
120
- "format": "github-subtree"
121
- },
122
- "commands": {
123
- "update": "partita pin update --contract repos/effect.subtree.json --name effect --prefix repos/effect --dry-run",
124
- "verify": "partita pin verify --contract repos/effect.subtree.json --name effect --prefix repos/effect"
125
- },
126
- "importBoundary": {
127
- "applicationImportsForbidden": true,
128
- "testImportsForbidden": true,
129
- "message": "Do not import from repos/effect in application or test code."
130
- }
131
- },
132
- "tsgo-official-source": {
133
- "id": "tsgo-official-source",
134
- "kind": "provider-internal-github-subtree",
135
- "authority": "official",
136
- "name": "tsgo",
137
- "contract": {
138
- "path": "repos/tsgo.subtree.json",
139
- "owner": "partita",
140
- "format": "github-subtree"
141
- },
142
- "commands": {
143
- "update": "partita pin update --contract repos/tsgo.subtree.json --name tsgo --prefix repos/tsgo --dry-run",
144
- "verify": "partita pin verify --contract repos/tsgo.subtree.json --name tsgo --prefix repos/tsgo"
145
- },
146
- "importBoundary": {
147
- "applicationImportsForbidden": true,
148
- "testImportsForbidden": true,
149
- "message": "Do not import from repos/tsgo in application or test code."
150
- }
151
- }
152
- },
153
- "providerRecord": {
154
- "requiredFields": [
155
- "schemaVersion",
156
- "id",
157
- "contractVersion",
158
- "providerVersion",
159
- "profile",
160
- "artifact",
161
- "artifact.sourceIdentity",
162
- "artifact.sourceIdentities",
163
- "projectedContext",
164
- "options",
165
- "surfaces",
166
- "surfaces.documentationBundle",
167
- "surfaces.snippets",
168
- "verificationRecordId"
169
- ],
170
- "manifestLookup": {
171
- "path": ".prelude/manifest.json",
172
- "providerList": "maintainProviders",
173
- "idField": "id",
174
- "recordPathField": "recordPath"
175
- },
176
- "sourceDelivery": {
177
- "mode": "artifact-identity-only",
178
- "description": "Prelude records provider artifact/source identities in the provider record. It does not materialize or maintain repos/effect or repos/tsgo in target repos."
179
- }
180
- },
181
- "profiles": {
182
- "codex-effect-v4": {
183
- "sourceEntry": "effect-official-source",
184
- "sourceBoundary": {
185
- "providerRepoInternal": true,
186
- "targetDelivery": "identity-only",
187
- "targetMustNotReceive": [
188
- "repos/effect",
189
- "repos/effect.subtree.json",
190
- "repos/effect/LLMS.md",
191
- "harness/effect-routes.md",
192
- "repos/tsgo",
193
- "repos/tsgo.subtree.json",
194
- "repos/tsgo/README.md",
195
- "harness/tsgo-routes.md"
196
- ],
197
- "allowedTargetSourceIdentity": [
198
- "artifact.sourceIdentity.name",
199
- "artifact.sourceIdentity.contractPath",
200
- "artifact.sourceIdentity.github",
201
- "artifact.sourceIdentity.subtree",
202
- "artifact.sourceIdentities[].name",
203
- "artifact.sourceIdentities[].contractPath",
204
- "artifact.sourceIdentities[].github",
205
- "artifact.sourceIdentities[].subtree"
206
- ]
207
- },
208
- "options": {
209
- "effect": "v4",
210
- "typecheck": "tsgo",
211
- "languageService": true,
212
- "packageScopes": [
213
- "effect",
214
- "@effect/*",
215
- "@typescript/native-preview"
216
- ]
217
- },
218
- "packageBaseline": {
219
- "effect": "4.0.0-beta.92",
220
- "@effect/platform-node": "4.0.0-beta.92",
221
- "@effect/vitest": "4.0.0-beta.92",
222
- "@effect/tsgo": "0.15.0",
223
- "@effect/language-service": "0.86.2",
224
- "@typescript/native-preview": "7.0.0-dev.20260630.1",
225
- "@antfu/eslint-config": "^9.0.0",
226
- "eslint": "^10.3.0",
227
- "vitest": "^4.1.8"
228
- },
229
- "managedSurfaces": {
230
- "targetReceives": [
231
- "provider record at .prelude/providers/effect-harness/provider.json",
232
- "package.json dependency and devDependency structured pointers",
233
- "tsconfig.json @effect/language-service plugin structured pointer",
234
- "editor policy structured pointer for target editor settings",
235
- "eslint package baseline and lint script structured pointers",
236
- "test package baseline and test script structured pointers",
237
- "lint, test, and verification policy records",
238
- "provider-managed docs bundle at .prelude/providers/effect-harness/docs",
239
- "provider-managed snippets at .prelude/providers/effect-harness/snippets"
240
- ],
241
- "targetDoesNotReceive": [
242
- "provider repo internal source pin repos/effect",
243
- "provider repo internal subtree contract repos/effect.subtree.json",
244
- "provider repo internal Effect LLMS route repos/effect/LLMS.md",
245
- "provider repo internal Effect route harness/effect-routes.md",
246
- "provider repo internal source pin repos/tsgo",
247
- "provider repo internal subtree contract repos/tsgo.subtree.json",
248
- "provider repo internal tsgo README route repos/tsgo/README.md",
249
- "provider repo internal tsgo route harness/tsgo-routes.md",
250
- "effect-harness runtime assets under .codex",
251
- "effect-harness AGENTS.md managed block",
252
- ".effect-harness.json standalone manifest",
253
- ".codex/effect-feedback feedback intake"
254
- ]
255
- },
256
- "contributions": {
257
- "packageJson": {
258
- "mode": "structured-merge",
259
- "targetPath": "package.json",
260
- "selfConformanceSpecifier": "catalog:",
261
- "dependencyGroups": {
262
- "runtime": {
263
- "field": "dependencies",
264
- "packages": {
265
- "effect": "4.0.0-beta.92",
266
- "@effect/platform-node": "4.0.0-beta.92"
267
- }
268
- },
269
- "testing": {
270
- "field": "devDependencies",
271
- "packages": {
272
- "@effect/vitest": "4.0.0-beta.92",
273
- "vitest": "^4.1.8"
274
- }
275
- },
276
- "diagnostics": {
277
- "field": "devDependencies",
278
- "packages": {
279
- "@effect/tsgo": "0.15.0",
280
- "@effect/language-service": "0.86.2"
281
- }
282
- },
283
- "nativeBackend": {
284
- "field": "devDependencies",
285
- "packages": {
286
- "@typescript/native-preview": "7.0.0-dev.20260630.1"
287
- }
288
- },
289
- "linting": {
290
- "field": "devDependencies",
291
- "packages": {
292
- "@antfu/eslint-config": "^9.0.0",
293
- "eslint": "^10.3.0"
294
- }
295
- }
296
- },
297
- "scripts": {
298
- "prepare": {
299
- "semantic": "prepare Effect TypeScript-Go backend",
300
- "defaultCommand": "effect-tsgo patch"
301
- },
302
- "typecheck": {
303
- "semantic": "primary Effect diagnostics",
304
- "defaultCommand": "tsgo --noEmit"
305
- },
306
- "test": {
307
- "semantic": "run Effect tests",
308
- "defaultCommand": "vitest run"
309
- },
310
- "lint": {
311
- "semantic": "run ESLint guardrails",
312
- "defaultCommand": "eslint"
313
- }
314
- }
315
- },
316
- "tsconfig": {
317
- "mode": "structured-merge",
318
- "targetPath": "tsconfig.json",
319
- "tsgo": {
320
- "diagnosticCommand": "tsgo --noEmit",
321
- "nativeBackend": {
322
- "package": "@typescript/native-preview",
323
- "version": "7.0.0-dev.20260630.1",
324
- "setupCommand": "effect-tsgo patch"
325
- },
326
- "diagnosticGate": {
327
- "includeSuggestionsInTsc": true,
328
- "ignoreEffectSuggestionsInTscExitCode": false,
329
- "ignoreEffectWarningsInTscExitCode": false,
330
- "ignoreEffectErrorsInTscExitCode": false
331
- },
332
- "ruleMapSource": {
333
- "metadata": "repos/tsgo/_packages/tsgo/src/metadata.json",
334
- "policy": "harness/tsgo.md",
335
- "supportedEffect": "v4",
336
- "ruleCount": 76
337
- }
338
- },
339
- "compilerOptions": {
340
- "plugins": [
341
- {
342
- "name": "@effect/language-service",
343
- "diagnostics": true,
344
- "includeSuggestionsInTsc": true,
345
- "ignoreEffectSuggestionsInTscExitCode": false,
346
- "ignoreEffectWarningsInTscExitCode": false,
347
- "ignoreEffectErrorsInTscExitCode": false,
348
- "diagnosticSeverity": {
349
- "anyUnknownInErrorContext": "error",
350
- "asyncFunction": "warning",
351
- "catchAllToMapError": "suggestion",
352
- "catchToOrElseSucceed": "suggestion",
353
- "catchUnfailableEffect": "suggestion",
354
- "classSelfMismatch": "error",
355
- "cryptoRandomUUID": "warning",
356
- "cryptoRandomUUIDInEffect": "warning",
357
- "deterministicKeys": "warning",
358
- "duplicatePackage": "warning",
359
- "effectDoNotation": "warning",
360
- "effectFnIife": "warning",
361
- "effectFnImplicitAny": "error",
362
- "effectFnOpportunity": "suggestion",
363
- "effectGenUsesAdapter": "warning",
364
- "effectInFailure": "warning",
365
- "effectInVoidSuccess": "warning",
366
- "effectMapFlatten": "suggestion",
367
- "effectMapVoid": "suggestion",
368
- "effectSucceedWithVoid": "suggestion",
369
- "extendsNativeError": "warning",
370
- "floatingEffect": "error",
371
- "genericEffectServices": "warning",
372
- "globalConsole": "warning",
373
- "globalConsoleInEffect": "warning",
374
- "globalDate": "warning",
375
- "globalDateInEffect": "warning",
376
- "globalErrorInEffectCatch": "warning",
377
- "globalErrorInEffectFailure": "warning",
378
- "globalFetch": "warning",
379
- "globalFetchInEffect": "warning",
380
- "globalRandom": "warning",
381
- "globalRandomInEffect": "warning",
382
- "globalTimers": "warning",
383
- "globalTimersInEffect": "warning",
384
- "instanceOfSchema": "warning",
385
- "layerMergeAllWithDependencies": "warning",
386
- "lazyEffect": "suggestion",
387
- "lazyPromiseInEffectSync": "warning",
388
- "leakingRequirements": "suggestion",
389
- "missedPipeableOpportunity": "warning",
390
- "missingEffectContext": "error",
391
- "missingEffectError": "error",
392
- "missingLayerContext": "error",
393
- "missingReturnYieldStar": "error",
394
- "missingStarInYieldEffectGen": "error",
395
- "multipleCatchTag": "suggestion",
396
- "multipleEffectProvide": "warning",
397
- "nestedEffectGenYield": "warning",
398
- "newPromise": "warning",
399
- "newSchemaClass": "warning",
400
- "nodeBuiltinImport": "warning",
401
- "outdatedApi": "warning",
402
- "overriddenSchemaConstructor": "error",
403
- "preferSchemaOverJson": "warning",
404
- "processEnv": "warning",
405
- "processEnvInEffect": "warning",
406
- "redundantMapError": "suggestion",
407
- "redundantOrDie": "suggestion",
408
- "redundantSchemaTagIdentifier": "suggestion",
409
- "returnEffectInGen": "suggestion",
410
- "runEffectInsideEffect": "suggestion",
411
- "schemaNumber": "suggestion",
412
- "schemaStructWithTag": "suggestion",
413
- "serviceNotAsClass": "warning",
414
- "strictBooleanExpressions": "warning",
415
- "strictEffectProvide": "warning",
416
- "tryCatchInEffectGen": "suggestion",
417
- "unknownInEffectCatch": "warning",
418
- "unnecessaryArrowBlock": "warning",
419
- "unnecessaryEffectGen": "suggestion",
420
- "unnecessaryFailYieldableError": "suggestion",
421
- "unnecessaryPipe": "suggestion",
422
- "unnecessaryPipeChain": "suggestion",
423
- "unnecessaryTypeofType": "suggestion",
424
- "unsafeEffectTypeAssertion": "warning"
425
- },
426
- "barrelImportPackages": [
427
- "effect"
428
- ],
429
- "topLevelNamedReexports": "follow",
430
- "effectFn": [
431
- "span"
432
- ],
433
- "keyPatterns": [
434
- {
435
- "target": "service",
436
- "pattern": "default",
437
- "skipLeadingPath": [
438
- "src/"
439
- ]
440
- },
441
- {
442
- "target": "error",
443
- "pattern": "default",
444
- "skipLeadingPath": [
445
- "src/"
446
- ]
447
- },
448
- {
449
- "target": "custom",
450
- "pattern": "default",
451
- "skipLeadingPath": [
452
- "src/"
453
- ]
454
- }
455
- ],
456
- "extendedKeyDetection": true,
457
- "layerGraphFollowDepth": 1,
458
- "noExternal": true,
459
- "inlays": true,
460
- "allowedDuplicatedPackages": [],
461
- "pipeableMinArgCount": 2
462
- }
463
- ]
464
- }
465
- },
466
- "editorPolicy": {
467
- "mode": "structured-merge",
468
- "targetPaths": [
469
- ".vscode/settings.json",
470
- ".zed/settings.json"
471
- ],
472
- "sourceIdentity": {
473
- "providerInternalPatterns": [
474
- "repos/**"
475
- ],
476
- "targetReceivesSourceTrees": false
477
- },
478
- "policies": {
479
- "autoImportExclude": {
480
- "level": "hard-boundary",
481
- "sourceEntryContractField": "editorPolicy.autoImportExclude",
482
- "expectedContractValue": "block",
483
- "patterns": [
484
- "repos/**"
485
- ],
486
- "vscode": {
487
- "typescript.preferences.autoImportFileExcludePatterns": [
488
- "repos/**"
489
- ],
490
- "javascript.preferences.autoImportFileExcludePatterns": [
491
- "repos/**"
492
- ]
493
- },
494
- "zed": {
495
- "settingsPath": ".zed/settings.json",
496
- "lsp": {
497
- "typescript-language-server": {
498
- "initialization_options": {
499
- "preferences": {
500
- "autoImportFileExcludePatterns": [
501
- "repos/**"
502
- ]
503
- }
504
- }
505
- }
506
- }
507
- }
508
- },
509
- "watchExclude": {
510
- "level": "recommended",
511
- "sourceEntryContractField": "editorPolicy.watcherExclude",
512
- "expectedContractValue": "recommended",
513
- "requiresConfiguration": true,
514
- "patterns": [
515
- "repos/**"
516
- ],
517
- "vscode": {
518
- "files.watcherExclude": {
519
- "repos/**": true
520
- }
521
- },
522
- "zed": {
523
- "setting": "file_scan_exclusions",
524
- "patterns": [
525
- "repos/**"
526
- ],
527
- "requiresExplicitOptIn": true
528
- }
529
- },
530
- "searchExclude": {
531
- "level": "recommended",
532
- "sourceEntryContractField": "editorPolicy.searchExclude",
533
- "expectedContractValue": "recommended",
534
- "requiresConfiguration": true,
535
- "patterns": [
536
- "repos/**"
537
- ],
538
- "vscode": {
539
- "search.exclude": {
540
- "repos/**": true
541
- }
542
- },
543
- "zed": {
544
- "setting": "file_scan_exclusions",
545
- "patterns": [
546
- "repos/**"
547
- ],
548
- "requiresExplicitOptIn": true
549
- }
550
- },
551
- "filesExclude": {
552
- "level": "preference",
553
- "sourceEntryContractField": "editorPolicy.filesExclude",
554
- "requiresExplicitOptIn": true,
555
- "sourceEntryDefaults": {
556
- "effect-official-source": "enabled",
557
- "tsgo-official-source": "disabled"
558
- },
559
- "vscode": {
560
- "files.exclude": {
561
- "repos/effect/**": true
562
- }
563
- },
564
- "zed": {
565
- "setting": "file_scan_exclusions",
566
- "patterns": [
567
- "repos/effect/**"
568
- ]
569
- }
570
- }
571
- }
572
- },
573
- "lintGuardrails": {
574
- "mode": "command-policy",
575
- "stage": "lint",
576
- "command": "pnpm lint --max-warnings 0",
577
- "configFiles": [
578
- "eslint.config.mjs"
579
- ],
580
- "layers": {
581
- "owns": [
582
- "repository import boundary",
583
- "Effect v4 CLI import boundary",
584
- "Effect test entry",
585
- "syntax-level Effect guardrails",
586
- "schema validation disable guardrail"
587
- ],
588
- "doesNotOwn": [
589
- "Effect semantic diagnostics",
590
- "Effect type requirement diagnostics",
591
- "tsgo rule severity map"
592
- ]
593
- },
594
- "rules": {
595
- "restrictedImports": [
596
- "node:test",
597
- "@effect/cli",
598
- "@effect/cli/*",
599
- "repos/effect/**",
600
- "repos/tsgo/**"
601
- ],
602
- "restrictedVitestImports": [
603
- "describe",
604
- "it",
605
- "test"
606
- ],
607
- "allowedVitestImports": [
608
- "vi",
609
- "beforeEach",
610
- "afterEach",
611
- "beforeAll",
612
- "afterAll"
613
- ],
614
- "restrictedSyntax": [
615
- "Context.Tag",
616
- "Effect.catchAllCause",
617
- "Effect.ignore",
618
- "Effect.serviceOption",
619
- "{ disableValidation: true }",
620
- "plain it() in tests"
621
- ],
622
- "allowedTestEntrypoints": [
623
- "it.effect",
624
- "it.live",
625
- "layer"
626
- ]
627
- }
628
- },
629
- "testPolicy": {
630
- "mode": "command-policy",
631
- "stage": "tests",
632
- "command": "pnpm test",
633
- "packageScript": "vitest run",
634
- "framework": "@effect/vitest",
635
- "expectedEntries": [
636
- "tests/**/*.test.ts"
637
- ],
638
- "effectEntrypoints": [
639
- "it.effect",
640
- "it.live",
641
- "layer"
642
- ],
643
- "disallowedImports": [
644
- "node:test"
645
- ],
646
- "disallowedVitestImports": [
647
- "describe",
648
- "it",
649
- "test"
650
- ]
651
- },
652
- "verificationPolicy": {
653
- "mode": "pipeline-policy",
654
- "completionGate": "pnpm verify",
655
- "packageScript": "node bin/effect-harness.ts verify --harness .",
656
- "lifecycleOwner": "prelude",
657
- "localCommands": {
658
- "diagnostics": [
659
- "pnpm typecheck"
660
- ],
661
- "tests": [
662
- "pnpm test"
663
- ],
664
- "lint": [
665
- "pnpm lint --max-warnings 0"
666
- ],
667
- "completion": [
668
- "pnpm verify"
669
- ]
670
- },
671
- "stages": [
672
- {
673
- "tag": "source-pins",
674
- "summary": "Verify pinned GitHub subtree source entries."
675
- },
676
- {
677
- "tag": "harness-contract",
678
- "summary": "Verify the provider repository contract and current harness baseline."
679
- },
680
- {
681
- "tag": "tsgo-diagnostics",
682
- "summary": "Run tsgo --noEmit and enforce zero Effect diagnostics."
683
- },
684
- {
685
- "tag": "tests",
686
- "summary": "Run the Effect test suite."
687
- },
688
- {
689
- "tag": "lint",
690
- "summary": "Run ESLint with zero warnings."
691
- },
692
- {
693
- "tag": "knip",
694
- "summary": "Run knip and keep the package surface minimal."
695
- }
696
- ]
697
- },
698
- "documentationBundle": {
699
- "mode": "managed-files",
700
- "targetBasePath": ".prelude/providers/effect-harness/docs",
701
- "files": [
702
- {
703
- "id": "effect-code",
704
- "sourcePath": "provider/docs/effect-code.md",
705
- "targetPath": "effect-code.md",
706
- "contentType": "text/markdown",
707
- "managed": true
708
- },
709
- {
710
- "id": "diagnostics",
711
- "sourcePath": "provider/docs/diagnostics.md",
712
- "targetPath": "diagnostics.md",
713
- "contentType": "text/markdown",
714
- "managed": true
715
- },
716
- {
717
- "id": "editor-policy",
718
- "sourcePath": "provider/docs/editor-policy.md",
719
- "targetPath": "editor-policy.md",
720
- "contentType": "text/markdown",
721
- "managed": true
722
- },
723
- {
724
- "id": "managed-surfaces",
725
- "sourcePath": "provider/docs/managed-surfaces.md",
726
- "targetPath": "managed-surfaces.md",
727
- "contentType": "text/markdown",
728
- "managed": true
729
- },
730
- {
731
- "id": "discovery",
732
- "sourcePath": "provider/docs/discovery.md",
733
- "targetPath": "discovery.md",
734
- "contentType": "text/markdown",
735
- "managed": true
736
- },
737
- {
738
- "id": "package-config",
739
- "sourcePath": "provider/docs/package-config.md",
740
- "targetPath": "package-config.md",
741
- "contentType": "text/markdown",
742
- "managed": true
743
- },
744
- {
745
- "id": "quality-policy",
746
- "sourcePath": "provider/docs/quality-policy.md",
747
- "targetPath": "quality-policy.md",
748
- "contentType": "text/markdown",
749
- "managed": true
750
- },
751
- {
752
- "id": "source-identity",
753
- "sourcePath": "provider/docs/source-identity.md",
754
- "targetPath": "source-identity.md",
755
- "contentType": "text/markdown",
756
- "managed": true
757
- }
758
- ]
759
- },
760
- "snippets": {
761
- "mode": "managed-files",
762
- "targetBasePath": ".prelude/providers/effect-harness/snippets",
763
- "files": [
764
- {
765
- "id": "agents-effect-harness",
766
- "sourcePath": "provider/snippets/agents.md",
767
- "targetPath": "agents.md",
768
- "contentType": "text/markdown",
769
- "managed": true,
770
- "targetUsage": "manual-copy-or-include-only"
771
- }
772
- ]
773
- }
774
- },
775
- "verification": {
776
- "status": [
777
- "provider internal Effect and tsgo source entries exist",
778
- "Partita GitHub subtree contracts record source prefix, pin, anchor, route, and editor policy",
779
- "provider profile records source identities, package baseline, strict tsgo policy, docs bundle, and snippets"
780
- ],
781
- "verify": [
782
- "source pins exist as committed Git tree entries with subtree trailers",
783
- "provider profile references the Partita GitHub subtree contracts",
784
- "tsgo --noEmit is the primary Effect diagnostic path",
785
- "@effect/language-service uses the strict v4 diagnostic rule map",
786
- "provider docs bundle and snippets are declared as managed contributions",
787
- "provider repository does not import from repos/effect, repos/tsgo, or @effect/cli"
788
- ]
789
- },
790
- "sourceEntries": [
791
- "effect-official-source",
792
- "tsgo-official-source"
793
- ],
794
- "tsgoPolicy": {
795
- "mode": "strict-v4",
796
- "effectVersion": "4.0.0-beta.92",
797
- "tsgoVersion": "0.15.0",
798
- "languageServiceVersion": "0.86.2",
799
- "sourceEntry": "tsgo-official-source",
800
- "nativeBackend": {
801
- "package": "@typescript/native-preview",
802
- "version": "7.0.0-dev.20260630.1",
803
- "alternative": "typescript >= 7 is recognized by @effect/tsgo but is not projected by this provider profile."
804
- },
805
- "diagnosticGate": {
806
- "includeSuggestionsInTsc": true,
807
- "ignoreEffectSuggestionsInTscExitCode": false,
808
- "ignoreEffectWarningsInTscExitCode": false,
809
- "ignoreEffectErrorsInTscExitCode": false
810
- },
811
- "ruleMapSource": {
812
- "metadata": "repos/tsgo/_packages/tsgo/src/metadata.json",
813
- "policy": "harness/tsgo.md",
814
- "supportedEffect": "v4",
815
- "ruleCount": 76
816
- },
817
- "diagnosticSeverity": {
818
- "anyUnknownInErrorContext": "error",
819
- "asyncFunction": "warning",
820
- "catchAllToMapError": "suggestion",
821
- "catchToOrElseSucceed": "suggestion",
822
- "catchUnfailableEffect": "suggestion",
823
- "classSelfMismatch": "error",
824
- "cryptoRandomUUID": "warning",
825
- "cryptoRandomUUIDInEffect": "warning",
826
- "deterministicKeys": "warning",
827
- "duplicatePackage": "warning",
828
- "effectDoNotation": "warning",
829
- "effectFnIife": "warning",
830
- "effectFnImplicitAny": "error",
831
- "effectFnOpportunity": "suggestion",
832
- "effectGenUsesAdapter": "warning",
833
- "effectInFailure": "warning",
834
- "effectInVoidSuccess": "warning",
835
- "effectMapFlatten": "suggestion",
836
- "effectMapVoid": "suggestion",
837
- "effectSucceedWithVoid": "suggestion",
838
- "extendsNativeError": "warning",
839
- "floatingEffect": "error",
840
- "genericEffectServices": "warning",
841
- "globalConsole": "warning",
842
- "globalConsoleInEffect": "warning",
843
- "globalDate": "warning",
844
- "globalDateInEffect": "warning",
845
- "globalErrorInEffectCatch": "warning",
846
- "globalErrorInEffectFailure": "warning",
847
- "globalFetch": "warning",
848
- "globalFetchInEffect": "warning",
849
- "globalRandom": "warning",
850
- "globalRandomInEffect": "warning",
851
- "globalTimers": "warning",
852
- "globalTimersInEffect": "warning",
853
- "instanceOfSchema": "warning",
854
- "layerMergeAllWithDependencies": "warning",
855
- "lazyEffect": "suggestion",
856
- "lazyPromiseInEffectSync": "warning",
857
- "leakingRequirements": "suggestion",
858
- "missedPipeableOpportunity": "warning",
859
- "missingEffectContext": "error",
860
- "missingEffectError": "error",
861
- "missingLayerContext": "error",
862
- "missingReturnYieldStar": "error",
863
- "missingStarInYieldEffectGen": "error",
864
- "multipleCatchTag": "suggestion",
865
- "multipleEffectProvide": "warning",
866
- "nestedEffectGenYield": "warning",
867
- "newPromise": "warning",
868
- "newSchemaClass": "warning",
869
- "nodeBuiltinImport": "warning",
870
- "outdatedApi": "warning",
871
- "overriddenSchemaConstructor": "error",
872
- "preferSchemaOverJson": "warning",
873
- "processEnv": "warning",
874
- "processEnvInEffect": "warning",
875
- "redundantMapError": "suggestion",
876
- "redundantOrDie": "suggestion",
877
- "redundantSchemaTagIdentifier": "suggestion",
878
- "returnEffectInGen": "suggestion",
879
- "runEffectInsideEffect": "suggestion",
880
- "schemaNumber": "suggestion",
881
- "schemaStructWithTag": "suggestion",
882
- "serviceNotAsClass": "warning",
883
- "strictBooleanExpressions": "warning",
884
- "strictEffectProvide": "warning",
885
- "tryCatchInEffectGen": "suggestion",
886
- "unknownInEffectCatch": "warning",
887
- "unnecessaryArrowBlock": "warning",
888
- "unnecessaryEffectGen": "suggestion",
889
- "unnecessaryFailYieldableError": "suggestion",
890
- "unnecessaryPipe": "suggestion",
891
- "unnecessaryPipeChain": "suggestion",
892
- "unnecessaryTypeofType": "suggestion",
893
- "unsafeEffectTypeAssertion": "warning"
894
- },
895
- "languageServicePlugin": {
896
- "name": "@effect/language-service",
897
- "diagnostics": true,
898
- "includeSuggestionsInTsc": true,
899
- "ignoreEffectSuggestionsInTscExitCode": false,
900
- "ignoreEffectWarningsInTscExitCode": false,
901
- "ignoreEffectErrorsInTscExitCode": false,
902
- "diagnosticSeverity": {
903
- "anyUnknownInErrorContext": "error",
904
- "asyncFunction": "warning",
905
- "catchAllToMapError": "suggestion",
906
- "catchToOrElseSucceed": "suggestion",
907
- "catchUnfailableEffect": "suggestion",
908
- "classSelfMismatch": "error",
909
- "cryptoRandomUUID": "warning",
910
- "cryptoRandomUUIDInEffect": "warning",
911
- "deterministicKeys": "warning",
912
- "duplicatePackage": "warning",
913
- "effectDoNotation": "warning",
914
- "effectFnIife": "warning",
915
- "effectFnImplicitAny": "error",
916
- "effectFnOpportunity": "suggestion",
917
- "effectGenUsesAdapter": "warning",
918
- "effectInFailure": "warning",
919
- "effectInVoidSuccess": "warning",
920
- "effectMapFlatten": "suggestion",
921
- "effectMapVoid": "suggestion",
922
- "effectSucceedWithVoid": "suggestion",
923
- "extendsNativeError": "warning",
924
- "floatingEffect": "error",
925
- "genericEffectServices": "warning",
926
- "globalConsole": "warning",
927
- "globalConsoleInEffect": "warning",
928
- "globalDate": "warning",
929
- "globalDateInEffect": "warning",
930
- "globalErrorInEffectCatch": "warning",
931
- "globalErrorInEffectFailure": "warning",
932
- "globalFetch": "warning",
933
- "globalFetchInEffect": "warning",
934
- "globalRandom": "warning",
935
- "globalRandomInEffect": "warning",
936
- "globalTimers": "warning",
937
- "globalTimersInEffect": "warning",
938
- "instanceOfSchema": "warning",
939
- "layerMergeAllWithDependencies": "warning",
940
- "lazyEffect": "suggestion",
941
- "lazyPromiseInEffectSync": "warning",
942
- "leakingRequirements": "suggestion",
943
- "missedPipeableOpportunity": "warning",
944
- "missingEffectContext": "error",
945
- "missingEffectError": "error",
946
- "missingLayerContext": "error",
947
- "missingReturnYieldStar": "error",
948
- "missingStarInYieldEffectGen": "error",
949
- "multipleCatchTag": "suggestion",
950
- "multipleEffectProvide": "warning",
951
- "nestedEffectGenYield": "warning",
952
- "newPromise": "warning",
953
- "newSchemaClass": "warning",
954
- "nodeBuiltinImport": "warning",
955
- "outdatedApi": "warning",
956
- "overriddenSchemaConstructor": "error",
957
- "preferSchemaOverJson": "warning",
958
- "processEnv": "warning",
959
- "processEnvInEffect": "warning",
960
- "redundantMapError": "suggestion",
961
- "redundantOrDie": "suggestion",
962
- "redundantSchemaTagIdentifier": "suggestion",
963
- "returnEffectInGen": "suggestion",
964
- "runEffectInsideEffect": "suggestion",
965
- "schemaNumber": "suggestion",
966
- "schemaStructWithTag": "suggestion",
967
- "serviceNotAsClass": "warning",
968
- "strictBooleanExpressions": "warning",
969
- "strictEffectProvide": "warning",
970
- "tryCatchInEffectGen": "suggestion",
971
- "unknownInEffectCatch": "warning",
972
- "unnecessaryArrowBlock": "warning",
973
- "unnecessaryEffectGen": "suggestion",
974
- "unnecessaryFailYieldableError": "suggestion",
975
- "unnecessaryPipe": "suggestion",
976
- "unnecessaryPipeChain": "suggestion",
977
- "unnecessaryTypeofType": "suggestion",
978
- "unsafeEffectTypeAssertion": "warning"
979
- },
980
- "barrelImportPackages": [
981
- "effect"
982
- ],
983
- "topLevelNamedReexports": "follow",
984
- "effectFn": [
985
- "span"
986
- ],
987
- "keyPatterns": [
988
- {
989
- "target": "service",
990
- "pattern": "default",
991
- "skipLeadingPath": [
992
- "src/"
993
- ]
994
- },
995
- {
996
- "target": "error",
997
- "pattern": "default",
998
- "skipLeadingPath": [
999
- "src/"
1000
- ]
1001
- },
1002
- {
1003
- "target": "custom",
1004
- "pattern": "default",
1005
- "skipLeadingPath": [
1006
- "src/"
1007
- ]
1008
- }
1009
- ],
1010
- "extendedKeyDetection": true,
1011
- "layerGraphFollowDepth": 1,
1012
- "noExternal": true,
1013
- "inlays": true,
1014
- "allowedDuplicatedPackages": [],
1015
- "pipeableMinArgCount": 2
1016
- }
1017
- }
1018
- }
1019
- }
1020
- }