MF-6: Cross-adapter ForgePort conformance suite #297
Labels
No labels
area:agents
area:dashboard
area:database
area:design
area:design-review
area:flows
area:infra
area:meta
area:security
area:sessions
area:webhook
area:workdir
security
type:bug
type:chore
type:meta
type:user-story
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
charles/claude-hooks#297
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
As a platform engineer, I want one test file that exercises every
ForgePortmethod against every adapter, so that any new method added to the port must pass on all three forges before the PR merges.Emerges alongside MF-1 — the harness is factored out of the first non-Forgejo adapter's tests once it exists, not written speculatively before.
Acceptance criteria
Harness
apps/server/src/infrastructure/forge/forge-port-conformance.test.ts.{ forgejo, github, gitlab }(gitlab slot ready even if MF-2 hasn't landed — the parameter set is extensible).ForgePortmethod against recorded fixtures — no live API traffic.Fixtures
apps/server/test/fixtures/forge/{forge}/{scenario}.json.happy-get-issue.json,rate-limit-list-issues.json.Scenarios per method
X-RateLimit-Remaining: 0).CI
just qaruns the conformance suite on every PR.Documentation
Out of scope
just forge-live) as a follow-up.References
specs/multi-forge.md§ MF-6.apps/server/src/infrastructure/forge/forgejo-port.ts— source of truth for the method surface under test.Dependencies