@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.
- package/README.md +9 -77
- package/diagnostics/effect-routes.md +6 -0
- package/diagnostics/index.md +10 -0
- package/diagnostics/tsgo-routes.md +5 -0
- package/dist/src/eslint.d.ts +57 -0
- package/dist/src/eslint.js +42 -0
- package/dist/src/eslint.js.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +3 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/prelude.d.ts +6 -0
- package/dist/src/prelude.js +161 -0
- package/dist/src/prelude.js.map +1 -0
- package/package.json +25 -17
- package/prelude-assets/effect/managed/docs/diagnostics.md +6 -0
- package/prelude-assets/effect/managed/docs/editor-policy.md +5 -0
- package/prelude-assets/effect/managed/docs/effect-code.md +5 -0
- package/prelude-assets/effect/managed/docs/index.md +14 -0
- package/prelude-assets/effect/managed/docs/managed-surfaces.md +5 -0
- package/prelude-assets/effect/managed/docs/package-config.md +20 -0
- package/prelude-assets/effect/managed/docs/quality-policy.md +5 -0
- package/prelude-assets/effect/managed/docs/source-identity.md +5 -0
- package/prelude-assets/guidance/eslint.md +15 -0
- package/repos/effect.subtree.json +2 -2
- package/repos/tsgo.subtree.json +2 -2
- package/HARNESS.md +0 -66
- package/dist/bin/effect-harness.d.ts +0 -2
- package/dist/bin/effect-harness.js +0 -34
- package/dist/bin/effect-harness.js.map +0 -1
- package/dist/src/cli/Main.d.ts +0 -7
- package/dist/src/cli/Main.js +0 -45
- package/dist/src/cli/Main.js.map +0 -1
- package/dist/src/harness/Errors.d.ts +0 -24
- package/dist/src/harness/Errors.js +0 -26
- package/dist/src/harness/Errors.js.map +0 -1
- package/dist/src/harness/Guardrails.d.ts +0 -7
- package/dist/src/harness/Guardrails.js +0 -50
- package/dist/src/harness/Guardrails.js.map +0 -1
- package/dist/src/harness/Model.d.ts +0 -52
- package/dist/src/harness/Model.js +0 -170
- package/dist/src/harness/Model.js.map +0 -1
- package/dist/src/harness/ModuleSources.d.ts +0 -5
- package/dist/src/harness/ModuleSources.js +0 -47
- package/dist/src/harness/ModuleSources.js.map +0 -1
- package/dist/src/harness/ProviderDiscovery.d.ts +0 -172
- package/dist/src/harness/ProviderDiscovery.js +0 -157
- package/dist/src/harness/ProviderDiscovery.js.map +0 -1
- package/dist/src/harness/SourcePin.d.ts +0 -4
- package/dist/src/harness/SourcePin.js +0 -214
- package/dist/src/harness/SourcePin.js.map +0 -1
- package/dist/src/harness/verify/JsonFields.d.ts +0 -1
- package/dist/src/harness/verify/JsonFields.js +0 -4
- package/dist/src/harness/verify/JsonFields.js.map +0 -1
- package/dist/src/harness/verify/Pipeline.d.ts +0 -7
- package/dist/src/harness/verify/Pipeline.js +0 -55
- package/dist/src/harness/verify/Pipeline.js.map +0 -1
- package/dist/src/harness/verify/ProviderProfile.d.ts +0 -3
- package/dist/src/harness/verify/ProviderProfile.js +0 -726
- package/dist/src/harness/verify/ProviderProfile.js.map +0 -1
- package/dist/src/harness/verify/ProviderRepository.d.ts +0 -4
- package/dist/src/harness/verify/ProviderRepository.js +0 -127
- package/dist/src/harness/verify/ProviderRepository.js.map +0 -1
- package/dist/src/harness/verify/Tsgo.d.ts +0 -3
- package/dist/src/harness/verify/Tsgo.js +0 -166
- package/dist/src/harness/verify/Tsgo.js.map +0 -1
- package/dist/src/harness/verify/TsgoMetadata.d.ts +0 -4
- package/dist/src/harness/verify/TsgoMetadata.js +0 -50
- package/dist/src/harness/verify/TsgoMetadata.js.map +0 -1
- package/dist/src/harness/verify/TsgoPolicy.d.ts +0 -208
- package/dist/src/harness/verify/TsgoPolicy.js +0 -143
- package/dist/src/harness/verify/TsgoPolicy.js.map +0 -1
- package/dist/src/harness/verify/TsgoSuppressions.d.ts +0 -2
- package/dist/src/harness/verify/TsgoSuppressions.js +0 -24
- package/dist/src/harness/verify/TsgoSuppressions.js.map +0 -1
- package/dist/src/harness/verify/VerifyStage.d.ts +0 -62
- package/dist/src/harness/verify/VerifyStage.js +0 -85
- package/dist/src/harness/verify/VerifyStage.js.map +0 -1
- package/dist/src/platform/Json.d.ts +0 -4
- package/dist/src/platform/Json.js +0 -16
- package/dist/src/platform/Json.js.map +0 -1
- package/dist/src/platform/Process.d.ts +0 -6
- package/dist/src/platform/Process.js +0 -35
- package/dist/src/platform/Process.js.map +0 -1
- package/harness/code.md +0 -83
- package/harness/diagnostic-layers.md +0 -94
- package/harness/effect-routes.md +0 -50
- package/harness/feedback-loop.md +0 -156
- package/harness/index.md +0 -83
- package/harness/offcial-guide.md +0 -50
- package/harness/offcial-migrate.md +0 -220
- package/harness/source.md +0 -91
- package/harness/tsgo-routes.md +0 -58
- package/harness/tsgo.md +0 -241
- package/provider/docs/diagnostics.md +0 -48
- package/provider/docs/discovery.md +0 -104
- package/provider/docs/editor-policy.md +0 -55
- package/provider/docs/effect-code.md +0 -41
- package/provider/docs/index.md +0 -48
- package/provider/docs/managed-surfaces.md +0 -51
- package/provider/docs/package-config.md +0 -71
- package/provider/docs/quality-policy.md +0 -68
- package/provider/docs/source-identity.md +0 -48
- package/provider/effect-harness.provider.json +0 -1020
- package/provider/index.md +0 -189
- package/provider/snippets/agents.md +0 -34
package/provider/index.md
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
audience: [agent, human]
|
|
3
|
-
authors:
|
|
4
|
-
- codex
|
|
5
|
-
reviewed_by: []
|
|
6
|
-
purpose: 定义 effect-harness provider 对任意 target 暴露的能力、受管 surface 和模板边界。
|
|
7
|
-
status: active
|
|
8
|
-
sources:
|
|
9
|
-
- provider/effect-harness.provider.json
|
|
10
|
-
- provider/docs/discovery.md
|
|
11
|
-
- provider/docs/index.md
|
|
12
|
-
- provider/snippets/agents.md
|
|
13
|
-
- harness/offcial-migrate.md
|
|
14
|
-
- harness/tsgo.md
|
|
15
|
-
updated: 2026-07-02
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# Provider Profile
|
|
19
|
-
|
|
20
|
-
`provider/` 是 effect-harness 对外暴露的 provider contract。它描述任意 target 接入
|
|
21
|
-
effect-harness 时应该接收哪些受管能力。
|
|
22
|
-
|
|
23
|
-
Prelude 是 provider lifecycle owner,也可以作为 target 接入 effect-harness。外部仓库和 Prelude
|
|
24
|
-
本仓作为 target 时,应该消费同一份 provider profile、同一组 docs bundle 和同一组 snippets。
|
|
25
|
-
|
|
26
|
-
`effect-harness` 本仓是这份 contract 的第一个 self-conforming repository。self-conformance
|
|
27
|
-
只证明本仓符合 exported harness 声明,不在本仓生成 `.prelude/**` 或 Prelude target lifecycle
|
|
28
|
-
state。
|
|
29
|
-
|
|
30
|
-
当前真源:
|
|
31
|
-
|
|
32
|
-
- `provider/effect-harness.provider.json`
|
|
33
|
-
- `provider/docs/index.md`
|
|
34
|
-
- `provider/snippets/agents.md`
|
|
35
|
-
- `repos/effect.subtree.json`
|
|
36
|
-
- `repos/tsgo.subtree.json`
|
|
37
|
-
- `repos/effect/LLMS.md`
|
|
38
|
-
- `repos/tsgo/README.md`
|
|
39
|
-
- `harness/offcial-guide.md`
|
|
40
|
-
- `harness/offcial-migrate.md`
|
|
41
|
-
- `harness/tsgo.md`
|
|
42
|
-
|
|
43
|
-
## Layers
|
|
44
|
-
|
|
45
|
-
第一层是 harness 层:effect-harness 维护本仓内部的 Effect/tsgo 源入口实例、路线、验证、
|
|
46
|
-
strict tsgo policy 和 Effect package 基线。
|
|
47
|
-
|
|
48
|
-
第二层是 provider 层:effect-harness 通过 `provider/effect-harness.provider.json` 暴露 target
|
|
49
|
-
应该接收的能力,Prelude 负责 materialize、drift detection、update 和 verify。
|
|
50
|
-
|
|
51
|
-
Partita 负责 GitHub subtree pin 语义和 source contract;effect-harness 不复制这套能力。Prelude
|
|
52
|
-
负责 target lifecycle;effect-harness 不投影 Codex runtime 资产、反馈入口、目标 `AGENTS.md`
|
|
53
|
-
managed block 或 `.effect-harness.json` state。
|
|
54
|
-
|
|
55
|
-
## Delivery Modes
|
|
56
|
-
|
|
57
|
-
| Mode | Contract field | Delivery |
|
|
58
|
-
| --- | --- | --- |
|
|
59
|
-
| internal harness | `deliveryModes.internalHarness` | 只服务 provider 仓维护和 self-conformance,不投递到 target。 |
|
|
60
|
-
| provider artifact reference | `deliveryModes.providerArtifactReference` | 随 package artifact 保留,target 只记录 identity,不本地维护 source tree 或 route docs。 |
|
|
61
|
-
| exported harness | `deliveryModes.exportedHarness` | Prelude 后续可以投递到 target,并纳入 provider record 与 drift 判断。 |
|
|
62
|
-
|
|
63
|
-
`provider/effect-harness.provider.json.selfConformance` MUST 声明 `completionGate: "pnpm verify"`。
|
|
64
|
-
|
|
65
|
-
`provider/effect-harness.provider.json.selfConformance.selfMaterialization` MUST 是 `false`。
|
|
66
|
-
|
|
67
|
-
provider repository MUST NOT 出现
|
|
68
|
-
`.prelude/**`、`.prelude/providers/effect-harness/**` 或 target provider record 本体。
|
|
69
|
-
|
|
70
|
-
## Capabilities
|
|
71
|
-
|
|
72
|
-
provider 当前暴露以下能力:
|
|
73
|
-
|
|
74
|
-
| Capability | Contribution | Target surface |
|
|
75
|
-
| --- | --- | --- |
|
|
76
|
-
| Effect v4 package baseline | `contributions.packageJson.dependencyGroups.runtime` | `package.json` dependencies |
|
|
77
|
-
| Effect testing baseline | `contributions.packageJson.dependencyGroups.testing` | `package.json` devDependencies |
|
|
78
|
-
| Effect diagnostics packages | `contributions.packageJson.dependencyGroups.diagnostics` | `package.json` devDependencies |
|
|
79
|
-
| Native tsgo backend package | `contributions.packageJson.dependencyGroups.nativeBackend` | `package.json` devDependencies |
|
|
80
|
-
| ESLint baseline | `contributions.packageJson.dependencyGroups.linting` | `package.json` devDependencies |
|
|
81
|
-
| Effect diagnostics | `contributions.packageJson.scripts.typecheck` | `tsgo --noEmit` |
|
|
82
|
-
| Native tsgo backend setup | `contributions.packageJson.scripts.prepare` | `effect-tsgo patch` |
|
|
83
|
-
| Effect tests | `contributions.packageJson.scripts.test` | `vitest run` |
|
|
84
|
-
| ESLint guardrail entry | `contributions.packageJson.scripts.lint` | `eslint` |
|
|
85
|
-
| Strict language-service policy | `contributions.tsconfig.compilerOptions.plugins[]` | `tsconfig.json` plugin |
|
|
86
|
-
| Strict tsgo execution policy | `contributions.tsconfig.tsgo` | `tsconfig.json` projection and package scripts |
|
|
87
|
-
| Editor policy | `contributions.editorPolicy` | editor settings projection |
|
|
88
|
-
| Lint guardrails | `contributions.lintGuardrails` | repository boundary and syntax-level guardrails |
|
|
89
|
-
| Test policy | `contributions.testPolicy` | `@effect/vitest` baseline and test entry |
|
|
90
|
-
| Verification policy | `contributions.verificationPolicy` | completion gate and verify stages |
|
|
91
|
-
| Provider discovery | `provider-discover` | package artifact locator and machine-readable provider envelope |
|
|
92
|
-
| Provider identity record | `providerRecord` | `.prelude/providers/effect-harness/provider.json` |
|
|
93
|
-
| Source identity | `sourceEntries`、`sourceBoundary` | provider record artifact identity only |
|
|
94
|
-
| Target docs bundle | `contributions.documentationBundle` | `.prelude/providers/effect-harness/docs/**` |
|
|
95
|
-
| Target snippets | `contributions.snippets` | `.prelude/providers/effect-harness/snippets/**` |
|
|
96
|
-
|
|
97
|
-
这些 target surface 是 exported harness。它们可以出现在真实 target 中,但不能出现在
|
|
98
|
-
`effect-harness` provider repository 中。
|
|
99
|
-
|
|
100
|
-
## Target Surfaces
|
|
101
|
-
|
|
102
|
-
当前 provider target surfaces 是受管 surface。目标可以是 Prelude 本仓,也可以是其他接入仓库。
|
|
103
|
-
|
|
104
|
-
Target 应该接收:
|
|
105
|
-
|
|
106
|
-
- `package.json` dependencies and scripts
|
|
107
|
-
- `tsconfig.json` strict language-service plugin
|
|
108
|
-
- editor settings projection
|
|
109
|
-
- ESLint package baseline and guardrail config projection
|
|
110
|
-
- lint/test/verification policy records
|
|
111
|
-
- `.prelude/providers/effect-harness/provider.json` provider record
|
|
112
|
-
- `.prelude/providers/effect-harness/docs/**` docs bundle
|
|
113
|
-
- `.prelude/providers/effect-harness/snippets/**` snippets
|
|
114
|
-
- provider artifact/source identities
|
|
115
|
-
|
|
116
|
-
Target 不应该接收:
|
|
117
|
-
|
|
118
|
-
- `repos/effect/` 本体
|
|
119
|
-
- `repos/tsgo/` 本体
|
|
120
|
-
- `repos/effect.subtree.json` 本体
|
|
121
|
-
- `repos/tsgo.subtree.json` 本体
|
|
122
|
-
- `repos/effect/LLMS.md` 本体
|
|
123
|
-
- `repos/tsgo/README.md` 本体
|
|
124
|
-
- `.codex` runtime files
|
|
125
|
-
- effect-harness `AGENTS.md` 管理块
|
|
126
|
-
- `.effect-harness.json` state
|
|
127
|
-
- `.codex/effect-feedback` feedback intake
|
|
128
|
-
|
|
129
|
-
目标项目可以接收 provider record 中的 Effect source identity 和 tsgo source identity,但不接收
|
|
130
|
-
provider-internal source tree 本体。
|
|
131
|
-
|
|
132
|
-
包含 `.codex` runtime files、effect-harness `AGENTS.md` 管理块或 `.effect-harness.json`
|
|
133
|
-
state 的 provider records 应按当前 profile 重新生成。
|
|
134
|
-
|
|
135
|
-
## Managed Docs
|
|
136
|
-
|
|
137
|
-
`provider/docs/**` 是 target-facing docs bundle 的 provider source。它不是本仓 harness
|
|
138
|
-
维护手册,也不引用 provider-internal source tree 作为 target 本地路径。
|
|
139
|
-
|
|
140
|
-
Prelude materialization 时应把 docs bundle 投递到 `.prelude/providers/effect-harness/docs/**`,
|
|
141
|
-
并把它纳入 provider record surfaces。目标项目对这些文件的本地修改属于 drift,需要按 Prelude
|
|
142
|
-
maintain 规则处理。
|
|
143
|
-
|
|
144
|
-
`provider/snippets/**` 是受管 snippet source。snippet 可以被用户或 target-local policy 引用,
|
|
145
|
-
但 effect-harness 不直接管理目标 `AGENTS.md` block。
|
|
146
|
-
|
|
147
|
-
## Discovery
|
|
148
|
-
|
|
149
|
-
Prelude SHOULD 通过 `npx --yes @sayoriqwq/effect-harness provider-discover` 读取 provider discovery
|
|
150
|
-
envelope。
|
|
151
|
-
|
|
152
|
-
discovery envelope 暴露 provider identity、artifact root、package locator、target-managed surfaces、
|
|
153
|
-
artifact-only references、source identity 和 internal harness surfaces。
|
|
154
|
-
|
|
155
|
-
Prelude MUST NOT 把 `provider/effect-harness.provider.json` 复制进 Prelude 源码并手写保持同步。
|
|
156
|
-
|
|
157
|
-
Prelude MUST NOT 把 artifact-only references 当作 target-managed files 投递。
|
|
158
|
-
|
|
159
|
-
## 编辑器策略
|
|
160
|
-
|
|
161
|
-
`contributions.editorPolicy` 把 source-entry editor policy 投影为 target-facing contribution。
|
|
162
|
-
|
|
163
|
-
`repos/**` 的 auto-import exclusion 是默认硬边界。watch/search exclusion 是 recommended policy。
|
|
164
|
-
文件隐藏是 preference。VSCode 和 Zed 的配置 shape 分开记录。
|
|
165
|
-
|
|
166
|
-
这个 contribution 服务于 provider artifact 中的 source identity,不要求 target 接收 provider-internal
|
|
167
|
-
source tree 本体。
|
|
168
|
-
|
|
169
|
-
## Tsgo policy
|
|
170
|
-
|
|
171
|
-
profile 把 `harness/tsgo.md` 的 strict policy 投影为 `tsgoPolicy` 和
|
|
172
|
-
`contributions.tsconfig.compilerOptions.plugins[]`。
|
|
173
|
-
|
|
174
|
-
当前 provider 只有 `strict-v4` profile,不提供 relaxed 或 compatibility profile。
|
|
175
|
-
|
|
176
|
-
目标项目接入后应修复 diagnostics,不通过 local override 降低 strict policy。
|
|
177
|
-
|
|
178
|
-
`includeSuggestionsInTsc` 固定为 `true`;`ignoreEffectSuggestionsInTscExitCode`、
|
|
179
|
-
`ignoreEffectWarningsInTscExitCode` 和 `ignoreEffectErrorsInTscExitCode` 固定为 `false`。
|
|
180
|
-
|
|
181
|
-
## Quality policy
|
|
182
|
-
|
|
183
|
-
`contributions.lintGuardrails` 负责 repository boundary、Effect v4 CLI import boundary、test entry 和
|
|
184
|
-
syntax-level guardrails。它不负责 Effect semantic diagnostics。
|
|
185
|
-
|
|
186
|
-
`contributions.testPolicy` 记录 `@effect/vitest` baseline 和 expected test entry。
|
|
187
|
-
|
|
188
|
-
`contributions.verificationPolicy` 记录 `pnpm verify` completion gate、local diagnostic commands 和
|
|
189
|
-
stage semantics。Prelude 仍负责 target materialization、drift 和 maintain lifecycle。
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
audience: agent
|
|
3
|
-
authors:
|
|
4
|
-
- codex
|
|
5
|
-
reviewed_by: []
|
|
6
|
-
purpose: 提供 target 可引用的 effect-harness agent instruction snippet。
|
|
7
|
-
status: active
|
|
8
|
-
sources:
|
|
9
|
-
- provider/effect-harness.provider.json
|
|
10
|
-
- provider/docs/index.md
|
|
11
|
-
updated: 2026-07-02
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
# Effect Harness Snippet
|
|
15
|
-
|
|
16
|
-
## Snippet
|
|
17
|
-
|
|
18
|
-
```md
|
|
19
|
-
在本 target 编写 Effect 代码时,使用 effect-harness provider 维护的受管 surface。
|
|
20
|
-
|
|
21
|
-
- 修改 Effect 应用代码或测试代码前,先读 `.prelude/providers/effect-harness/docs/effect-code.md`。
|
|
22
|
-
- 修改 `package.json`、`tsconfig.json`、diagnostic scripts 或 Effect lint policy 前,先读 `.prelude/providers/effect-harness/docs/diagnostics.md`。
|
|
23
|
-
- 修改 provider record 或 source identity 字段前,先读 `.prelude/providers/effect-harness/docs/source-identity.md`。
|
|
24
|
-
- 从 `effect`、`@effect/platform-node` 和 `@effect/vitest` 等已安装 package import;不要从 provider-internal `repos/effect` 或 `repos/tsgo` import。
|
|
25
|
-
- 修改受管 Effect 代码或 provider-managed surfaces 后,运行 target verify command。
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Boundary
|
|
29
|
-
|
|
30
|
-
这个 snippet 是 provider-managed source content。
|
|
31
|
-
|
|
32
|
-
Prelude MAY 把它 materialize 到 `.prelude/providers/effect-harness/snippets/agents.md`。
|
|
33
|
-
|
|
34
|
-
effect-harness MUST NOT 直接管理 target `AGENTS.md` block。
|