toga-ai 1.0.483 → 1.0.484

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,7 @@ _Auto-generated by `knowledge.js index`. Do not hand-edit._
19
19
  ## 2.0 framework
20
20
 
21
21
  - **_underscore** (_Underscore) _(framework core)_ — 40 doc(s) → [2.0/apps/_underscore/INDEX.md](2.0/apps/_underscore/INDEX.md)
22
- - **worker2** (Worker) — 36 doc(s) → [2.0/apps/worker2/INDEX.md](2.0/apps/worker2/INDEX.md)
22
+ - **worker2** (Worker) — 37 doc(s) → [2.0/apps/worker2/INDEX.md](2.0/apps/worker2/INDEX.md)
23
23
  - **api2** (API) — 20 doc(s) → [2.0/apps/api2/INDEX.md](2.0/apps/api2/INDEX.md)
24
24
  - **dbchanges2** (Database Changes) _(framework core)_ — 3 doc(s) → [2.0/apps/dbchanges2/INDEX.md](2.0/apps/dbchanges2/INDEX.md)
25
25
  - **toga2-supply** (TOGa Supply) — 3 doc(s) → [2.0/apps/toga2-supply/INDEX.md](2.0/apps/toga2-supply/INDEX.md)
@@ -39,7 +39,7 @@ _Auto-generated by `knowledge.js index`. Do not hand-edit._
39
39
  - **togatech** (TOGA Technology Website) — 4 doc(s) → [standalone/apps/togatech/INDEX.md](standalone/apps/togatech/INDEX.md)
40
40
  - **websocket** (WebSocket Server) — 2 doc(s) → [standalone/apps/websocket/INDEX.md](standalone/apps/websocket/INDEX.md)
41
41
  - **forward** (Forwarder) — 3 doc(s) → [standalone/apps/forward/INDEX.md](standalone/apps/forward/INDEX.md)
42
- - **claude** (Claude Harness) — 2 doc(s) → [standalone/apps/claude/INDEX.md](standalone/apps/claude/INDEX.md)
42
+ - **claude** (Claude Harness) — 3 doc(s) → [standalone/apps/claude/INDEX.md](standalone/apps/claude/INDEX.md)
43
43
 
44
44
  ## Clients
45
45
 
@@ -4,3 +4,4 @@
4
4
  |-----|---------|-------|
5
5
  | [Harness Distribution — How a knowledge.js Fix Reaches Teammates](workflows/harness-distribution.md) | There are **two copies** of `knowledge.js` on a developer's machine, and the skills use only one of them. | claude/scripts/install.js, claude/knowledge.js |
6
6
  | [Knowledge Base Publish / Push Pipeline](workflows/knowledge-publish-pipeline.md) | How `/capture` and `/session-save` get knowledge docs from your working tree into `agilantsolutions/claude` on `_main`. | claude/knowledge.js |
