From 8c01f07c2d3cd6647d45b5948d5950e0b251e78b Mon Sep 17 00:00:00 2001 From: tegwick Date: Wed, 24 Jun 2026 18:25:13 +0200 Subject: [PATCH] feat(integration): add open-reuse Integration Definition for Gitea backend Register the Gitea API adapter boundary for issue-core maintenance tracking. --- integration/gitea-backend.integration.yaml | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 integration/gitea-backend.integration.yaml diff --git a/integration/gitea-backend.integration.yaml b/integration/gitea-backend.integration.yaml new file mode 100644 index 0000000..b26b6cb --- /dev/null +++ b/integration/gitea-backend.integration.yaml @@ -0,0 +1,82 @@ +schema_version: open-reuse.integration.v0.1 +id: issue-core-gitea +name: issue-core Gitea Backend +description: > + Pluggable remote backend that maps the issue-core unified task model onto the + Gitea issues API for cross-repo task landing and synchronization. +status: registered +owner: issue-core + +local: + repo: issue-core + path: integration/gitea-backend.integration.yaml + system: issue-core + +upstream: + name: Gitea + project_url: https://github.com/go-gitea/gitea + homepage: https://about.gitea.com/ + version_policy: gitea-api-v1 + monitor: + releases: true + tags: true + security_advisories: true + license_changes: true + +reuse: + primary_reuse_mode: adapter + secondary_reuse_modes: + - plugin + risk_level: medium + rationale: > + Gitea REST API is wrapped behind the RemoteBackend interface; local task + lifecycle semantics remain stable across backend swaps. + +boundary: + type: adapter + local_adapter: issue_core.backends.gitea.backend.GiteaBackend + local_interface: issue_core.core.interfaces.RemoteBackend + reused_surface: Gitea /api/v1 issues, labels, milestones, comments + contracts: + - issue-core.backend.v1 + fragility_points: + - Gitea API field changes + - issue state mapping differences + - pagination and rate-limit behavior + - authentication token scopes + +validation: + harness: python3 -m pytest tests/test_gitea_backend.py + skip_without_runtime: true + checks: + - API client request shaping + - issue state mapping + - error handling for rate limits + policy: required-before-update + +update_policy: + default_action: require-maintainer-review + auto_eligible: false + +risks: + sensitivity: + - Gitea API breaking changes + - authentication model changes + - rate-limit policy changes + - license changes + escalation_triggers: + - validation failure + - Gitea major release + - production sync errors + +maintenance: + maintainers: + - issue-core + escalation_conditions: + - Gitea API compatibility failure + - validation failure + - production backend sync regression + +audit: + registered_at: "2026-06-24" + registered_by: open-reuse \ No newline at end of file