feat: Collections, multi-set AI context (v2.7.4)#13
Merged
Conversation
…ing (v2.7.4) - Collections as optional superset of Sets with full CRUD, thumbnails, and DB-backed persistence (ADR-102, SPEC-102-A) - 4-column dashboard stats: Collections | Sets | Diagrams | Elements - Header breadcrumb: Iris / Collection / Set - Collection pill badges on Sets page (list + gallery views) - Collection filter dropdown on Diagrams and Elements pages - Multi-set AI context: Ask AI supports 1+ Sets via dropdown selector with new POST /api/ai/ask endpoint and build_multi_set_context() - Collection assignment on Set detail page - Active collection store (session-persisted, inferred from active set) - Collections nav item with Phosphor folder icon - 16 new backend tests (13 collection CRUD + 3 multi-set AI context) - 792 total backend tests passing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
cgbarlow
pushed a commit
that referenced
this pull request
Apr 20, 2026
Three Playwright probes under frontend/tests/probes/ that were used to characterise the ADR-118 fix and empirically pick target-distance constants. They are investigation tooling, not part of the regression suite: - spread-slider-probe.ts — fresh-reload baseline at each spread value. - spread-slider-live.ts — loads once then mutates charge+link forces in-place via window.__irisGraph.d3Force. - spread-slider-ui.ts — loads once then drives the real <input type="range"> spread slider via DOM events, matching the user-reported transition. Shared auth+settings init-script builders and the in-browser metric computer live in probe-utils.ts; all three scripts reuse getAuthToken and ADMIN_PASSWORD from tests/e2e/fixtures.ts (DRY per protocol #13). Probes require VITE_IRIS_DEBUG=1 at build time to see window.__irisGraph. Adds npm scripts test:probe, test:probe:live, test:probe:ui, and the tsx devDep (tsx@^4.21.0, latest stable at install time). Probe output lands in tests/probes/output/ which is gitignored. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 5, 2026
cgbarlow
added a commit
that referenced
this pull request
May 8, 2026
…uard, round-trip evidence (#69) Builds on the Wave A drag-connect fix with the related ledger items and the unit-level round-trip integration test. Wave B — BPMN-04/08: - Extracted appendBpmnNodeWithEdge as the shared helper (DRY per protocol #13). ContextPad append actions and CommandPalette append-mode pick now both POST /api/relationships alongside the canvas edge — matching handleBpmnConnect's drag-handle path. Pre-fix /elements/<id>'s Relationships panel was empty for ContextPad-/CommandPalette-appended nodes, identical to the pre-v5.4.1 BPMN-02 bug shape. - BPMN-08 entityId-on-failure guard locked in via bpmnEntityIdGuard.test.ts. The behaviour was already correct (every node-creation path bails on null Element via `if (!element) return`); the new test fails loud if any path drops the guard before mutating canvasNodes. Phase 3 — round-trip evidence: - bpmnDragConnectRoundTrip.test.ts asserts the full chain: xyflow auto-add (typeless edge) → handleSvelteFlowConnect patches type → validateBpmn clears warning → handleBpmnConnect POSTs /api/relationships → edge gets relationshipId. Includes one test that explicitly demonstrates the BPMN-03 bug shape (validator still warns when the edge is type-less) so any regression of the patch step trips the assertion immediately. Phase 4 — release prep: - frontend/package.json: 5.6.1 → 5.6.2. - CHANGELOG.md: [Unreleased] → [5.6.2] - 2026-05-08, with full Wave A + Wave B notes and explicit acknowledgement that the earlier "claimed-fixed" entries didn't stick because the tests were static-parser only. Verification: - Full vitest suite: 921/924 pass (3 unchanged pre-existing baseline failures; verified failing on main without these changes). - BPMN unit suite: 110/110 pass across 21 files. - svelte-check: 164 errors = unchanged baseline (0 new errors). Closes BPMN-01/02/03/04/08/09 from the issue #69 consolidated bug ledger. Medium-priority items (BPMN-05/07/11/12/13/14/15/16/17) verified green via the existing test suite — none have the "static-parser-passes-but-runtime-broken" failure mode that hit BPMN-03; visible UI bugs that would have been re-reported if regressed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
POST /api/ai/askendpointTest plan
python -m pytest -v— 792 passed, 2 skipped/collections, create/edit/delete collectionsIris / Collection / Setbreadcrumb when both active🤖 Generated with Claude Code