@terreno/mcp 58.0.1 → 58.0.3

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.
Files changed (68) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +6 -4
  3. package/dist/docs/templates/bootstrap/frontend/app/_layout.template.tsx +2 -0
  4. package/dist/docs/upgrades/58.0.3.md +28 -0
  5. package/dist/docs/versioned/next/explanation/ai-development-loop.md +10 -7
  6. package/dist/docs/versioned/next/explanation/dependency-management.md +2 -9
  7. package/dist/docs/versioned/next/explanation/roadmap-seed-issues.md +13 -0
  8. package/dist/docs/versioned/next/explanation/test-isolation.md +2 -1
  9. package/dist/docs/versioned/next/explanation/test-sharding.md +111 -0
  10. package/dist/docs/versioned/next/how-to/README.md +1 -0
  11. package/dist/docs/versioned/next/how-to/circleci.md +12 -4
  12. package/dist/docs/versioned/next/how-to/debug-with-mcp.md +10 -1
  13. package/dist/docs/versioned/next/how-to/fix-code-scanning-alerts.md +43 -0
  14. package/dist/docs/versioned/next/how-to/run-tests-locally.md +5 -0
  15. package/dist/docs/versioned/next/how-to/set-up-terreno-mcp.md +3 -1
  16. package/dist/docs/versioned/next/how-to/update-dependencies.md +1 -1
  17. package/dist/docs/versioned/next/implementationPlans/mcp-agent-debugger-gaps.md +257 -0
  18. package/dist/docs/versioned/next/implementationPlans/syncdb-high-churn-fields.md +266 -0
  19. package/dist/docs/versioned/next/reference/environment-variables.md +2 -0
  20. package/dist/docs/versioned/next/reference/mcp-server.md +12 -0
  21. package/dist/docs/versioned/next/reference/test.md +4 -1
  22. package/dist/docs/versioned/next/tasks/mcp-agent-debugger-gaps.md +151 -0
  23. package/dist/local/localTools.d.ts.map +1 -1
  24. package/dist/local/localTools.js +94 -1
  25. package/dist/local/localTools.js.map +1 -1
  26. package/dist/local/metro/metroDevSession.d.ts +1 -0
  27. package/dist/local/metro/metroDevSession.d.ts.map +1 -1
  28. package/dist/local/metro/metroDevSession.js +104 -1
  29. package/dist/local/metro/metroDevSession.js.map +1 -1
  30. package/dist/local/native/nativeLogs.d.ts +12 -0
  31. package/dist/local/native/nativeLogs.d.ts.map +1 -0
  32. package/dist/local/native/nativeLogs.js +103 -0
  33. package/dist/local/native/nativeLogs.js.map +1 -0
  34. package/dist/local/tools/clientDev.d.ts +22 -0
  35. package/dist/local/tools/clientDev.d.ts.map +1 -0
  36. package/dist/local/tools/clientDev.isolated.d.ts +2 -0
  37. package/dist/local/tools/clientDev.isolated.d.ts.map +1 -0
  38. package/dist/local/tools/clientDev.isolated.js +55 -0
  39. package/dist/local/tools/clientDev.isolated.js.map +1 -0
  40. package/dist/local/tools/clientDev.js +224 -0
  41. package/dist/local/tools/clientDev.js.map +1 -0
  42. package/dist/local/tools/readLogs.d.ts.map +1 -1
  43. package/dist/local/tools/readLogs.js +22 -3
  44. package/dist/local/tools/readLogs.js.map +1 -1
  45. package/dist/tools.d.ts.map +1 -1
  46. package/dist/tools.js +3 -1
  47. package/dist/tools.js.map +1 -1
  48. package/package.json +7 -7
  49. package/src/docs/templates/bootstrap/frontend/app/_layout.template.tsx +2 -0
  50. package/src/docs/upgrades/58.0.3.md +28 -0
  51. package/src/docs/versioned/next/explanation/ai-development-loop.md +10 -7
  52. package/src/docs/versioned/next/explanation/dependency-management.md +2 -9
  53. package/src/docs/versioned/next/explanation/roadmap-seed-issues.md +13 -0
  54. package/src/docs/versioned/next/explanation/test-isolation.md +2 -1
  55. package/src/docs/versioned/next/explanation/test-sharding.md +111 -0
  56. package/src/docs/versioned/next/how-to/README.md +1 -0
  57. package/src/docs/versioned/next/how-to/circleci.md +12 -4
  58. package/src/docs/versioned/next/how-to/debug-with-mcp.md +10 -1
  59. package/src/docs/versioned/next/how-to/fix-code-scanning-alerts.md +43 -0
  60. package/src/docs/versioned/next/how-to/run-tests-locally.md +5 -0
  61. package/src/docs/versioned/next/how-to/set-up-terreno-mcp.md +3 -1
  62. package/src/docs/versioned/next/how-to/update-dependencies.md +1 -1
  63. package/src/docs/versioned/next/implementationPlans/mcp-agent-debugger-gaps.md +257 -0
  64. package/src/docs/versioned/next/implementationPlans/syncdb-high-churn-fields.md +266 -0
  65. package/src/docs/versioned/next/reference/environment-variables.md +2 -0
  66. package/src/docs/versioned/next/reference/mcp-server.md +12 -0
  67. package/src/docs/versioned/next/reference/test.md +4 -1
  68. package/src/docs/versioned/next/tasks/mcp-agent-debugger-gaps.md +151 -0
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -11,8 +11,8 @@
11
11
  "@modelcontextprotocol/node": "^2.1.2",
