Fred de Gier activity https://gitlab.com/fdegier 2026-03-18T12:49:12Z tag:gitlab.com,2026-03-18:5217421334 Fred de Gier commented on merge request !224477 at GitLab.org / GitLab 2026-03-18T12:49:12Z fdegier Fred de Gier [email protected]

Hi @romaneisner could you review this MR please?

tag:gitlab.com,2026-03-18:5217330565 Fred de Gier pushed to project branch duo/docs/584606-add-foundational-flows-docs-2963592 at GitLab.org / GitLab 2026-03-18T12:30:46Z fdegier Fred de Gier [email protected]

Fred de Gier (9e757928) at 18 Mar 12:30

Add comprehensive foundational flows development guide

tag:gitlab.com,2026-03-18:5217235522 Fred de Gier commented on issue #585855 at GitLab.org / GitLab 2026-03-18T12:10:31Z fdegier Fred de Gier [email protected]

Thanks for the ping @bastirehm the issue is not fully resolved, I'll update the issues.

tag:gitlab.com,2026-03-18:5216868808 Fred de Gier pushed to project branch master at GitLab.org / GitLab 2026-03-18T10:46:56Z fdegier Fred de Gier [email protected]

Fred de Gier (c01a2845) at 18 Mar 10:46

Merge branch 'pedropombeiro/591183/freeze-factory-objects' into 'ma...

... and 1 more commit

tag:gitlab.com,2026-03-18:5216858513 Fred de Gier deleted project branch pedropombeiro/591183/freeze-factory-objects at GitLab.org / GitLab 2026-03-18T10:45:06Z fdegier Fred de Gier [email protected]

Fred de Gier (83e46b26) at 18 Mar 10:45

tag:gitlab.com,2026-03-18:5216855253 Fred de Gier accepted merge request !227840: Freeze runner_spec models at GitLab.org / GitLab 2026-03-18T10:44:25Z fdegier Fred de Gier [email protected]

What does this MR do and why?

Freezes factory-created objects in spec/models/ci/runner_spec.rb by adding freeze: true to let_it_be declarations throughout the spec file.

This is a test optimization that:

  • Replaces let_it_be (without freeze) and let_it_be_with_reload with let_it_be(:name, freeze: true) where the test does not mutate the object
  • Replaces let_it_be_with_refind with let_it_be(:name, freeze: true) where refind was unnecessary
  • Converts a few cases to let_it_be_with_refind where the object is actually mutated in before blocks
  • Inlines a shared example (group or project runner initializing organization_id) that was only used twice, simplifying the test structure
  • Hoists shared admin and user2 let_it_be declarations to a higher scope to avoid duplication across with_creator_id and created_by_admins describe blocks
  • Reuses the existing other_organization let_it_be instead of creating a duplicate other_org in the assignable_for context
  • Consolidates runner attribute setup (e.g., token_expires_at) into the factory call instead of a separate before block

Frozen objects raise FrozenError if a test accidentally modifies them, catching unintended side effects between examples. This also improves test performance by avoiding unnecessary database reloads.

References

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

tag:gitlab.com,2026-03-18:5216836932 Fred de Gier commented on merge request !4923 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-18T10:40:31Z fdegier Fred de Gier [email protected]

Approved the MR, @junminghuang can you do the maintainer review please?

tag:gitlab.com,2026-03-18:5216824812 Fred de Gier commented on merge request !227840 at GitLab.org / GitLab 2026-03-18T10:37:53Z fdegier Fred de Gier [email protected]

Thanks @pedropombeiro for addressing my comment, looks great let's get this merged. 🚀

tag:gitlab.com,2026-03-18:5216823344 Fred de Gier approved merge request !227840: Freeze runner_spec models at GitLab.org / GitLab 2026-03-18T10:37:33Z fdegier Fred de Gier [email protected]

What does this MR do and why?

