Skip to content

Commit 6596783

Browse files
authored
docs(schema): mark sync/index.ts migrated with compat-bridge note (anomalyco#24024)
1 parent be0dd86 commit 6596783

1 file changed

Lines changed: 12 additions & 1 deletion

File tree

packages/opencode/specs/effect/schema.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,17 @@ import `z` do so only for local `ZodOverride` bridges or for `z.ZodType`
147147
type annotations — the `export const <Info|Spec>` values are all Effect
148148
Schema at source.
149149

150+
A file is considered "done" when:
151+
152+
- its exported schema values (`Info`, `Input`, `Event`, `Definition`, etc.)
153+
are authored as Effect Schema
154+
- any remaining zod is either a derived compat bridge (via `zod()` /
155+
`zodObject()`), a `z.ZodType` type annotation, or a documented
156+
`ZodOverride` escape hatch — never a hand-written parallel source of truth
157+
158+
Files that meet this bar but still carry a compat bridge are checked off
159+
with an inline note describing the bridge and what unblocks its removal.
160+
150161
- [x] skills, formatter, console-state, mcp, lsp, permission (leaves), model-id, command, plugin, provider
151162
- [x] server, layout
152163
- [x] keybinds
@@ -365,7 +376,7 @@ piecewise.
365376
- [ ] `src/snapshot/index.ts`
366377
- [ ] `src/storage/db.ts`
367378
- [ ] `src/storage/storage.ts`
368-
- [ ] `src/sync/index.ts`
379+
- [x] `src/sync/index.ts` — public API (`SyncEvent.define`) is Schema-first; still stores derived zod `schema`/`properties` on each `Definition` as a compat bridge for `BusEvent` until `bus/bus-event.ts` migrates
369380
- [ ] `src/util/fn.ts`
370381
- [ ] `src/util/log.ts`
371382
- [ ] `src/util/update-schema.ts`

0 commit comments

Comments
 (0)