12
12
  "@modelcontextprotocol/server": "^2.0.0",
13
13
  "@sentry/bun": "^11.0.0",
14
- "@terreno/api": "58.0.1",
15
- "@terreno/blocks": "58.0.1",
14
+ "@terreno/api": "58.0.3",
15
+ "@terreno/blocks": "58.0.3",
16
16
  "express": "^5.2.1",
17
17
  "luxon": "^3.7.2",
18
18
  "minisearch": "^7.2.0",
@@ -22,7 +22,7 @@
22
22
  "devDependencies": {
23
23
  "@biomejs/biome": "2.5.13",
24
24
  "@modelcontextprotocol/client": "^2.0.0",
25
- "@terreno/test": "58.0.1",
25
+ "@terreno/test": "58.0.3",
26
26
  "@types/bun": "^1.4.0",
27
27
  "@types/luxon": "^3.7.1",
28
28
  "@types/node": "^25.3.0",
@@ -102,12 +102,12 @@
102
102
  "sync-package-guidelines": "bun run scripts/sync-package-guidelines.ts",
103
103
  "sync-ui-docs": "cp ../demo/ui-types-documentation.json src/docs/ 2>/dev/null || true",
104
104
  "sync-versioned-docs": "bun run scripts/sync-versioned-docs.ts",
105
- "test": "bun test --max-concurrency=1 src/",
106
- "test:agent": "AGENT=1 bun test --only-failures --max-concurrency=1 src/",
107
- "test:ci": "bun test --max-concurrency=1 src/",
105
+ "test": "bun ../scripts/test-shards.ts -- --max-concurrency=1 src/",
106
+ "test:agent": "AGENT=1 bun ../scripts/test-shards.ts -- --only-failures --max-concurrency=1 src/",
107
+ "test:ci": "bun ../scripts/test-shards.ts -- --max-concurrency=1 src/",
108
108
  "test:coverage": "bun run ../scripts/check-coverage.ts",
109
109
  "typecheck": "NODE_OPTIONS=--max-old-space-size=8192 tsc -p tsconfig.typecheck.json"
110
110
  },
111
111
  "type": "module",
112
- "version": "58.0.1"
112
+ "version": "58.0.3"
113
113
  }
@@ -7,12 +7,14 @@ import {DefaultTheme, ThemeProvider} from "expo-router/react-navigation";
7
7
  import type React from "react";
8
8
  import {useEffect} from "react";
9
9
  import "react-native-reanimated";
10
+ import {registerTerrenoDevStorage} from "@terreno/syncdb";
10
11
  import {installDevConsoleLogger} from "@terreno/syncdb/app";
11
12
  import {betterAuthClient} from "@/lib/betterAuth";
12
13
  import {apiClient} from "@/store/apiClient";
13
14
  import {setSyncDbReady, syncDb} from "@/store/syncdb";
14
15
 
15
16
  installDevConsoleLogger({baseUrl});
17
+ registerTerrenoDevStorage({asyncStorage: true});
16
18
 
17
19
  export {ErrorBoundary} from "expo-router";
18
20
 