7
+ | [MCP Tool Usage — "Talos" Means the Internal Knowledge Base, and Run Your Own SELECTs](workflows/mcp-tool-usage.md) | Two MCP connections are available in every session, and **Claude is expected to reach for them on its own judgement — nobody should have to say the word "MCP".* | claude/.claude/skills/kickoff/SKILL.md, claude/.claude/skills/capture/SKILL.md |
@@ -0,0 +1,177 @@
1
+ ---
2
+ title: MCP Tool Usage — "Talos" Means the Internal Knowledge Base, and Run Your Own SELECTs
3
+ framework: "standalone"
4
+ repo: claude
5
+ project: Claude Harness
6
+ client: shared
7
+ type: workflow
8
+ status: active
9
+ updated: 2026-07-30
10
+ owners: ["jcardinal"]
11
+ files:
12
+ - claude/.claude/skills/kickoff/SKILL.md
13
+ - claude/.claude/skills/capture/SKILL.md
14
+ related:
15
+ - standalone/apps/claude/workflows/harness-distribution.md
16
+ - standalone/apps/claude/workflows/knowledge-publish-pipeline.md
17
+ - 2.0/apps/talos/features/mcp-servers.md
18
+ ---
19
+
20
+ ## Summary
21
+
22
+ Two MCP connections are available in every session, and **Claude is expected to reach for them on
23
+ its own judgement — nobody should have to say the word "MCP".**
24
+
25
+ 1. **`claude.ai Internal Knowledgebase`** — the AWS Bedrock knowledge base of cleaned meeting
26
+ transcripts. **This is what the team means when they say "Talos."**
27
+ 2. **`toga-db`** — read-only MySQL access to every TOGA environment, production included.
28
+
29
+ **Critical rules:** When a teammate says **"ask Talos"**, **"use Talos"**, or **"check Talos"**,
30
+ that is an instruction to **search the Internal Knowledge Base MCP** — it is *not* a request to
31
+ open, read, or reverse-engineer the `talos` repo. Only treat "Talos" as the codebase when the
32
+ speaker explicitly frames it as the project ("the Talos repo", "Talos deployment", "the Talos
33
+ agent code"). **Never ask a developer to go run a SELECT** — Claude has read access and must run
34
+ its own. **Writes (INSERT/UPDATE/DELETE/DDL) are the developer's to execute** — the MCP is
35
+ read-only by design, so hand them the statement. Use both connections proactively as part of
36
+ normal research, unprompted.
37
+
38
+ ## The word "Talos" is overloaded — resolve it by context
39
+
40
+ | A teammate says | They mean | What to do |
41
+ |---|---|---|
42
+ | "Ask Talos", "use Talos", "check Talos", "what does Talos say about…" | The **Internal Knowledge Base MCP** | `kb_search` — this is the default reading |
43
+ | "the Talos repo", "Talos deployment", "the Talos agent", "the LangGraph agent", "TOGa IQ" | The **`talos` codebase** (2.0, Python/FastAPI) | Open `2.0/apps/talos/` knowledge and the repo |
44
+
45
+ **Default to the MCP.** The overwhelming majority of spoken uses of "Talos" mean the knowledge
46
+ base. Reverse-engineering the `talos` project because someone said "ask Talos" is a real failure
47
+ mode — it burns a session answering the wrong question.
48
+
49
+ Note the collision in this knowledge base itself: `2.0/apps/talos/features/mcp-servers.md`
50
+ documents the MCP servers that the **talos project builds and hosts** (`clickup-mcp`,
51
+ `toga-db-mcp`). That doc is about *building* those servers. This doc is about *using* the
52
+ connections. They are different subjects.
53
+
54
+ > Aside: the team has not settled whether "Talos" is an engine, a chatbot, or the umbrella AI
55
+ > brand, nor whether it is written `Talos` or `TALOS` (see the 2026-07-16 *TOGA Tech Website
56
+ > Review* transcript). Ambiguity about what Talos *is* as a brand is expected; ambiguity about
57
+ > what "ask Talos" *means operationally* is not — it means the knowledge base.
58
+
59
+ ## Internal Knowledge Base MCP ("Talos")
60
+
61
+ Cleaned, classified meeting transcripts loaded automatically within 5–10 minutes of a meeting
62
+ ending. This is the record of **what people actually said and decided** — the complement to this
63
+ knowledge base, which records **how the code works**.
64
+
65
+ - **Scope:** account-wide there are 40 knowledge bases across 7 categories; the harness API key
66
+ currently reaches **1 category, `development-team` (34 KBs)**. Other categories (sales, HR,
67
+ legal, contact-center, tech-support, operations) exist but are outside the key's grant.
68
+ - **Shape:** one KB per client bucket, documents at
69
+ `s3://togaiq/development-team/<client>/approved/YYYY-MM-DD - <Meeting Title>.txt`, each with an
70
+ `approved_at` date. Ranking blends semantic relevance with recency.
71
+ - **Client names differ from `registry.json`.** The KB uses `compass-group` (not
72
+ `compass-usa`/`compass-canada`), `health-and-hospitals` (not `nychh`), `nyc-doe` (not `nycdoe`),
73
+ and carries buckets with no registry entry at all — `northwell`, `endeavor-health`, `casl`,
74
+ `lenovo`, `adyen`, `speedcast`, `rumc`, `uma`, `craftex`, `dunn`, `interfaith-ministries`,
75
+ `ford-foundation`, `alpha-omega-plastics`, `american-campus-communities`, `ninja-rmm`, plus
76
+ non-client buckets `general`, `ai`, `power-bi`, `warehouse`, `toga-desk`, `toga-technology`.
77
+ Always pick the `client` value from the `available_clients` list the tool returns.
78
+
79
+ **When to reach for it without being asked:**
80
+
81
+ - A teammate relays something said in a meeting and the terminology is unfamiliar or ambiguous.
82
+ - A decision's *rationale* matters ("why did we do it this way?") — git history says what
83
+ changed, transcripts say why.
84
+ - Business-side vocabulary that has no code footprint (see the terminology gotcha below).
85
+ - Before concluding "there is no knowledge about X" — check here as well as the code KB.
86
+
87
+ **Treat transcripts as evidence, not specification.** They record what was said in a room,
88
+ including things later reversed. Cite the filename and `approved_at` date, prefer the most recent
89
+ when chunks conflict, and let the code knowledge base win on questions of how something is
90
+ actually built.
91
+
92
+ ### Terminology that lives only in transcripts
93
+
94
+ These have no footprint in the code knowledge base, so a code-only search returns nothing:
95
+
96
+ - **TechHub** — what **TOGa Commerce** is called on the Compass side.
97
+ - **Mix** — the Compass-side equivalent platform. A request to update "TechHub and Mix" means
98
+ both teams make the same change.
99
+ - **TOGa Retail** — internal-only platform for store-associated transactions; not in `registry.json`.
100
+ - **Personas** — TOGa Supply's item-visibility mechanism (~39 of them; 1 = everyone, 4 = canteen,
101
+ 12 = admin and sees everything, 33 = MacBook/Surface).
102
+ - **OptimumDesk / Star Tech** — the ticketing system Talos integrates with for Office Depot.
103
+ - **TOGA vs toga** — capital-A **TOGA** is the company; lowercase **toga** is the platform.
104
+
105
+ ## Database MCP (`toga-db`)
106
+
107
+ Read-only MySQL across every environment. All 24 clusters were connected as of 2026-07-30.
108
+
109
+ **Run SELECTs yourself, unprompted.** Do not ask a developer to run a query and paste results
110
+ back — that wastes their time on something Claude can do directly. Query whenever it answers the
111
+ question faster or more reliably than reading code: confirming a schema, checking whether a row
112
+ exists, verifying a config value, sizing a table before proposing a migration, or grounding a
113
+ claim in real data instead of an assumption.
114
+
115
+ **Writes are the developer's job.** The MCP permits `SELECT`/`SHOW`/`DESCRIBE`/`EXPLAIN` only.
116
+ For any `INSERT`/`UPDATE`/`DELETE`/DDL, write the statement out, say which environment and schema
117
+ it targets, and hand it to the developer to execute.
118
+
119
+ **Environments** — pass any alias; the server resolves it:
120
+
121
+ | Group | Names | Naming scheme |
122
+ |---|---|---|
123
+ | V2 production | `prod` / `production` | `Core`, `Client_<id>`, `Archive_<id>`, `Logs_<id>` |
124
+ | V1 production | `legacy` / `v1` | `Core`, `TOGA_<id>`, `TOGaLogs_<id>` |
125
+ | Non-prod | `dev-sandbox`, `client-sandbox`, `client-{alpha,beta,gamma}`, `qa-{task,hotfix,alpha,beta,gamma}`, `qc-{task,hotfix,security,performance,alpha,beta,gamma}`, `stage`, `demo` | V2 naming |
126
+
127
+ **Production is four separate clusters** — `prod-core`, `prod-client`, `prod-archive`,
128
+ `prod-logs`. Every non-prod environment is a single all-in-one host holding all groups. This is
129
+ the same split that makes cross-database joins work locally and fail in production (see
130
+ `2.0/apps/dbchanges2/architecture.md`).
131
+
132
+ **`local` is not this MCP.** If someone means their own machine's database, use the `mysql` CLI
133
+ via shell, not `toga-db`.
134
+
135
+ **Resolving a client name to its databases:** `Core.Clients.clientIdentifier` is the exact suffix
136
+ used in `Client_<id>`, `Archive_<id>`, and `Logs_<id>`.
137
+
138
+ ```sql
139
+ -- environment='prod', schema_name='Core'
140
+ SELECT name, clientIdentifier FROM Clients WHERE name LIKE '%<keyword>%';
141
+ ```
142
+
143
+ ### Gotcha — the client roster is wider than `registry.json`, and identifiers are not guessable
144
+
145
+ `Core.Clients` held **46 clients** on 2026-07-30 against 17 in `registry.json`. A client absent
146
+ from the registry is normal, not an error — the registry tracks clients whose *code knowledge* has
147
+ been captured, not the full book of business.
148
+
149
+ Identifiers do not follow from the display name, so **look them up, never construct them**:
150
+
151
+ | Display name | `clientIdentifier` | Trap |
152
+ |---|---|---|
153
+ | Compass Group | `Compass_Usa` | Carries an **underscore**, and "Compass Group" maps to the **USA** entity |
154
+ | CompassCanada | `Compass_Canada` | Underscore again |
155
+ | AIG | `Aig` | Title-case, not `AIG` |
156
+ | Staples | `Staples` | A **separate client** from AIG, despite the registry title "AIG (Staples Protection Plan)" |
157
+ | Growrks | `Growrk` | Display name is plural, identifier is not |
158
+ | NYC Health + Hospitals | `Nychh` | |
159
+ | Towfoundation | `Towfoundation` | |
160
+ | Wiss, Janney, Elstner Associates, Inc. | `Wje` | |
161
+
162
+ Schema names are **case-sensitive** — copy the exact value from `toga_list_schemas` or
163
+ `Core.Clients`. `Client_Aig` works; `Client_AIG` and `client_aig` do not.
164
+
165
+ ## Applying this
166
+
167
+ - **Never make a teammate name the tool.** "Which environment is that in?" is a fair question;
168
+ "please run this SELECT and paste the output" is not.
169
+ - **Ask about environment only when it genuinely changes the answer** — and when the context makes
170
+ it obvious (a production incident, a client-specific bug), infer it and say which one was used.
171
+ - **State the source.** For a query: the environment and schema. For the knowledge base: the
172
+ filename and its date. That lets the developer judge the evidence.
173
+ - **Combine the three sources.** Code knowledge base → how it is built. Talos → what was decided
174
+ and why. Database → what is actually true right now.
175
+
176
+ ## Change history
177
+ - 2026-07-30 — Created. Established that "ask/use Talos" means the Internal Knowledge Base MCP and not the `talos` repo; that Claude runs its own SELECTs unprompted while developers execute writes; and that both MCP connections are used proactively without being requested. Recorded the KB↔registry client-name divergence and the `Core.Clients` identifier traps (jcardinal)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "toga-ai",
3
- "version": "1.0.483",
3
+ "version": "1.0.484",
4
4
  "description": "TOGA Technology Team Claude Knowledge System — shared AI coding harness with skills, knowledge base CLI, and project installer for Claude Code.",
5
5
  "keywords": [
6
6
  "claude",