Files
gochat/docs/parity/placeholder_audit.md
T
2026-06-07 01:56:41 +08:00

42 lines
2.5 KiB
Markdown

# Phase 6 Placeholder Audit
Updated: 2026-06-06T17:53:18Z
## Commands
```bash
rg -n "chatwootParityStub" internal/handler internal/service internal/router internal/channel
rg -n "chatwootParityStub" internal/router/router.go | wc -l
rg -n "chatwootParityStub|TODO|placeholder|stub|not implemented|unsupported" internal/handler internal/service internal/router -g'*.go'
scripts/parity_frontend_smoke.sh --check
```
## Result
`chatwootParityStub` appears only in `internal/router/router.go`: 20 call sites plus the helper definition.
The broader placeholder scan still has no reused-frontend critical account/contact/conversation/message/inbox/widget/public handler placeholder. Non-stub matches are test doubles, expected validation errors such as unsupported file/search/bulk-action operations, excluded SSO/SAML placeholder notes, or provider-specific nil-handler fallbacks.
All call sites are nil-handler guards for public webhook registration paths:
- Telegram webhook callback.
- WhatsApp verify and event callbacks.
- TikTok verify and event callbacks.
- LINE event callback.
- Twilio SMS, delivery status, and root callback aliases.
- Twitter CRC and event callbacks, including legacy aliases.
- Instagram verify and event callbacks.
- Shopify webhook callback.
No `chatwootParityStub` call site is registered on the reused dashboard account/contact/conversation/message/inbox API path, widget API path, public help-center path, public inbox/contact/conversation/message API path, or enterprise settings API path.
## Classification
The remaining stubs are defensive nil-handler fallbacks. In normal app bootstrap the matching provider handlers are wired and these branches do not define the route behavior. Provider-specific webhook behavior remains owned by the existing webhook/channel parity slices and future B12 or provider fixture failures.
Phase 6 is therefore in Review for the inspected placeholder surface. Reopen it only if a fresh `rg` audit or reused frontend smoke identifies a frontend-reachable `chatwootParityStub`, `not implemented`, or placeholder success response in account/contact/conversation/message/inbox/widget/public critical paths.
## B12 Readiness
`scripts/parity_frontend_smoke.sh --check` passed and refreshed `docs/parity/frontend_smoke_report.md`. The first check attempt failed because `/tmp` was full; rerunning with workspace-local `GOCACHE`, `GOTMPDIR`, and `TMPDIR` succeeded. Live API/browser/enterprise smoke remains pending because it requires the full PostgreSQL, Redis, Meilisearch, GoChat, Vite, and Chrome stack.