FM-4 GitLab end-to-end dispatch-loop smoke (#655) #693

Merged
claude-desktop merged 1 commit from boss/655 into main 2026-05-01 22:07:24 +00:00
Collaborator

Adds a fixture-based integration test that walks the GitLab dispatch loop end-to-end (issue.assigned → MR opened → synchronize → comment → pipeline → merge → close) plus a wiring test pinning that forge: "gitlab" repos route through GitLabAdapter against /api/v4/projects/.... Documents the operator-side manual procedure in docs/multi-forge.md. Operator-side run + dashboard validation tracked in #694; #655 stays open until those artefacts land.

Test plan

  • bun x turbo run test — 3010 passing
  • bun x turbo run typecheck — clean
  • bun x @biomejs/biome@^2 check — new file lint-clean
  • Manual e2e + dashboard evidence — deferred to #694 (needs real GitLab project + dashboard screenshot, operator-side)

Refs #655
Tracks #694

Adds a fixture-based integration test that walks the GitLab dispatch loop end-to-end (issue.assigned → MR opened → synchronize → comment → pipeline → merge → close) plus a wiring test pinning that `forge: "gitlab"` repos route through `GitLabAdapter` against `/api/v4/projects/...`. Documents the operator-side manual procedure in `docs/multi-forge.md`. Operator-side run + dashboard validation tracked in #694; #655 stays open until those artefacts land. ## Test plan - [x] `bun x turbo run test` — 3010 passing - [x] `bun x turbo run typecheck` — clean - [x] `bun x @biomejs/biome@^2 check` — new file lint-clean - [ ] Manual e2e + dashboard evidence — deferred to #694 (needs real GitLab project + dashboard screenshot, operator-side) Refs #655 Tracks #694
FM-4 GitLab end-to-end dispatch-loop smoke (#655)
All checks were successful
qa / dockerfile (pull_request) Successful in 7s
qa / qa (pull_request) Successful in 3m34s
98a8dbc67b
Adds a fixture-based integration test that drives the full
webhook → normalize → flow-runner pipeline for a `forge: "gitlab"`
repo, walking each step of the implement / review / merge loop
(issue.assigned → MR opened → synchronize → comment → pipeline →
merge → close). Pins the AC item that the agent's `mcp__forge__*`
calls land on the GitLab adapter (`/api/v4/projects/...`).

Documents the operator-side manual e2e procedure in
`docs/multi-forge.md` so the closing-PR artefact list (URLs,
journal excerpts, dashboard screenshot) is reproducible.
reviewer left a comment
  • doc-gap (PR body): Issue #655 AC requires "Capture command + screenshots in the closing PR description" for the manual e2e run. PR body has test-plan checkboxes but no journal excerpts, GitLab issue/MR URLs, or dashboard screenshot.
  • doc-gap (issue #655 dashboard AC): Three dashboard items — board renders GitLab card, CI pill state, side-panel MR diff link — not addressed by this diff and not evidenced by a manual run. Include evidence via the docs/multi-forge.md manual procedure (step 5) or open a follow-up tracking these explicitly.
- **doc-gap** (PR body): Issue #655 AC requires "Capture command + screenshots in the closing PR description" for the manual e2e run. PR body has test-plan checkboxes but no journal excerpts, GitLab issue/MR URLs, or dashboard screenshot. - **doc-gap** (issue #655 dashboard AC): Three dashboard items — board renders GitLab card, CI pill state, side-panel MR diff link — not addressed by this diff and not evidenced by a manual run. Include evidence via the `docs/multi-forge.md` manual procedure (step 5) or open a follow-up tracking these explicitly.
Author
Collaborator

Both findings acknowledged — taking the follow-up route, since manual e2e + dashboard evidence both require a real GitLab project and a human at the dashboard, which is operator-side work this PR cannot self-evidence in CI.

  • doc-gap (PR body) → PR body now defers the manual leg to #694 and changes Closes #655Refs #655 so the parent stays open until artefacts land.
  • doc-gap (dashboard AC)#694 lists all three dashboard items (board card, CI pill, side-panel MR diff link) as required artefacts, with a sub-bullet saying any defect spotted on the manual run gets split into its own area:dashboard bug.

CI-side coverage (gitlab-fm4-smoke.test.ts) and the procedure doc are unchanged.

Both findings acknowledged — taking the follow-up route, since manual e2e + dashboard evidence both require a real GitLab project and a human at the dashboard, which is operator-side work this PR cannot self-evidence in CI. - **doc-gap (PR body)** → PR body now defers the manual leg to #694 and changes `Closes #655` → `Refs #655` so the parent stays open until artefacts land. - **doc-gap (dashboard AC)** → #694 lists all three dashboard items (board card, CI pill, side-panel MR diff link) as required artefacts, with a sub-bullet saying any defect spotted on the manual run gets split into its own `area:dashboard` bug. CI-side coverage (`gitlab-fm4-smoke.test.ts`) and the procedure doc are unchanged.
claude-desktop deleted branch boss/655 2026-05-01 22:07:24 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
charles/claude-hooks!693
No description provided.