Skip to content

Commit b7f34c6

Browse files
ernadoclaude
andcommitted
docs(roadmap): mark Phase 2 core type system complete
Tick the primitive types, enums, sealed-interface unions, error hierarchy and union exhaustiveness lint boxes; note the README rewrite from Phase 1. Fluent setters beyond constructors continue in Phase 3 alongside the methods. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 5b5a00f commit b7f34c6

1 file changed

Lines changed: 16 additions & 10 deletions

File tree

docs/roadmap.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,27 @@ detailed handoff.
3333
- ☑ Bump `gotd/td` to latest (**v0.117.0 → v0.156.0**); `tidy` dropped
3434
`go-chi/chi`, moved `ogen` to indirect, added `gotd/log` + `gotd/log/logzap`
3535
- ◐ Update `Makefile` (done: dropped `generate`, added `lint`); rewrite
36-
`README.md` (todo)
36+
`README.md` (☑ rewritten for the MTProto-backed library)
3737

3838
## Phase 2 — Core type system
3939

40-
The hand-written Bot API surface. This is the bulk of the work.
40+
The hand-written Bot API surface. This is the bulk of the work. **Done** on
41+
`main` (commits on top of Phase 1): see `enums.go`, `errors.go`, `markup.go`,
42+
`unions.go`, `types_*.go`, `message_origin.go`, `chat_member.go`,
43+
`input_media.go`, `update.go`.
4144

42-
- ☐ Primitive types: `User`, `Chat`, `Message`, `MessageEntity`, `PhotoSize`,
43-
`Document`, `Update`, `ResponseParameters`
44-
- ☐ Typed enums: `ParseMode`, `ChatType`, `ChatAction`, `MessageEntityType`, …
45-
- ☐ Sealed-interface unions: `ChatID`, `InputFile`, `ReplyMarkup`,
45+
- ☑ Primitive types: `User`, `Chat`, `Message`, `MessageEntity`, `PhotoSize`,
46+
`Document`, `Update`, `ResponseParameters` (+ media/query supporting types)
47+
- ☑ Typed enums: `ParseMode`, `ChatType`, `ChatAction`, `MessageEntityType`, … +
48+
the union discriminators
49+
- ☑ Sealed-interface unions: `ChatID`, `InputFile`, `ReplyMarkup`,
4650
`MessageOrigin`, `ChatMember`, `ReactionType`, `MenuButton`, `InputMedia`
47-
- ☐ Constructors / fluent setters (`ID`, `Username`, keyboard builders) —
48-
the `telegoutil` equivalent, but type-safe
49-
- ☐ Typed error hierarchy (`Error`, `AsFloodWait`, `ErrNotImplemented`)
50-
- ☐ Exhaustiveness lint config for unions
51+
- ◐ Constructors / fluent setters (`ID`, `Username`, keyboard builders) — done;
52+
the `telegoutil` equivalent. More fluent setters land alongside the methods
53+
in Phase 3.
54+
- ☑ Typed error hierarchy (`Error`, `AsFloodWait`, `ErrNotImplemented`)
55+
- ☑ Exhaustiveness lint config for unions (`gochecksumtype` + `exhaustive`;
56+
golangci config migrated to v2)
5157

5258
## Phase 3 — Outgoing methods (translation)
5359

0 commit comments

Comments
 (0)