Update briefing and backlog for P3 poll-actions handoff

By specifier.
This commit is contained in:
Chris Troutner
2026-08-28 14:11:50 -07:00
parent 5d7ce7601b
commit b349af0ae3
2 changed files with 20 additions and 19 deletions
+3 -3
View File
@@ -169,7 +169,7 @@ Goal: reach feature parity with [memo.cash](https://memo.cash).
| **P0** | Post, Set name, Reply, Efficient pagination | ✅ shipped |
| **P1** | Like counts (read side) ✅; client display ✅; Set profile text ✅; Set profile picture ✅; Follow/Unfollow ✅ | ✅ shipped |
| **P2** | Topics (list ✅, feed ✅, post/follow/unfollow) | next |
| **P3** | Polls (create, add option, vote) | later |
| **P3** | Polls (create, add option, vote) | 🔄 specs written, handed off (task `poll-actions`) |
| **P4** | Mute / unmute user | later |
| **P5** | Send money memo action, MIP-0009 token exchange | later |
| **P6** | Repost, ranked feed, notifications, search, tags, following feed | later |
@@ -368,5 +368,5 @@ At the end of each session, update this file:
- Note the current `master` HEAD commit.
- State the next feature to work on.
Current `master` HEAD: `61616eb` (task `topic-actions` — topic post/follow/unfollow — merged from architect and verified: client build/test/lint/acceptance and DB test/lint/acceptance all pass).
Next action: **spec P3.1/P3.2/P3.3** — Polls (create a poll / add an option / vote).
Current `master` HEAD: `5d7ce7601b` (task `poll-actions` — P3 poll specs committed and handed off to the coder).
Next action: **await the coder → refactorer → architect pipeline for `poll-actions`**, then merge the architect branch into `master` and verify the affected components (client, indexer, db).
+17 -16
View File
@@ -171,9 +171,9 @@ Polls require a new data model and rendering. The indexer has no handler yet.
| # | Feature | Memo action | Components | Status |
|---|---------|-------------|------------|--------|
| 3.1 | Create a poll | `0x6d10` | C, I, D | 🔴 missing |
| 3.2 | Add a poll option | `0x6d13` | C, I, D | 🔴 missing |
| 3.3 | Vote in a poll | `0x6d14` | C, I, D | 🔴 missing |
| 3.1 | Create a poll | `0x6d10` | C, I, D | 🔄 specs written (task `poll-actions`) |
| 3.2 | Add a poll option | `0x6d13` | C, I, D | 🔄 specs written (task `poll-actions`) |
| 3.3 | Vote in a poll | `0x6d14` | C, I, D | 🔄 specs written (task `poll-actions`) |
---
@@ -213,22 +213,23 @@ Polls require a new data model and rendering. The indexer has no handler yet.
## Suggested next spec
**Post a topic message / Follow a topic / Unfollow a topic** (P2.3 / P2.4 / P2.5):
- `psf-memo-client`: add a topic post composer and topic follow/unfollow buttons
on the topic feed page that broadcast `0x6d0c` / `0x6d0d` / `0x6d0e`.
- `psf-memo-db`: expose topic follow state and a topic's followers list.
- The indexer already stores topic messages and follows in `roomsDb`; the
missing pieces are the client write path and the DB read side for follows.
**Polls (P3.1 / P3.2 / P3.3)** — create a poll / add an option / vote:
- `psf-memo-client`: a poll composer that broadcasts `0x6d10` (create poll),
an add-option composer that broadcasts `0x6d13`, and a vote composer that
broadcasts `0x6d14`.
- `psf-memo-indexer`: new handlers that parse and store create-poll, add-option,
and vote transactions (no poll handler exists yet).
- `psf-memo-db`: expose the read side — poll question/options/votes via
`/polls/:txid`, `/polls/:txid/options`, `/polls/:txid/votes`.
### Topic payloads (UTF-8, no cashaddr conversion)
### Poll payloads
Unlike follow/unfollow user, topic actions carry plain UTF-8 text (the topic
name and, for `0x6d0c`, the message). No bch-js cashaddr conversion is needed
for topics. The `0x6d0c` topic message payload is `topic_name + message` with a
combined limit of 214 bytes; `0x6d0d` / `0x6d0e` carry only the topic name.
- `0x6d10` create poll: `poll_type` (1 byte) + `option_count` (1 byte) + `question` (≤ 209 bytes).
- `0x6d13` add option: `poll_txhash` (32 bytes) + `option` (≤ 184 bytes).
- `0x6d14` vote: `poll_txhash` (32 bytes) + `comment` (≤ 184 bytes).
This is the next smallest end-to-end win after the topic list/feed read side
closed.
The poll txid is a 32-byte binary hash reversed to hex, like other Memo txid
payloads. Specs are written (task `poll-actions`, handed off to the coder).
---