Freezes factory-created objects in spec/models/ci/runner_spec.rb by adding freeze: true to let_it_be declarations throughout the spec file.

This is a test optimization that:

  • Replaces let_it_be (without freeze) and let_it_be_with_reload with let_it_be(:name, freeze: true) where the test does not mutate the object
  • Replaces let_it_be_with_refind with let_it_be(:name, freeze: true) where refind was unnecessary
  • Converts a few cases to let_it_be_with_refind where the object is actually mutated in before blocks
  • Inlines a shared example (group or project runner initializing organization_id) that was only used twice, simplifying the test structure
  • Hoists shared admin and user2 let_it_be declarations to a higher scope to avoid duplication across with_creator_id and created_by_admins describe blocks
  • Reuses the existing other_organization let_it_be instead of creating a duplicate other_org in the assignable_for context
  • Consolidates runner attribute setup (e.g., token_expires_at) into the factory call instead of a separate before block

Frozen objects raise FrozenError if a test accidentally modifies them, catching unintended side effects between examples. This also improves test performance by avoiding unnecessary database reloads.

References

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

tag:gitlab.com,2026-03-18:5216795214 Fred de Gier approved merge request !4923: fix: Fix pagination in discussion note lookup at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code... 2026-03-18T10:31:27Z fdegier Fred de Gier [email protected]

What does this merge request do and why?

This MR fixes a bug where the _get_discussion_id_from_note_rest method in duo_workflow_service/tools/duo_base_tool.py was only fetching the first page of discussions (default 20 items) from the GitLab API. When a note being replied to was in a discussion on page 2 or beyond, it would not be found, causing the error "Note {note_id} not found in this merge request/issue".

The fix implements pagination to iterate through all discussion pages until the note is found or all pages are exhausted. The method now uses page and per_page parameters (100 items per page) to efficiently fetch all discussions.

image.png

How to set up and validate locally

This approach simulates the real pagination scenario end-to-end with GDK, which is more reliable than unit tests alone.

1. Start GDK and AI Gateway

Make sure GDK is running, then start AI Gateway from the fix branch:

cd <ai-gateway-dir>
poetry run uvicorn ai_gateway.app:create_app --factory --host 0.0.0.0 --port 5052 --reload

2. Create a test MR with more than 100 discussion threads

The bug only triggers when the target note is beyond the first page (100 items with the fix, 20 without). Use the GitLab API to seed enough discussions on a local test MR:

PROJECT_ID=<your-local-project-id>
MR_IID=<your-test-mr-iid>
TOKEN=<your-gdk-pat>

for i in $(seq 1 105); do
  curl -s -X POST "http://gdk.test:3000/api/v4/projects/$PROJECT_ID/merge_requests/$MR_IID/discussions" \
    -H "PRIVATE-TOKEN: $TOKEN" \
    -d "body=Discussion note $i"
done

3. Trigger Duo Workflow to reply to a note on page 2

Use Duo Workflow (via the VS Code extension or Web IDE connected to your GDK) and ask it to reply to one of the notes created in the last batch (i.e., one of the note IDs from the 101st discussion onward). This will invoke _get_discussion_id_from_note_rest internally.

4. Verify the behaviour

  • Without the fix: Duo returns "Note {note_id} not found in this merge request" for notes beyond page 1.
  • With the fix: Duo successfully resolves the discussion ID and posts the reply in the correct thread.

To observe pagination in action, you can temporarily add a debug log inside the while loop in duo_base_tool.py:

print(f"Fetching page {page}, got {len(discussions)} discussions")

5. Run the unit tests

poetry run pytest tests/duo_workflow_service/tools/test_duo_base_tool.py -k "test_get_discussion_id_from_note_rest" -v

Merge request checklist

  • Tests added for new functionality. If not, please raise an issue to follow up.
  • Documentation added/updated, if needed.
  • If this change requires executor implementation: verified that issues/MRs exist for both Go executor and Node executor or confirmed that changes are backward-compatible and don't break existing executor functionality.

