Repository navigation
docs(thermidor): refresh the demo sample and package architecture docs j:KIT-6348 - #8706
Conversation
|
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
commit: |
There was a problem hiding this comment.
🟢 Approval recommended
The documentation-only changes align with the reviewed implementation, with no unresolved findings.
0 open findings
What changed in this PR
Refreshes Thermidor’s package and demo documentation to reflect the current implementation, without changing code.
Changes:
- Replaces obsolete remote-controller descriptions with inline-state rendering.
- Documents action queues, optimistic updates, follow-up exchanges, and validation limitations.
- Corrects mock routes, component composition, and Zod compatibility guidance.
| File | Description |
|---|---|
| samples/thermidor/demo-schema-react/README.md | Updates sample setup, component tree, and data flow. |
| samples/thermidor/demo-schema-react/IMPLEMENTATION.md | Refreshes implementation details, workarounds, and limitations. |
| packages/thermidor/README.md | Updates public usage and session behavior documentation. |
| packages/thermidor/docs/architecture.md | Aligns architecture descriptions with the current session client. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
|
Tip All tests passed and all changes approved!🟢 UI Tests: 439 tests unchanged |
|
Tip All tests passed and all changes approved!🟢 UI Tests: 439 tests unchanged |
…s j:KIT-6348 Bring demo-schema-react's IMPLEMENTATION.md and README.md, and @coveo/thermidor's README.md and docs/architecture.md, in line with the shipped code: inline state through the A2-UI data model, flat nodes, the Zod 3 catalog, the session-wide renderer stream, follow-up exchanges, the action queue and optimistic updates. Drop the removed remote controller, the demo-react comparisons, and resolved or obsolete tracking tables, and record that the renderer stream bypasses in-transit validation. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- architecture.md: show the prompt path to the endpoint client, describe the v0.9 projection's data-model seeding and orphan-delete filtering, pass contracts in the sequence diagram, list resolve-operation.ts and createSettledDispatch, and add contracts to the Session box. - IMPLEMENTATION.md: facet and breadbox types come from the zod3 entry; the Zod 4 migration switches every zod3 import. - README.md: /converse-schema also serves the schema templates. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6ce83a0 to
239c470
Compare
- Known limitation: the createSurface.dataModel seed also reaches the renderer without validation; a fix must cover it, not only the projected updateDataModel ops. - response.state holds validated /state/<id> component state, not the A2-UI data model; ops outside /state are dropped as unresolved-path. - Pagination freezes rather than dims while results are stale. - The dispatch tracker is scoped for removal with the coordinator. - Sort, Pagination, PageSize and NextActionsBar call useOptimisticValue directly; only facets and breadbox have use-optimistic-*.ts hooks. - Explain why actions are dropped while an exchange streams (splitTurn attribution, not a race). - Note that the sample treats the latest turn as the active one, which retry(turnId) can break. - List the /schema/rest/... mock route. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
https://coveord.atlassian.net/browse/KIT-6348
Motivation
During review of #8678, @fbeaudoincoveo noted that much of the demo sample's
IMPLEMENTATION.mdwas out of date and asked for a separate PR. Auditing it against the code showed the sample README and@coveo/thermidor's README anddocs/architecture.mdhad drifted too (the last one still described the removed remote controller). Docs only, no code change.Changes
samples/thermidor/demo-schema-react/IMPLEMENTATION.mdpropswrapper example is gone.asCatalog*casts) replaced by "Catalog and Zod version":zod@3,@coveo/thermidor-schema/zod3,createReactComponent+new Catalog(...).resultsregion, facet-search text).context.dispatchAction→AppShellonAction→ session action queue.use-navigation.ts/ React Router / unified-search items, thermidor-schema internals.updateDataModelops are validated only intoresponse.state, while the renderer is fed fromresponse.a2uiMessages, built from the raw stream, so a non-conforming op still reaches the screen.samples/thermidor/demo-schema-react/README.md/schema/api/preview/..., not/converse-schema), scenarios (nodemo-reactrows; bundle slots areProductSummary), Breadbox in the search composition,buildChildinstead ofchildren().packages/thermidor/docs/architecture.md{turnId}invariant, comparison table).a2uiMessagesin the model and serialization, Zod 3/4 peer range.cancel()semantics, noSTATE_SNAPSHOThandling, no'commerce-search'literal in the fold, package structure.packages/thermidor/README.mdonActiononA2UIProvider, prompt preemption,a2uiMessagesinTurnResponseand serialization, interim debt updated.Validation
Each claim checked against
src/of the sample and@coveo/thermidor, the mocks (platform-mock-api,mock-converse-api), and the thermidor-schema ADRs onbeta.oxfmt --checkandcspellon the four files; relative links and anchors checked.Links are valid and pages render correctly
Checklist
docs(<scope>): <description>)pnpm changeset) if the public API surface is affected (not needed: docs only)