@@ -0,0 +1,28 @@
1
+ # Upgrading to 58.0.3
2
+
3
+ **Action required:** No
4
+ **Affected packages:** None
5
+
6
+ ## Summary
7
+
8
+ A patch release with bug and security fixes. `Avatar` no longer freezes release builds when its image fails to load. Mongo filters built from request values, nested-path helpers, and several regexes are hardened against untrusted input. Consumers only need to bump their `@terreno/*` versions.
9
+
10
+ ## Breaking changes
11
+
12
+ None
13
+
14
+ The only `Changed` entry affects this repository's own test tooling (sharded `bun test` and Bun 1.4.4 on CircleCI). Nothing changes for consumer apps.
15
+
16
+ ## Deprecations
17
+
18
+ None
19
+
20
+ ## New capabilities
21
+
22
+ - **@terreno/syncdb:** `registerTerrenoDevClientDispatch`, `registerTerrenoDevStorage`, and `registerTerrenoDevCommand` for `terreno-mcp-local` dev tooling. These are optional.
23
+ - **@terreno/mcp-server:** `read_logs` sources `network` and `native`, client action dispatch, storage read/write, and dev commands.
24
+
25
+ ## Verification
26
+
27
+ - `bun run compile` and `bun run lint` at the app root
28
+ - In a release build, show an `Avatar` whose `src` fails to load. It falls back to initials and the app stays responsive.
@@ -15,7 +15,7 @@ flowchart LR
15
15
  ASK["1. Ask<br/>terreno_search_docs<br/>terreno_get_component_docs<br/>application_info"]
16
16
  GEN["2. Generate<br/>terreno_generate_*<br/>terreno_validate_model_schema"]
17
17
  RUN["3. Run<br/>backend dev server<br/>Metro (Expo)"]
18
- OBS["4. Observe<br/>read_logs (backend / browser / metro / app)<br/>last_error<br/>get_client_state"]
18
+ OBS["4. Observe<br/>read_logs (backend / browser / metro / app / network / native)<br/>last_error<br/>get_client_state"]
19
19
  FIX["5. Fix<br/>edit, then navigate<br/>browser snapshot + screenshot"]
20
20
  ASK --> GEN --> RUN --> OBS --> FIX
21
21
  FIX -->|"iterate"| ASK
@@ -79,7 +79,7 @@ The agent reads what the app did.
79
79
 
80
80
  | Tool | Contributes |
81
81
  | --- | --- |
82
- | `read_logs` | One merged, time-ordered tail from four sources: `backend` (server JSONL), `browser` (web errors and warnings JSONL), `metro` (bundler events), and `app` (the Hermes console over the Chrome DevTools Protocol). Its `connection` field says which live sources are attached. |
82
+ | `read_logs` | One merged, time-ordered tail from six sources: `backend` (server JSONL), `browser` (web errors and warnings JSONL), `metro` (bundler events), `app` (the Hermes console over CDP), `network` (CDP Network events on the same session), and `native` (adb / iOS Simulator log tail when available). Default sources omit `native`. Its `connection` field says which live sources are attached. |
83
83
  | `last_error` | The newest error-level entry across the same sources, as the raw line. It includes a stack when the entry carries one. |
84
84
  | `get_client_state` | The client data layer in the running app. It reports which `layer` it found (`rtk`, `syncdb`, both, or `none`) and returns the RTK Query cache and auth state, the SyncDB state, or both. `get_rtk_state` is a deprecated alias. |
85
85
  | `get_syncdb_state`, `syncdb_snapshot` | SyncDB entities, outbox, conflicts, cursors, and debug events, plus snapshots to compare before and after a change |
@@ -96,13 +96,16 @@ result.
96
96
  | --- | --- |
97
97
  | `navigate` | Moves a native app to an expo-router path over the same CDP connection the logs use |
98
98
  | `browser` | Drives the web app in a headless WebView: open, click, type, scroll, then `snapshot` the rendered page and save a `screenshot` as proof |
99
- | `evaluate` | Runs a JavaScript expression in the app's Hermes runtime |
99
+ | `dispatch_client_action` | Dispatches a known Redux action on the dev store (prefer over raw `evaluate`) |
100
+ | `read_local_storage` / `write_local_storage` | Read or write AsyncStorage keys registered for MCP dev tooling |
101
+ | `list_dev_commands` / `invoke_dev_command` | List and run app-registered dev-only command handlers |
102
+ | `evaluate` | Runs a JavaScript expression in the app's Hermes runtime when no fixed tool fits |
100
103
  | `syncdb_action` | Changes a live SyncDB client: mutate, flush, resync, resolve conflicts, go offline |
101
104
 
