Skip to content

specs(automation): crm-client-workspace -- one CRM workspace per client: dashboard and client thread - #3605

Merged
gHashTag merged 1 commit into
masterfrom
specs/crm-client-workspace
Sep 13, 2026
Merged

specs(automation): crm-client-workspace -- one CRM workspace per client: dashboard and client thread#3605
gHashTag merged 1 commit into
masterfrom
specs/crm-client-workspace

Conversation

@gHashTag

Copy link
Copy Markdown
Owner

Closes #3604

Spec for the per-client CRM workspace of gHashTag/999-multibots-telegraf (apps/vibee-editor). Written after the owner said on 2026-09-13 that every client's chat lands in one place.

  • Thread: agent_messages.thread (DEFAULT self, client:<id>), client param on all four /api/agent routes, delete clears only its thread, client context injected as context.
  • Gate before the first DB read: stranger, malformed id (outside 5..15 digits), caller's own id.
  • Dashboard /crm/:clientId + /crm/:clientId/chat: 6 panels, reads through /mcp tools (crm_clients, crm_client_plan, crm_duet_runs), says unavailable rather than zero, sends nothing.
  • crm_duet_runs persisted at start/turn/finish; lost derived on read after 30 min.

Measured before the spec: one thread per person, flat /crm, duet runs in a process Map -- the #2377 redeploy (19:41-19:44 +07) cut duet-mtzsz1la after its first pair.

Validated with public/t27/t27_compiler.wasm via agents-from-specs.mjs: {typecheckOk:true, errors:0, discarded:0, hirOk:true}. ASCII-only. tools/published_figures.py --check passes (test blocks 12739 -> 12744).

Claim status: contract and gates only; DASHBOARD_SEEN_LIVE = false, RUN_SURVIVED_REDEPLOY = false. Host PRs will be linked here when opened.

…nt: dashboard and client thread

Closes #3604

One thread of the seller ABOUT each client (agent_messages.thread, DEFAULT
'self', 'client:<id>'), the client param on all four /api/agent routes with
the gate before the first DB read, client context injected as context, a
dashboard at /crm/:clientId that reads through /mcp tools and says
'unavailable' rather than zero, and duet runs persisted at start/turn/finish
with 'lost' derived on read after 30 minutes.

Measured before: one thread per person, flat /crm, duet runs in a process
Map; the #2377 redeploy cut duet-mtzsz1la after its first pair.
Validated with the wasm compiler: typecheckOk, 0 errors, 0 discarded. ASCII.
Not claimed: dashboard seen live, run survived a redeploy.
@github-actions

Copy link
Copy Markdown
Contributor

📓 NotebookLM Notebook linked to this PR

This notebook contains session context, decisions, and artifacts for this work.

@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-09-13 12:57:41 UTC

Summary

Status Count
Total Open PRs 16
PRs with Failing Checks 10
PRs with All Checks Green 6
READY 5
FAILING 10
PENDING 0
NO CHECKS YET 0

These columns do not partition: 5 + 10 + 0 + 0 = 15, and there are 16 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=d4c5b22b471e != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag

Copy link
Copy Markdown
Owner Author

Host PRs: gHashTag/999-multibots-telegraf#2383 (render: thread, gates, crm_duet_runs, read tools) and gHashTag/999-multibots-telegraf#2384 (player: /crm/:clientId dashboard and client thread).

@gHashTag
gHashTag merged commit 6d9ac4a into master Sep 13, 2026
30 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

specs(automation): crm-client-workspace -- one CRM workspace per client: dashboard and client thread

1 participant