democratizedspace / democratizedspace/dspace

v3.1: Enable token.place chat provider + add E2E coverage and release gates

Open
#3,420 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
4
Forks
2
Avg merge
5h 34m
Merged PRs (30d)
4

Description

### Goal
Ship **v3.1** with token.place fully integrated as an **opt-in chat provider**, with clear UX, safe failure modes, and automated E2E coverage. v3 must remain **OpenAI-only by default**.

### Scope
- Implement / finalize **token.place API v1** (or confirm it’s live + stable).
- Wire up dspace **provider selection** (OpenAI default, token.place opt-in).
- Ensure **graceful failover / error handling** (no broken UI, clear user-facing errors).
- Add **Playwright E2E** coverage for token.place flows.
- Update **docs + changelog** to match shipped behavior (no drift).

### Acceptance criteria
- token.place is **disabled by default** in v3.1 builds unless explicitly enabled (env flag or game state).
- When enabled, token.place chat:
- sends/receives messages successfully in staging,
- handles outages/timeouts/4xx/5xx with the same “polite failure” UX as OpenAI,
- never leaves the chat UI in a stuck loading state.
- E2E tests cover:
- OpenAI default path still works,
- token.place enabled path works end-to-end,
- token.place disabled path shows the correct “disabled” messaging,
- at least one failure-mode test (simulate 5xx or network failure).
- Docs are aligned with reality and test-backed (extend/keep `qaDocsContentAlignment.test.ts` expectations as needed).
- QA checklist updates: add v3.1 gates under `docs/qa/v3.md` v3.1 section (or a dedicated v3.1 checklist file) and mark token.place items as required for release.

### Implementation notes / pointers
- token.place doc describes the intended behavior and flags: `frontend/src/pages/docs/md/token-place.md`
- Existing doc alignment checks live in: `tests/qaDocsContentAlignment.test.ts`
- Token.place integration mentions: `frontend/src/utils/tokenPlace.js` and chat UI components per docs.

### Verification commands
- `npm run test:pr`
- Playwright token.place suite(s): `npm run test:e2e` (or grouped runner)
- Staging smoke: `/chat` send/receive on OpenAI default + token.place enabled.

### Out of scope
- Any changes to v3.0 release behavior (token.place remains deferred in v3.0).
- Non-chat token.place features (if any) unless required for chat stability.

Contributor guide

Open the contributing guide

Research direction

Start with frontend/src/pages/docs/md/token-place.md and frontend/src/utils/tokenPlace.js to trace the documented flags and existing integration, then inspect the chat UI components they reference. Run tests/qaDocsContentAlignment.test.ts and npm run test:pr before adding the required Playwright coverage via npm run test:e2e. Done means the documented defaults, enabled and disabled flows, failure handling, and docs/qa/v3.md release gates all match the acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
playwright, typescript
Domain
api, documentation, frontend, release, testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.