102
- `evaluate`, `navigate`, `syncdb_action`, and the `browser` tool's `evaluate` action run code
103
- or change state inside the app, so they refuse unless the local server was started with
104
- `TERRENO_MCP_EVAL=1`. Generated editor configuration never sets it. The other `browser`
105
- actions do not need it.
105
+ `evaluate`, `navigate`, `dispatch_client_action`, `write_local_storage`, `invoke_dev_command`,
106
+ `syncdb_action`, and the `browser` tool's `evaluate` action run code or change state inside the
107
+ app, so they refuse unless the local server was started with `TERRENO_MCP_EVAL=1`. Generated
108
+ editor configuration never sets it. The other `browser` actions do not need it.
106
109
 
107
110
  After the fix, the loop goes back to Observe. A change is done when the logs and state show
108
111
  the new behavior, not when the edit compiles.
@@ -69,16 +69,9 @@ JavaScript packages, GitHub Actions, and a few Expo JS-only names may update. Me
69
69
 
70
70
  ## Dependabot configuration
71
71
 
72
- `.github/dependabot.yml` sets `open-pull-requests-limit: 0` on every block. That turns off version-update PRs; security updates ignore the limit and still honor `ignore`. Each block's group uses `applies-to: security-updates`, so fixes arrive grouped:
72
+ `.github/dependabot.yml` sets `open-pull-requests-limit: 0` on every block. That turns off version-update PRs; security updates ignore the limit and still honor `ignore`. Security updates are not grouped: each advisory opens its own PR per block (`github-actions` at `/`, `bun` at `/`, the backend directories, and the frontend directories), so one fix can merge without waiting on another.
73
73
 
74
- | Group | Ecosystem |
75
- | --- | --- |
76
- | `github-actions` | `github-actions` at `/` |
77
- | `root` | `bun` at `/` (root catalog and root tools) |
78
- | `backend` | `bun` under api, ai, backends, … |
79
- | `frontend` | `bun` under ui, syncdb, admin-frontend, demo, apps, … |
80
-
81
- Frontend ignores catalog-managed names so those fixes land once, in the root catalog. Root ignores fingerprint-skip names, so a security fix for a native/Expo package never opens a PR; handle it by hand in a release. `dependabot-auto-merge.yml` approves patch and minor Dependabot PRs and enables squash auto-merge, so those security PRs merge when required checks pass. A semver-major security PR (or a group containing one) gets no approval or auto-merge and waits for a human. When one fails because the fix needs code changes, fold the bump into the rolling PR ([Update dependencies](../how-to/update-dependencies.md)); never push to the `dependabot/*` branch.
74
+ Frontend ignores catalog-managed names so those fixes land once, in the root catalog. Root ignores fingerprint-skip names, so a security fix for a native/Expo package never opens a PR; handle it by hand in a release. `dependabot-auto-merge.yml` approves patch and minor Dependabot PRs and enables squash auto-merge, so those security PRs merge when required checks pass. A semver-major security PR gets no approval or auto-merge and waits for a human. When one fails because the fix needs code changes, fold the bump into the rolling PR ([Update dependencies](../how-to/update-dependencies.md)); never push to the `dependabot/*` branch.
82
75
 
83
76
  ## Daily rolling PR
84
77
 
@@ -1451,6 +1451,19 @@ Delete the `@terreno/rtk` package and every Redux dependency from the monorepo.
1451
1451
 
1452
1452
  ---
1453
1453
 
