|
| 1 | +# Working Note / Spec Delta: Native Hashtag Indexing + Filecoin Image Uploads |
| 2 | + |
| 3 | +Issue: `#62` |
| 4 | +Ticket draft: `docs/tickets/011-native-hashtag-indexing-and-filecoin-image-uploads.md` |
| 5 | + |
| 6 | +## Purpose |
| 7 | + |
| 8 | +This file is the working note for the sprint and the temporary home for spec deltas that are not yet fully folded into `SPEC.md`. |
| 9 | + |
| 10 | +If implementation changes platform behavior and `SPEC.md` has not yet been updated, that behavior must be described here before merge. |
| 11 | + |
| 12 | +## Current direction |
| 13 | + |
| 14 | +### 1. Native tokenized query indexes |
| 15 | + |
| 16 | +Working direction for this sprint: |
| 17 | +- extend THS query-index modeling in a backward-compatible way, |
| 18 | +- preserve `indexes.index: [{ field }]` as equality index behavior, |
| 19 | +- add an opt-in tokenized index mode for supported `string` fields, |
| 20 | +- ship one tokenizer in v1: hashtag extraction. |
| 21 | + |
| 22 | +### 2. Upload architecture |
| 23 | + |
| 24 | +Working direction for this sprint: |
| 25 | +- generated UI should depend only on a stable Token Host upload interface, |
| 26 | +- Filecoin Onchain Cloud should sit behind that interface as one provider implementation, |
| 27 | +- runner choice should remain a deployment concern rather than a schema concern. |
| 28 | + |
| 29 | +Initial runner modes under consideration: |
| 30 | +- `process` |
| 31 | +- `remote` |
| 32 | +- future `worker` |
| 33 | +- future `sdk` |
| 34 | + |
| 35 | +### 3. Boundedness and gas predictability |
| 36 | + |
| 37 | +This sprint adds the following requirement beyond the current explicit spec text: |
| 38 | +- tokenized index generation must define hard limits so write gas stays predictable in practice. |
| 39 | + |
| 40 | +Planned bounds to make explicit in implementation and then fold into `SPEC.md`: |
| 41 | +- maximum tokens extracted per indexed field on create/update |
| 42 | +- maximum token length |
| 43 | +- maximum page size for token/equality accessors |
| 44 | +- maximum list scan depth |
| 45 | + |
| 46 | +## Open questions |
| 47 | + |
| 48 | +1. Should tokenized index options live directly in `indexes.index[]`, or should the schema split equality and tokenized index families more explicitly? |
| 49 | +2. Should bounded limits be configurable per chain, fixed by generator version, or partly configurable with hard caps? |
| 50 | +3. Should upload runner mode live in manifest extensions, local preview config, generated app env, or a combination? |
| 51 | +4. Should local-dev chain selection and fallback behavior be codified in `SPEC.md`, CLI docs, or both? |
| 52 | + |
| 53 | +## Merge rule |
| 54 | + |
| 55 | +Before merging behavior that depends on any unresolved item above: |
| 56 | +- either resolve it in `SPEC.md`, |
| 57 | +- or replace the open item here with a concrete written rule and corresponding tests. |
0 commit comments