| Entity | Fields |
|--------|--------|
| TagSuggestion | articleId (uuid), term (string), taxonomyId (uuid), confidence (float), suggestedAt (timestamp) |
| TagSuggestionEvent | eventId (uuid), articleId, taxonomyId, action (enum: ACCEPT/DISMISS), eventTime |
| Phase | Timeframe | Major Milestones | |-------|-----------|-------------------| | A – Concept | Jan 2022 – Jun 2022 | Mission Concept Review (MCR) completed. | | B – Preliminary Design | Jul 2022 – Dec 2023 | Preliminary Design Review (PDR). | | C – Detailed Design | Jan 2024 – Dec 2025 | Critical Design Review (CDR); Procurement contracts signed. | | D – Fabrication & I&T | Jan 2026 – Dec 2027 | Subsystem qualification; Environmental tests (vibe, thermal vacuum). | | E – Launch & Early Ops | Q1 2028 | Launch; 30‑day commissioning; First Light. | | F – Full Science Operations | Q2 2028 – Q4 2033 | Routine observations, data release, end‑of‑mission de‑orbit. |
Key Critical Path: Detector module assembly → Integration → Environmental test → Launch. STARS-894
Schedule Buffer: 6 months allocated for launch‑vehicle integration and early‑orbit checkout.
| Sprint | Tasks |
|--------|-------|
| Sprint 1 (2 weeks) | - Create TagSuggestionDropdown React component
- Set up debounced request flow
- Draft API spec and add OpenAPI definitions |
| Sprint 2 (2 weeks) | - Implement Node.js suggestion service (validation, taxonomy lookup)
- Deploy placeholder NLP micro‑service (simple keyword extractor) |
| Sprint 3 (2 weeks) | - Integrate fine‑tuned transformer model
- Add snippet generation logic
- Write unit & integration tests for backend |
| Sprint 4 (2 weeks) | - Implement analytics endpoint & logging
- Add accessibility improvements & keyboard shortcuts
- Conduct performance testing & optimize latency |
| Sprint 5 (1 week) | - Conduct UI/UX usability testing with 3 authors
- Fix any discovered bugs
- Prepare rollout documentation |
| Sprint 6 (1 week) | - Feature flag rollout to 10 % of users (canary)
- Monitor error rates & acceptance metrics
- Full production enablement if no regressions | | Entity | Fields | |--------|--------| | TagSuggestion
| Dependent Ticket | Description | |------------------|-------------| | STARS‑872 | Refactor taxonomy search endpoint to support fuzzy matching (required for mapping candidate terms). | | STARS‑931 | Deploy the new analytics pipeline to capture custom event types. | | STARS‑960 | UI redesign of the tag input field (to accommodate the dropdown). |
| In‑Scope | Out‑Of‑Scope |
|----------|--------------|
| Real‑time tag suggestions while typing title, abstract, or body | Full automatic tag assignment without author review |
| Integration with existing taxonomy service (GET /api/taxonomy) | Creation of new taxonomy entries (handled in a separate ticket) |
| UI component for suggestion list (dropdown, keyboard navigation) | Machine‑learning model training pipeline (use pre‑trained model) |
| Ability to accept/reject individual suggestions | Bulk tag‑apply across multiple articles in one action |
| Logging of accepted/rejected suggestions for analytics | Multi‑language support (initially only English) | Keyboard – Arrow‑up/down to navigate, Enter to accept,
| Method | Endpoint | Request | Response |
|--------|----------|---------|----------|
| POST | /api/tags/suggest | articleId: string, title: string, excerpt: string, existingTags: [string] | 200 OK → suggestions: [ taxonomyId, label, confidence, snippet ] |
| POST | /api/analytics/tag-suggestion | articleId, taxonomyId, action, timestamp | 202 Accepted → {} |
| GET | /api/taxonomy/search?q=:term | – | results: [ taxonomyId, label ] |