1454
+ ## syncdb-high-churn-fields
1455
+
1456
+ **Title:** `SyncDB: high-churn fields without a sequence claim per write`
1457
+
1458
+ **Labels:** `area:api`, `type:feature`
1459
+ **Project fields:** Area=`api`, Target=`Next`, Impact=`Feature`, IP=`syncdb-high-churn-fields`, Status=`Shaping`
1460
+
1461
+ A synced document can carry fields that change every few seconds (a gauge, a heartbeat, a progress counter) without each change costing three replicated writes and a round trip through the stream's counter document.
1462
+
1463
+ - **Implementation plan:** [syncdb-high-churn-fields.md](https://github.com/TerrenoLabs/terreno/blob/master/docs/implementationPlans/syncdb-high-churn-fields.md)
1464
+
1465
+ ---
1466
+
1454
1467
  # Shipped, umbrella, and declined IPs
1455
1468
 
1456
1469
  Tracking issues created for IPs that previously lacked a `**Roadmap issue:**` header.
@@ -1,6 +1,7 @@
1
1
  # Test isolation in Bun suites
2
2
 
3
- `bun test` runs every test file of a package in one process. `mock.module` replaces a
3
+ `bun test` runs every test file of a package, or of one [shard](test-sharding.md) of it,
4
+ in one process. `mock.module` replaces a
4
5
  module for that whole process, and `mock.restore()` does not undo it. A test that
5
6
  mocks a module can pass on its own, then break other files, or be broken by them,
6
7
  when the whole package runs. CI always runs the whole package, so this kind of
@@ -0,0 +1,111 @@
1
+ # Test sharding in Bun suites
2
+
3
+ Every package runs its tests through `scripts/test-shards.ts`. The runner starts several
4
+ `bun test --shard=<i>/<n>` processes at once, one per shard, and fails when any of them
5
+ fails. Bun 1.4.4 or newer is required: older versions have no `--shard`.
6
+
7
+ ```bash
8
+ cd api
9
+ bun run test:ci # shards chosen from the machine's cores
10
+ TERRENO_TEST_SHARDS=1 bun run test:ci # one unsplit process
11
+ TERRENO_TEST_SHARDS=3 bun run test:ci # exactly three shards
12
+ bun test ./src/auth.test.ts # one file, no runner
13
+ ```
14
+
15
+ ## Why shards and not `bun test --parallel`
16
+
17
+ A shard is an ordinary `bun test` process. It loads the preload once, keeps one module
18
+ registry, and starts one in-memory Mongo, exactly as an unsplit run does. A test file sees
19
+ the same world either way. Only the set of files that share its process changes.
20
+
21
+ `bun test --parallel` gives each file a fresh global. That re-runs the preload's
22
+ `beforeAll` and `afterAll` for every file, so a backend package starts and stops Mongo once
23
+ per file and reloads every module. Measured on `@terreno/api` (169 files, 4 cores): 648 s
24
+ unsplit, 459 s with `--parallel`, 408 s with two shards.
25
+
26
+ ## How many shards
27
+
28
+ | Source | Shards |
29
+ | --- | --- |
30
+ | `TERRENO_TEST_SHARDS` set | That number |
31
+ | Not set | Half the cores, at least 1, at most 4 |
32
+
33
+ A backend shard keeps a Bun process and a `mongod` busy, about two cores. More shards than
34
+ half the cores slows every shard down and makes timing-sensitive tests fail.
35
+
36
+ CircleCI jobs set `TERRENO_TEST_SHARDS` themselves, because a container reports the host's
37
+ cores and not its own CPU limit. Medium jobs (2 vCPU) run 1 shard. `api-ci`, the longest
38
+ test job, runs on `large` (4 vCPU) with 2 shards.
39
+
40
+ Root `bun run test` and `bun run test:agent` set `TERRENO_TEST_SHARDS=1`: they already run
41
+ every package at the same time.
42
+
43
+ ## Measured speedup
44
+
45
+ One 4-core machine, every package's `test:ci` run one after another:
46
+
47
+ | Package | Unsplit | 2 shards |
48
+ | --- | --- | --- |
49
+ | `api` | 648 s | 408 s |
50
+ | `ai` | 314 s | 187 s |
51
+ | `example-backend` | 253 s | 135 s |
52
+ | `admin-frontend` | 142 s | 75 s |
53
+ | `admin-backend` | 124 s | 83 s |
54
+ | `ui` | 95 s | 65 s |
55
+ | All 21 packages | 1849 s | 1163 s |
56
+
57
+ Packages that finish in a few seconds gain nothing and lose nothing.
58
+
59
+ ## Isolated files
60
+
61
+ `ai` and `admin-frontend` pass `--isolated` to the runner. After the shards pass, each
62
+ `src/isolated/*.isolated.ts(x)` file runs in a process of its own, as many at a time as there
63
+ are shards. See [Test isolation](test-isolation.md).
64
+
65
+ ## Coverage
66
+
67
+ `bun run test:coverage` (`scripts/check-coverage.ts`) uses the same shards. Each shard writes
68
+ its own LCOV report. The script merges them, writes `coverage/lcov.info`, and gates the
69
+ merged numbers at 95%.
70
+
71
+ Line coverage merges exactly: a line counts when any shard ran it. The sharded line figure
72
+ equals the unsplit one.
73
+
74
+ Function coverage cannot merge exactly. Bun's LCOV has no per-function records, only a found
75
+ and hit count per file, and Bun counts a nested function only after its parent ran, so shards
76
+ disagree on how many functions a file has. The script takes the largest found count and the
77
+ largest hit count for each file. That estimate usually reads low, because functions hit in
78
+ different shards are not added together. It can read high when one shard runs most of a file
79
+ and another shard finds nested functions that nothing calls.
80
+
81
+ A sharded run that misses 95% is run again as one unsplit process, and the gate uses that
82
+ exact result. A package whose function coverage is near 95% therefore pays for a second pass;
83
+ set `TERRENO_TEST_SHARDS=1` to skip the first. CircleCI gates every package unsplit except
84
+ `api` and `ai`, which run 2 shards.
85
+
86
+ While shards run, their output is held and printed one shard at a time. The runner prints a
87
+ `[shards] still running` line once a minute so CI does not see a silent job.
88
+
89
+ ## When a test fails only in a shard
90
+
91
+ Sharding changes which files share a process. A test that passed only because an earlier
92
+ file left something behind now fails. Run the file alone to confirm:
93
+
94
+ ```bash
95
+ bun test ./src/models/configuration.test.ts
96
+ ```
97
+
98
+ Fix the file so it passes alone. The usual causes:
99
+
100
+ 1. **A missing import.** The test reads state that another file's import registered. Import
101
+ the module in the test.
102
+ 2. **A module mock from another file.** A snapshot or assertion matches another file's
103
+ `mock.module` shape. Register the mock once in the package preload.
104
+ 3. **A timing budget.** Shards load the machine. Freeze the clock with `setSystemTime` or give
105
+ a slow test its own timeout; do not rely on wall-clock windows.
106
+
107
+ To reproduce the exact process a shard ran, pass the shard to Bun directly:
108
+
109
+ ```bash
110
+ bun test --shard=2/3
111
+ ```
@@ -16,6 +16,7 @@ Problem-oriented, practical steps. Use these when you know what you want to do.
16
16
 
17
17
  - [Create a Terreno app](create-a-terreno-app.md) — Scaffold a full-stack app with `create-terreno-app` (Bun or npm)
18
18
  - [Update dependencies](update-dependencies.md) — Daily rolling PR, exercise test, Expo fingerprint freeze
19
+ - [Fix code scanning alerts](fix-code-scanning-alerts.md) — One PR per sweep; fixes close on rescan, reviewed false positives are dismissed after merge
19
20
  - [CircleCI](circleci.md) — Dual-run CI on CircleCI (package CI / policy / e2e; deploys later)
20
21
  - [Release automation](release-automation.md) — Let agents merge release notes and roadmap updates; publish only merged notes
21
22
  - [Set up tests in a Terreno app](set-up-app-tests.md) — Bun backend and frontend tests, Playwright web E2E, Maestro on iOS/Android
@@ -49,10 +49,18 @@ list pipelines on the slug above.
49
49
 
50
50
  ## Bun version is pinned
51
51
 
52
- `install_bun_and_deps` pins Bun with `node/install-bun` `version`. Bun 1.4.4 reports
53
- lower line coverage than 1.4.2 for the same tests, which fails the 95% package
54
- coverage gates. Bump the pin together with the local toolchain and re-run
55
- `bun run test:coverage` in each package first.
52
+ `install_bun_and_deps` pins Bun with `node/install-bun` `version`, currently 1.4.4, the
53
+ same version as the local toolchain and the GitHub workflows. Package tests run through
54
+ `bun test --shard`, which needs 1.4.4 or newer. Bump the pin together with the local
55
+ toolchain and re-run `bun run test:coverage` in each package first: coverage numbers move
56
+ between Bun releases.
57
+
58
+ ## Test shards
59
+
60
+ Each executor sets `TERRENO_TEST_SHARDS`, the number of concurrent `bun test --shard`
61
+ processes a package's tests use. Medium executors set 1. `api-ci`, the longest test
62
+ job, overrides it to 2 and runs on `large`. See
63
+ [Test sharding](../explanation/test-sharding.md).
56
64
 
57
65
  ## Bun install is uncached
58
66
 
@@ -1,5 +1,9 @@
1
1
  # Debug a Terreno app with MCP
2
2
 
3
+ **This is the standard agent workflow** for finding and fixing issues on Terreno apps: run the
4
+ dev stack, call **`terreno-local`** MCP tools to observe and drive the app, edit code, then
5
+ observe again. Installable skill: **`debug-with-mcp`**. SyncDB-only depth: **`debug-syncdb-with-mcp`**.
6
+
3
7
  Use the local MCP server (`terreno-mcp-local`) to go from a symptom to a verified fix without
4
8
  pasting logs into the chat. This guide follows one real failure from start to finish, then lists
5
9
  what each tool does. Every tool output below was copied unchanged from a real run against
@@ -12,6 +16,11 @@ what each tool does. Every tool output below was copied unchanged from a real ru
12
16
  | API returns 500 | `last_error` with `sources: ["backend"]`. The stack is inside `message`. | `read_logs` with `sources: ["backend"]` and `since` to see the requests around it. |
13
17
  | API returns 403 (or another 4xx) | `read_logs` with `sources: ["backend"]` and `level: "warn"`. Every `APIError` under 500 is logged at `warn` as `ForbiddenError(403): <title> — <detail>`, so `last_error` does not show it. | `database_query` to compare the document's `ownerId` with the user in the log line. |
14
18
  | App crashes on a screen | Web: `last_error` with `sources: ["browser"]`. An uncaught error carries a separate `stack` field. A render error caught by an error boundary has no `stack`; its `message` names the component instead (see [A screen crashes on web](#a-screen-crashes-on-web)). Native: `last_error` with `sources: ["app"]`. | Native: `navigate` to the screen and call `last_error` again. Web: the `browser` tool. |
19
+ | Wrong API URL or status on device | `read_logs` with `sources: ["network"]` after reproducing the tap. | `database_query` or backend logs to compare server truth. |
20
+ | Auth/session oddities (token in storage) | `read_local_storage` with `prefix: "persist:"` or known key names. | `write_local_storage` only with `TERRENO_MCP_EVAL=1` to fix dev keys; prefer fixing app code for prod. |
21
+ | Native-only crash (no Hermes console) | `read_logs` with `sources: ["native"]` (needs `adb` or iOS Simulator). | `last_error` with `sources: ["app"]` when Hermes is attached. |
22
+ | Need a one-off dev action in the app | `list_dev_commands`, then `invoke_dev_command` with `TERRENO_MCP_EVAL=1`. | Register handlers with `registerTerrenoDevCommand` in app code. |
23
+ | Redux state wrong but SyncDB OK | `get_client_state` or `dispatch_client_action` with a known action type. | `syncdb_action` only for collection CRUD, not Redux. |
15
24
  | Data looks wrong | `database_query` to read what the server stored. | `get_client_state` (RTK cache) or `get_syncdb_state` (SyncDB) to compare the client's copy. |
16
25
  | Screen renders empty | `get_client_state` or `get_syncdb_state` on native. On web, `browser` with `snapshot`. | `read_logs` with `sources: ["backend"]` to check that the list request ran and returned 200. |
17
26
  | Bundler fails | The terminal that runs `expo start`. The `metro` source is always empty under Expo CLI 57: the `/events` socket connects but Expo never sends on it. | On native, `read_logs` with `sources: ["app"]` once the app loads again. |
@@ -161,7 +170,7 @@ On web this returns `layer: "none"`:
161
170
  ```json
162
171
  {
163
172
  "connection": "CDP: Error: No debuggable Hermes/React Native target with webSocketDebuggerUrl (is the app running?); Metro events: not connected",
164
- "hint": "No client data layer found. For RTK Query, call `registerTerrenoDevStore(store)` from @terreno/rtk in __DEV__. For SyncDB, create the client with `createSyncDb({debug: true})`. Keep the app running; when the MCP process cannot see the app heap, start Metro so CDP can reach Hermes (see `connection`).",
173
+ "hint": "No client data layer found. For SyncDB, create the client with `createSyncDb({debug: true})`. For custom client actions, call `registerTerrenoDevClientDispatch` from `@terreno/syncdb` in __DEV__. Keep the app running; when the MCP process cannot see the app heap, start Metro so CDP can reach Hermes (see `connection`).",
165
174
  "layer": "none",
166
175
  "reasons": {
167
176
  "rtk": "Error: No debuggable Hermes/React Native target with webSocketDebuggerUrl (is the app running?)",
@@ -0,0 +1,43 @@
1
+ # Fix code scanning alerts
2
+
3
+ Run `/fix-code-scanning-alerts` to clear every open CodeQL alert on one PR. When that PR merges, each alert closes: fixes close when CodeQL rescans `master`, and reviewed false positives are dismissed by a workflow.
4
+
5
+ ```bash
6
+ gh api "repos/{owner}/{repo}/code-scanning/alerts?state=open&per_page=100" --paginate \
7
+ | jq -s 'add | group_by(.rule.id) | map({rule: .[0].rule.id, count: length})'
8
+ ```
9
+
10
+ ## How alerts close
11
+
12
+ | Lane | In the PR | After merge |
13
+ | --- | --- | --- |
14
+ | Fix | Code change and a regression test | The CodeQL push scan on `master` no longer reports it, so it closes as **fixed** |
15
+ | Dismiss | An entry in `.github/code-scanning/dismissals.json` | `code-scanning-dismissals.yml` dismisses it with the entry's reason and comment |
16
+
17
+ Dismissals wait for the merge so a reviewer approves each one, and the Security tab never shows an alert closed by an unmerged branch.
18
+
19
+ ## Pieces
20
+
21
+ - `.github/codeql/codeql-config.yml`: CodeQL configuration. Test files are ignored, so their alerts close on the next `master` scan.
22
+ - `.github/workflows/codeql-analysis.yml`: also runs on pull requests (diff-informed: only changed lines) and on manual dispatch. Dispatch it on a branch for a full scan that proves each fix clears its alert before merge.
23
+ - `.github/code-scanning/dismissals.json`: the dismissal ledger. Each entry has `alert`, `rule`, `path`, `reason` (`false positive`, `won't fix`, or `used in tests`), and a `comment` of 280 characters or fewer.
24
+ - `.github/workflows/code-scanning-dismissals.yml`: runs on `master` when the ledger changes, and on manual dispatch.
25
+ - `scripts/ci/codeScanning/applyDismissals.ts`: applies the ledger. It dismisses an entry only when the live alert is still open and its rule and path still match. A mismatch fails the job.
26
+
27
+ ## Check a ledger locally
28
+
29
+ ```bash
30
+ bun test scripts/ci/codeScanning/
31
+ GITHUB_TOKEN="$(gh auth token)" GITHUB_REPOSITORY=TerrenoLabs/terreno \
32
+ bun scripts/ci/codeScanning/applyDismissals.ts --dry-run
33
+ ```
34
+
35
+ The dry run must report `mismatched 0`.
36
+
37
+ ## Rate limiting alerts
38
+
39
+ `js/missing-rate-limiting` flags every Express route because CodeQL only recognizes known limiter libraries. `TerrenoApp` mounts its own limiter before all plugins (see [Rate limiting](rate-limiting.md)), so these alerts go in the ledger as false positives. A route mounted outside `TerrenoApp` has no limiter and needs a real fix.
40
+
41
+ ## Dependabot
42
+
43
+ Dependabot opens **security PRs only**. Routine upgrades go through [Update dependencies](update-dependencies.md). Every workspace package directory is listed in `.github/dependabot.yml`. Add a new package's directory there when you create it.
@@ -52,6 +52,11 @@ bun run test # every workspace `test:ci`
52
52
  bun run test:agent # same suites; passing cases suppressed
53
53
  ```
54
54
 
55
+ Each package's `test`, `test:ci`, `test:agent`, and `test:coverage` scripts split the suite
56
+ into concurrent `bun test --shard` processes, half the cores by default. Set
57
+ `TERRENO_TEST_SHARDS=1` for one unsplit process. See
58
+ [Test sharding](../explanation/test-sharding.md).
59
+
55
60
  Closest package during a red/green cycle:
56
61
 
57
62
  ```bash
@@ -1,7 +1,9 @@
1
1
  # Set up Terreno MCP
2
2
 
3
3
  Configure both Terreno servers: the hosted server supplies documentation and generators; the local
4
- stdio server inspects the app, database, logs, Metro, and SyncDB state.
4
+ stdio server inspects the app, database, logs, Metro, SyncDB state, web and native navigation.
5
+ After setup, invoke **`debug-with-mcp`** (and when applicable **`debug-syncdb-with-mcp`**) for the
6
+ standard diagnostic workflow.
5
7
  - **`terreno`** (hosted, Streamable HTTP) supplies documentation search and code generators.
6
8
  - **`terreno-local`** (stdio, runs in your repository) reads the app's packages, database, logs,
7
9
  Metro, and client state.
@@ -60,4 +60,4 @@ CircleCI attributes a pipeline to the GitHub user whose token pushed it and emai
60
60
 
61
61
  ## Dependabot security PRs
62
62
 
63
- `.github/dependabot.yml` sets `open-pull-requests-limit: 0` on every block, so Dependabot opens no version-update PRs. Security updates still open, grouped per block, and skip ignored native/Expo names. `dependabot-auto-merge.yml` approves them and enables squash auto-merge, so a green security PR merges without this skill. A red one gets its bump folded into the rolling PR. A security fix for an ignored native package is a manual release task (`release` + `upgrading-expo`).
63
+ `.github/dependabot.yml` sets `open-pull-requests-limit: 0` on every block, so Dependabot opens no version-update PRs. Security updates still open, one PR per advisory, and skip ignored native/Expo names. `dependabot-auto-merge.yml` approves them and enables squash auto-merge, so a green security PR merges without this skill. A red one gets its bump folded into the rolling PR. A security fix for an ignored native package is a manual release task (`release` + `upgrading-expo`).