docs: land parity execution tracker
This commit is contained in:
@@ -49,9 +49,9 @@ Hermes task landing checklist:
|
||||
|
||||
## Current Baseline
|
||||
|
||||
- Current tracking checkpoint: 2026-06-06 profile MFA route/payload parity checkpoint, prepared as `feat(profile): align mfa payloads`.
|
||||
- Latest implementation checkpoint: this checkpoint, prepared as `feat(profile): align mfa payloads`.
|
||||
- Latest documentation/tooling checkpoint: this tracker update for P3.39 plus the landed parity tracker history; this document is the active follow-up plan and supersedes `.hermes/plans/*`.
|
||||
- Current tracking checkpoint: 2026-06-06 profile MFA route/payload parity checkpoint, committed as `21421c6 feat(profile): align mfa payloads`.
|
||||
- Latest implementation checkpoint: `21421c6 feat(profile): align mfa payloads`.
|
||||
- Latest documentation/tooling checkpoint: this tracker landing update records the committed P3.39 baseline plus the landed parity tracker history; this document is the active follow-up plan and supersedes `.hermes/plans/*`.
|
||||
- Plan landing status: complete for the current known Hermes plans and user-confirmed scope. Future work should update this file directly instead of opening a parallel tracker.
|
||||
- Worktree status at this implementation checkpoint: profile MFA routes from `reference/chatwoot/config/routes.rb:421-435`, `Api::V1::ProfilesController`, `Api::V1::Profile::MfaController`, MFA Jbuilder views, reused dashboard `mfa.js`, and profile MFA settings Vue flow are implemented for the reused frontend. GoChat now registers no-trailing and trailing `profile/mfa` route variants, tracks the profile route family, returns raw Chatwoot-shaped MFA status/create/verify/destroy/backup-code payloads, persists pending setup secrets before verification, returns backup codes after verification, stores backup code hashes in user custom attributes, validates password plus OTP/backup code for disable, and preserves the older `/api/v1/auth/mfa/*` compatibility endpoints. Facebook callbacks, account WhatsApp calls, onboarding, notification scoping, API v2 year-in-review, and WhatsApp calling toggle parity remain implemented from previous checkpoints. Live API/browser/enterprise smoke still needs the full PostgreSQL/Redis/Meilisearch/GoChat/Vite/Chrome stack.
|
||||
- Next executable implementation checkpoint: continue Phase 2/3 drift audit, Phase 6 placeholder audit, or B12 live smoke from fresh reference/smoke evidence.
|
||||
@@ -468,11 +468,24 @@ This ledger records the committed parity checkpoints that future slices should b
|
||||
|
||||
## Next Slice Contract
|
||||
|
||||
Completed implementation slice: P3.6 label CRUD now closes the reused-frontend account label list/create/show/update/delete payload drift.
|
||||
Committed implementation baseline: `21421c6 feat(profile): align mfa payloads` closes the current P3.39 profile/profile-MFA route and payload slice for the inspected `reference/chatwoot` frontend paths.
|
||||
|
||||
Completed documentation slice: this checkpoint records the label CRUD implementation, verification commands, and next handoff target in the active tracker.
|
||||
Completed documentation slice: this checkpoint makes the plan self-contained for follow-up work. The user-confirmed scope, Hermes source-plan landing map, active route/search/enterprise contracts, current route-parity numbers, next executable queue, commit ledger, and progress log are all represented in this document.
|
||||
|
||||
Next implementation slice: continue Phase 6 placeholder burn-down from a fresh audit, then open the next P3.6 custom-attributes/custom-filters drift slice from reference or smoke evidence. Optional B12 live smoke remains environment-dependent and should convert failures into named slice owners.
|
||||
Next implementation slice: do not start from older Hermes TODOs directly. Continue with one of these evidence-backed paths: Phase 2/3 route/controller/serializer drift audit, Phase 6 placeholder audit, or B12 live smoke when the full PostgreSQL/Redis/Meilisearch/GoChat/Vite/Chrome stack is available. Every discovered failure becomes a named row in the Active Remaining Work Board before implementation.
|
||||
|
||||
Current guardrails for follow-up work:
|
||||
|
||||
| Guardrail | Current rule |
|
||||
| --- | --- |
|
||||
| Source of truth | Inspect local `reference/chatwoot` routes/controllers/models/Jbuilder/frontend clients before changing Go code. |
|
||||
| Frontend compatibility | Reused Chatwoot frontend must call GoChat without adapters; response envelopes, raw payloads, status codes, pagination, auth headers, and side effects must match. |
|
||||
| Search | Meilisearch is the required production search path; DB search is only an explicit local fallback and release/reindex paths must reject it. |
|
||||
| Enterprise | SSO/SAML/LDAP/OIDC are excluded; SLA, Audit, CustomRole, AgentCapacity, Captain/Copilot, CSAT, InboxLimit, automation, macros, assignment policies, and related workflows remain in scope. |
|
||||
| Verification | Code checkpoints need focused tests, full `go test ./...` where environment permits, regenerated route artifacts if routes changed, and `git diff --check`. |
|
||||
| Documentation | Each commit updates this tracker in the same change; `.hermes/plans/*` stay source notes only. |
|
||||
|
||||
Historical baseline index below is retained to preserve the already-landed Hermes and parity checkpoints. It is not the next-task queue; the authoritative next queue is the Active Remaining Work Board above.
|
||||
|
||||
| Step | Required result | Reference source | Verification |
|
||||
| --- | --- | --- | --- |
|
||||
@@ -2490,3 +2503,9 @@ Verification milestone gates:
|
||||
- 2026-06-06: P3.32 WhatsApp authorization checkpoint prepared as `feat(channels): align whatsapp authorization`; audited Chatwoot WhatsApp authorization controller/specs, embedded signup/channel creation/reauthorization/token/phone validation services, route `339`, and reused dashboard `whatsappChannel.js`. GoChat now exposes authenticated-agent/admin `POST /api/v1/accounts/:account_id/whatsapp/authorization`, validates embedded signup params, exchanges Meta codes, fetches phone info, validates WABA token access, creates WhatsApp Cloud inboxes with embedded-signup provider config, reauthorizes existing inboxes with same-phone validation and `reauthorization_required` clearing, and returns raw `{ success, id, name, channel_type, message? }`. Focused WhatsApp authorization service tests, handler/router/route-parity tests, route dump/parity regeneration (`948` routes; `398 exact`, `13 parameter-compatible`, `0 missing out of 411`), full `go test ./...`, and `git diff --check` passed; continue Phase 2/3 drift audit, Phase 6 placeholder audit, or B12 live smoke.
|
||||
- 2026-06-06: P3.33 WhatsApp calling toggle checkpoint prepared as `feat(channels): align whatsapp calling toggles`; audited Chatwoot enterprise inbox calling actions, WhatsApp channel voice gates, Meta calling-status provider, webhook setup subscribed fields, inbox policy, routes `266-267`, and reused dashboard `api/inboxes.js`. GoChat now exposes administrator-gated `POST /api/v1/accounts/:account_id/inboxes/:inbox_id/enable_whatsapp_calling` and `disable_whatsapp_calling`, supports only WhatsApp Cloud API inboxes, requires `channel_voice` for enable, calls Meta `/settings` with `ENABLED`, persists `provider_config.calling_enabled`, mirrors `voice_enabled` into inbox config, and best-effort removes `calls` from webhook fields on disable. Focused service/channel/handler/router tests, route dump/parity regeneration (`950` routes; `400 exact`, `13 parameter-compatible`, `0 missing out of 413`), full `go test ./...`, and `git diff --check` passed; continue Phase 2/3 drift audit, Phase 6 placeholder audit, or B12 live smoke.
|
||||
- 2026-06-06: P3.34 API v2 year-in-review checkpoint prepared as `feat(reports): align year in review`; audited Chatwoot year-in-review route/controller/builder and reused dashboard `api/yearInReview.js`. GoChat now exposes and tracks `GET /api/v2/accounts/:account_id/year_in_review`, returns raw `{ year, total_conversations, busiest_day, support_personality }`, defaults missing `year` to `2025`, caches per current user in `ui_settings`, counts selected-year assigned conversations, formats busiest day as `Mon DD`, and truncates average `first_response` seconds from reporting events. Focused YearInReview service/handler tests, router/route-parity tests, route dump/parity regeneration (`951` routes; `401 exact`, `13 parameter-compatible`, `0 missing out of 414`), full `go test ./...`, and `git diff --check` passed; continue Phase 2/3 drift audit, Phase 6 placeholder audit, or B12 live smoke.
|
||||
- 2026-06-06: P3.35 notification scoping checkpoint committed as `3aa2199 feat(notifications): tighten chatwoot scoping`; audited Chatwoot notification finder/controller behavior and reused dashboard notification clients. Notification show/action/delete/snooze/unread paths are now scoped to current user plus account, snooze timestamps follow Unix seconds, missing snooze params are scoped no-ops, and delete returns empty `200 OK`. Focused notification handler/repository/service tests, full `go test ./...`, and `git diff --check` passed.
|
||||
- 2026-06-06: P3.36 account onboarding checkpoint committed as `4736d67 feat(accounts): align onboarding update`; audited Chatwoot onboarding controller, account serializer behavior, route `58`, and reused onboarding frontend flow. GoChat now exposes administrator-gated `PATCH /api/v1/accounts/:account_id/onboarding`, accepts raw onboarding payloads, persists account custom attributes, clears final onboarding state, and returns raw account serializer JSON. Focused account handler/service/router/route-parity tests, route dump/parity regeneration (`TOTAL: 952`; `402 exact`, `13 parameter-compatible`, `0 missing out of 415`), full `go test ./...`, and `git diff --check` passed.
|
||||
- 2026-06-06: P3.37 WhatsApp calls checkpoint committed as `e730b28 feat(channels): align whatsapp calls api`; audited Chatwoot enterprise WhatsApp calls controller/service/model/Jbuilder views/specs, routes `237-245`, and reused `whatsappCallsAPI.js`. GoChat now exposes show/initiate/accept/reject/terminate/upload-recording routes, persists call lifecycle state through the `calls` model, creates linked `voice_call` messages, updates message/conversation state for call actions, and makes recording upload idempotent. Focused service/handler/router/route-parity tests, route dump/parity regeneration (`TOTAL: 958`; `403 exact`, `18 parameter-compatible`, `0 missing out of 421`), full `go test ./...`, and `git diff --check` passed.
|
||||
- 2026-06-06: P3.38 Facebook callbacks checkpoint committed as `6e66af7 feat(channels): align facebook callbacks`; audited Chatwoot account callbacks controller/views/specs, routes `106-111`, and reused dashboard Facebook login/reauthorization clients. GoChat now exposes account-level page discovery/register/reauthorize callbacks, supports the frontend `.json` alias, exchanges tokens through a fakeable Facebook provider boundary, marks existing pages, creates Facebook inboxes, refreshes page tokens, and returns raw Chatwoot callback payloads. Focused Facebook handler/channel/router/route-parity tests, route dump/parity regeneration (`TOTAL: 963`; `407 exact`, `18 parameter-compatible`, `0 missing out of 425`), full `go test ./...`, and `git diff --check` passed.
|
||||
- 2026-06-06: P3.39 profile MFA checkpoint committed as `21421c6 feat(profile): align mfa payloads`; audited Chatwoot profile/profile-MFA controllers, MFA Jbuilder views, routes `421-435`, reused dashboard `mfa.js`, and profile MFA settings flow. GoChat now tracks profile routes, registers no-trailing and trailing MFA route variants, returns raw MFA status/create/verify/destroy/backup-code payloads, persists pending setup secrets, stores backup-code hashes, validates password plus OTP/backup-code for disable, and preserves legacy `/api/v1/auth/mfa/*` compatibility endpoints. Focused MFA/profile/router/route-parity tests, route dump/parity regeneration (`TOTAL: 967`; `421 exact`, `18 parameter-compatible`, `0 missing out of 439`), full `go test ./...`, and `git diff --check` passed.
|
||||
- 2026-06-06: Documentation checkpoint prepared as `docs: land parity execution tracker`; confirms the clean committed baseline at `21421c6 feat(profile): align mfa payloads`, makes `docs/CHATWOOT_PARITY_DEVELOPMENT_PLAN.md` the self-contained active tracker for the user-confirmed scope, marks `.hermes/plans/*` as source notes only, replaces stale next-slice wording with the Phase 2/3 audit, Phase 6 placeholder audit, and B12 live-smoke queue, and records the missing P3.35-P3.39 progress entries. Verification for this docs-only checkpoint: `git diff --check`.
|
||||
|
||||
Reference in New Issue
Block a user