Skip to content

Commit c96b3bd

Browse files
docs(api-v3): record v2-sunset prerequisites for the test corpus
Two couplings that must be resolved before the v2 test files can ever be deleted: - test_jira_import_and_pushing_api.py is the only consumer of the JIRA VCR cassettes; deleting it orphans the sole coverage of the shared JIRA engine behaviors (v3 tests cover dispatch only, by design). Prerequisite: v3-keyed cassettes, naturally paired with the workflow-actions backlog item. - test_import_reimport.py is imported by the v3 corpus shim (subclasses ImportReimportMixin). Prerequisite: relocate the mixin to a shared module first.
1 parent 7c882ff commit c96b3bd

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

API_V3_PLAN.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,21 @@ schema/route surface (matching-policy read fields, `configuration_permissions`,
456456
`authorized_users` member-management) that exceeds the <30-min trivial-port bar and is already
457457
tracked as a §6 backlog checkbox — so nothing was implemented here (conservative, §10.2).
458458

459+
**⚠ v2-sunset prerequisites (do NOT delete these v2 test files without doing the step first):**
460+
461+
1. **`test_jira_import_and_pushing_api.py` is the ONLY consumer of the JIRA VCR cassettes.**
462+
Cassettes are not self-executing — deleting this suite silently orphans the sole coverage of
463+
the shared JIRA *engine* behaviors (issue transitions on mitigation/reactivation, `keep_sync`
464+
reimport flows, `enforce_verified_status` gating). The v3 JIRA tests deliberately cover only
465+
dispatch/plumbing at the service boundary and inherit engine coverage from this suite.
466+
*Before removal:* record v3-keyed cassettes (or an equivalent live-JIRA integration harness)
467+
for the engine scenarios — naturally paired with the post-alpha workflow-actions work, which
468+
makes those transitions v3-endpoint-observable.
469+
2. **`test_import_reimport.py` is imported by the v3 corpus shim.** `unittests/api_v3/
470+
import_corpus_shim.py` subclasses `ImportReimportMixin` from it (the anti-fork design).
471+
*Before removal:* relocate the mixin to a shared module (e.g. `unittests/import_corpus_mixin.py`)
472+
so the v3 corpus keeps running verbatim.
473+
459474
## 10. Implementer instructions (read before writing code)
460475

461476
1. **Never modify v2** (serializers, viewsets, urls, prefetch) or any existing test. v3 is additive. The only shared-file edits allowed: `dojo/urls.py` (mount), `requirements.txt`, settings (new constants `COUNT_CAP`, `EXPAND_BUDGET`).

0 commit comments

Comments
 (0)