AletheiaFact / AletheiaFact/aletheia
B2B-9 · Temporal exclusivity: private→commons reopen job (NGO plan)
- Lingua principale
- TypeScript
- Stelle
- 55
- Fork
- 20
- Merge medio
- 2g 6h
- PR unite (30g)
- 2
Descrizione
Part of the B2B epic (Bloco 2). After X months of exclusivity, a private check returns to the commons.
## What
- [ ] Bootstrap `ScheduleModule` — `@nestjs/schedule` is in `package.json:99` but **unused anywhere**
- [ ] `openDate`/`license`/`exclusivityEndsAt` fields on `claim-review`
- [ ] `@Cron` job flipping visibility private→public + "reopen" state transition (`src/machines/reviewTask/`)
## Notes
- Commons model makes this cheap: personalities are global, so "opening" a claim is just flipping the check's namespace/visibility — no entity merging.
- **Source dedup on reopen**: the private source may collide with an existing public one — the job must dedup against the public namespace (covered by the compound-index design in B2B-3), not blind-insert.
- Open decision: what triggers the exclusivity clock (publication? assignment?).
**Effort:** ~1–1.5 SP · **Depends on:** B2B-1..4 (isolation), B2B-3 (dedup design)
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start by reviewing package.json:99 and the reviewTask state-machine files under src/machines/reviewTask/. Read the B2B-3 compound-index design before deciding how reopen deduplication should work, and resolve whether publication or assignment starts exclusivity. Done means the claim-review fields, scheduled visibility change, reopen transition, and public-namespace deduplication are covered by tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- node.js, typescript
- Ambito
- backend, databases
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 42/100