Closes #2048

tag:gitlab.com,2026-03-18:5216794963 Fred de Gier commented on merge request !4923 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-18T10:31:24Z fdegier Fred de Gier [email protected]

Thanks, great to see.

tag:gitlab.com,2026-03-18:5216793394 Fred de Gier commented on merge request !4923 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-18T10:31:03Z fdegier Fred de Gier [email protected]

praise: Great benchmark and great to see we have a huge performance gain.

tag:gitlab.com,2026-03-18:5216753588 Fred de Gier pushed to project branch 3285-postgresql-intermittent-sorry-too-many-clients-already-error at GitLab.org / GitLab Development Kit 2026-03-18T10:23:10Z fdegier Fred de Gier [email protected]

Fred de Gier (066e7ae4) at 18 Mar 10:23

Kill orphaned Sidekiq workers on restart/kill to prevent PostgreSQL...

tag:gitlab.com,2026-03-18:5216598534 Fred de Gier opened merge request !5840: Resolve &quot;PostgreSQL: intermittent &quot;sorry, too many clients already&quot; error&quot; at GitLab.org / GitLab Development Kit 2026-03-18T09:52:44Z fdegier Fred de Gier [email protected]

What does this merge request do and why?

How to set up and validate locally

Impacted categories

The following categories relate to this merge request:

Merge request checklist

  • This MR references an issue describing the change.
  • This change is backward compatible. If not, include steps to communicate to users.
  • Tests added for new functionality. If not, raise an issue to follow-up.
  • Observability added/updated (logging, metrics, tracing).
  • Documentation added/updated.
  • Announcement added for notable changes.
  • gdk doctor test added.

Closes #3285

tag:gitlab.com,2026-03-18:5216595734 Fred de Gier pushed new project branch 3285-postgresql-intermittent-sorry-too-many-clients-already-error at GitLab.org / GitLab Development Kit 2026-03-18T09:52:06Z fdegier Fred de Gier [email protected]

Fred de Gier (583cbe88) at 18 Mar 09:52

tag:gitlab.com,2026-03-18:5216584787 Fred de Gier commented on merge request !227854 at GitLab.org / GitLab 2026-03-18T09:49:40Z fdegier Fred de Gier [email protected]

Thanks @mrincon LGTM. @ramistry can you do the maintainer review please?

tag:gitlab.com,2026-03-18:5216583536 Fred de Gier approved merge request !227854: Migrate lodash imports to lodash-es in projects, import and collaboration modules at GitLab.org / GitLab 2026-03-18T09:49:23Z fdegier Fred de Gier [email protected]

What does this MR do and why?

Migrates lodash imports to lodash-es in projects, import, jira connect, kubernetes, deploy keys, labels, mirrors, badges, crm, contributors, and other collaboration modules.

This is part of #558221.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist.

tag:gitlab.com,2026-03-18:5216568988 Fred de Gier commented on merge request !225681 at GitLab.org / GitLab 2026-03-18T09:46:10Z fdegier Fred de Gier [email protected]

Hi @fabiopitino could you do the devopsverify maintainer review please?

tag:gitlab.com,2026-03-18:5216564975 Fred de Gier commented on merge request !225681 at GitLab.org / GitLab 2026-03-18T09:45:17Z fdegier Fred de Gier [email protected]

Hi @nateweinshenker could you please do the initial backend review? Please assign to @skundapur for maintainer review.

tag:gitlab.com,2026-03-18:5216552486 Fred de Gier commented on merge request !4923 at GitLab.org / ModelOps / AI Assisted (formerly Applied ML) / Code Suggestions / AI Gateway 2026-03-18T09:42:28Z fdegier Fred de Gier [email protected]

I should clarify that I just want to make sure that there's no hidden performance benefit of using the default (20) instead of the max (100).