You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 879e561
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: .dev/sessions.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,12 +16,24 @@ Newest first.
16
16
- Added tech-debt entry for `setup.md` referencing `.env.arrangerDev` which no longer exists — left unfixed as the correct replacement process is unclear.
17
17
- Added three tech-debt entries under `## apps/mcp-server` in `tech-debt.md`: `InMemoryEventStore` not suitable for production (persistent store needed before production deployment); MCP session map does not evict abandoned transports (timestamp-based sweep approach noted); introspection types should be Zod-first so MCP output schemas can import directly from `search-server` rather than duplicating locally
18
18
- Updated `sessions.md` protocol in `~/.claude/CLAUDE.md`, `CLAUDE.md`, `AGENTS.md`, `.github/copilot-instructions.md`, and memory: `sessions.md` records only changes to code or working documents, not conversational activity
19
+
- Renamed Docker stage `server` → `search-server` in both Dockerfiles — removes ambiguity now that two server images exist
-`turboBase` computed once from `GIT_PREVIOUS_COMMIT` (the commit Jenkins last built on this branch) with `HEAD^1` fallback for first builds — correctly covers multi-commit pushes to any branch, including direct pushes to main, without needing branch-specific logic; used for all change detection throughout the pipeline
22
+
- Turbo build with `--filter=[turboBase]` replaces `npm run modules:build`; only affected packages and their dependents build
23
+
- Turbo test with `--filter=[turboBase]` replaces five individual `npm run test -w` calls; `integration-tests/server` and `integration-tests/mcp-server` excluded from Turbo and handled separately
24
+
-`integration-tests/server` runs conditionally — only when files in `sqon`, `types`, `graphql-router`, `apps/search-server`, or `integration-tests/server` changed since `turboBase`
25
+
- Docker builds conditional per image: `search-server` image rebuilds when its server chain or Dockerfile changes; `mcp-server` image rebuilds when `apps/mcp-server`, shared modules, or Dockerfile changes; `POST_BUILD: Publish` parameter overrides and builds both
26
+
- App versions (`searchServerVersion`, `mcpServerVersion`) read directly from `apps/*/package.json` in the Build stage — fixes pre-existing null bug where `versionsMap['server']` was used but `versionsMap` only covered `modules/*`
27
+
-`TURBO_TELEMETRY_DISABLED=1` added to environment block
28
+
- TEMP `release-charts` stage removed; `modules/charts` now covered by the standard release publish loop
29
+
- Dead commented-out Slack notification code removed
19
30
20
31
**Decisions:**
21
32
22
33
-`fieldShape` outputSchema without `.parse()` is correct MCP usage — `outputSchema` is declarative for MCP clients, not runtime-enforced by the SDK
23
34
- Session eviction approach for `apps/mcp-server/src/http/app.ts`: track `lastSeenAt` per transport entry, sweep via `setInterval`, close and evict sessions idle beyond a configurable TTL (e.g. 30 min)
24
35
-`integration-tests/mcp-server` excluded from CI pipeline for now — needs full stack (ES + Arranger server + MCP server); design deferred
36
+
-`Deploy to overture-dev` stage left unchanged — infrastructure config for `arranger-iobio` must be updated separately to use the renamed `arranger-search-server` image
25
37
26
38
**Open threads:**
27
39
@@ -34,6 +46,9 @@ Newest first.
34
46
35
47
**Done:**
36
48
49
+
- Removed `docker/**` and `docker-compose.yml` from `turbo.json` globalDependencies — those files don't affect TypeScript source so they were causing unnecessary cache busting; `tsconfig.eslint.json` remains
50
+
- Added `@overture-stack/arranger-types` as an explicit dependency in `modules/components/package.json` (`file:../types`) — without this, Turbo's graph treated `components` as independent of `types`, meaning a breaking change to `types` could pass CI without `components` being rebuilt or tested
51
+
- Corrected `modules/graphql-router/package.json` to use the shallower `file:../types` (was `file:../../modules/types` — unnecessarily traversing up to root and back down); `modules/types` already used the shallower `../sqon` convention; `apps/` and `integration-tests/` paths are already as shallow as their locations allow
37
52
- Completed items removed from roadmap (now in sessions only); roadmap stays forward-looking
Copy file name to clipboardExpand all lines: .dev/tech-debt.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -187,6 +187,14 @@ The preferred pattern is **(B)**. Mixing the two makes it harder to find tests,
187
187
**Fix:** In `spinupActive.js`, after fetching `/introspection/fields`, assert that `Object.keys(data.fields).length` matches the field count from the live ES index (e.g. via a separate `GET /<index>/_mapping` call, or by asserting against a known field that is in the ES mapping but deliberately absent from the test fixture's config files). The simplest approach: add a fixture field directly to the ES test index that is not present in any config file, then assert it appears in the introspection response.
188
188
**Standalone:** yes — additive test, no changes to application code
**Severity:** medium (silently disables change detection — everything would fall back to HEAD^1 or fail)
193
+
**Kind:** ops risk
194
+
**Issue:** The pipeline uses `GIT_PREVIOUS_COMMIT` (set by the Jenkins Git plugin) as the base for all git diff comparisons. If the Jenkins checkout is configured with `--depth 1` (shallow clone), `GIT_PREVIOUS_COMMIT` will not be reachable in the local git history and `git diff ${turboBase} HEAD` will fail. The pipeline comment documents this requirement, but there is no runtime guard — a misconfigured checkout silently degrades or errors.
195
+
**Fix:** Either add a guard (`git cat-file -e ${turboBase} || turboBase = 'HEAD^1'`) to detect and recover from an unreachable commit, or document the shallow-clone restriction in DEVELOPMENT.md alongside the Jenkins setup notes.
196
+
**Standalone:** yes — purely a pipeline change; no application code involved
197
+
190
198
### `arranger-iobio` deploy references old `arranger-server` image name
191
199
**File:** infra repo — deploy config for `arranger-iobio` on `overture-dev`
192
200
**Severity:** medium (deploy will reference a stale image name after the Docker rename lands)
0 commit comments