mirror of
https://github.com/azaion/annotations.git
synced 2026-06-21 08:31:06 +00:00
13e9731a8f
autodev existing-code Step 4 (Code Testability Revision) — invoked
refactor skill in guided mode. Phase 0 (baseline) + Phase 1 (discovery
+ validation) + Phase 2 (analysis + task decomposition) artifacts.
list-of-changes.md identifies two surgical fixes required before the
67-scenario blackbox suite (already specified in _docs/02_document/
tests/) can run against the SUT:
C01 — env-gate JWKS RequireHttps on ASPNETCORE_ENVIRONMENT=E2ETest
(architecture.md Open Risks Section 6 prescribes this; the
mock issuer in e2e/docker-compose.test.yml serves plain HTTP)
C02 — DNS-resolve RABBITMQ_HOST in FailsafeProducer.ProcessQueue
(IPAddress.Parse currently throws on every drain cycle when
host is a service name; latent production-relevant bug, not
just a test-env issue)
Two task specs in _docs/02_tasks/todo/ (3 story points total).
Independent — no inter-task dependency.
Tracker: local — Atlassian MCP reported errored at task-creation
time. Deferred Jira writes (epic + 2 tickets) recorded in
_docs/_process_leftovers/2026-05-14_testability-tracker.md for
replay when MCP is restored.
Items explicitly deferred to Step 8 Refactor are enumerated in
list-of-changes.md "Deferred to Step 8 Refactor" — including the
FailsafeProducer static helper (F3), the JWKS GetAwaiter().GetResult()
hot path, RB-05/06/08 backlog items, and the MediaService ffprobe
empty-catch.
State: Step 4 in_progress, sub_step 3 (phase-2-task-decomposition).
Co-authored-by: Cursor <cursoragent@cursor.com>
69 lines
4.3 KiB
Markdown
69 lines
4.3 KiB
Markdown
# Deferred Tracker Writes — 2026-05-14 (testability refactor)
|
|
|
|
**Created**: 2026-05-14T19:15+03:00
|
|
**Trigger**: Atlassian MCP (Jira) reported `errored` status during `/autodev` Step 4 → refactor skill Phase 2c (Create Epic) and 2d (Task Decomposition).
|
|
**User decision**: skipped the structured tracker gate; autodev proceeded in `tracker: local` mode and recorded these deferred writes for replay.
|
|
**Replay target**: Jira at `denyspopov.atlassian.net`, project key `AZ`.
|
|
|
|
## Pending Writes
|
|
|
|
### 1. Epic — `01-testability-refactoring`
|
|
|
|
- **Type**: Epic
|
|
- **Summary**: `01-testability-refactoring` — gate JWKS HTTPS + fix RabbitMQ host resolution
|
|
- **Description**: Source of truth lives in `_docs/04_refactoring/01-testability-refactoring/list-of-changes.md`. This epic groups the two surgical changes needed to make the documented test suite (`_docs/02_document/tests/`) runnable against the SUT.
|
|
- **Story points**: 3 (sum of child tasks)
|
|
- **Project**: AZ
|
|
- **Target status**: To Do
|
|
|
|
### 2. Story / Task — JWKS HTTPS env gate (C01)
|
|
|
|
- **Type**: Story (or Task — match existing project convention)
|
|
- **Summary**: `[refactor] Gate JWKS HTTPS requirement on ASPNETCORE_ENVIRONMENT=E2ETest`
|
|
- **Description**: full body lives in `_docs/02_tasks/todo/01_refactor_jwks_https_env_gate.md` — copy verbatim into the Description field on replay.
|
|
- **Story points**: 1
|
|
- **Epic link**: the epic created in write 1
|
|
- **Project**: AZ
|
|
- **Target status**: To Do
|
|
- **Replay action**: after the ticket is created, rename the file to `_docs/02_tasks/todo/{AZ-NNNN}_refactor_jwks_https_env_gate.md` and update the `**Task**:` and `**Tracker**:` headers inside the file.
|
|
|
|
### 3. Story / Task — RabbitMQ host DNS resolution (C02)
|
|
|
|
- **Type**: Story (or Task — match existing project convention)
|
|
- **Summary**: `[refactor] Resolve RABBITMQ_HOST via DNS in FailsafeProducer`
|
|
- **Description**: full body lives in `_docs/02_tasks/todo/02_refactor_rabbitmq_host_dns_resolution.md` — copy verbatim into the Description field on replay.
|
|
- **Story points**: 2
|
|
- **Epic link**: the epic created in write 1
|
|
- **Project**: AZ
|
|
- **Target status**: To Do
|
|
- **Replay action**: after the ticket is created, rename the file to `_docs/02_tasks/todo/{AZ-NNNN}_refactor_rabbitmq_host_dns_resolution.md` and update the `**Task**:` and `**Tracker**:` headers inside the file.
|
|
|
|
## Replay Procedure
|
|
|
|
When Atlassian MCP is restored:
|
|
|
|
1. From the workspace root, invoke the autodev (or run leftovers replay manually):
|
|
- Create the epic per write 1.
|
|
- For each task write, create the issue with the documented Summary, Description (verbatim from the task file), Story points, and Epic link.
|
|
2. Update the task files in `_docs/02_tasks/todo/`:
|
|
- Rename each file to use the assigned `AZ-NNNN` key.
|
|
- Update the `**Task**:` header line.
|
|
- Update the `**Tracker**:` line from `pending` to the assigned ID.
|
|
- Update the `**Epic**:` line from `pending — 01-testability-refactoring` to the assigned epic ID.
|
|
3. Update `_docs/02_tasks/_dependencies_table.md` to reference the assigned IDs.
|
|
4. Update `_docs/_autodev_state.md`: change `tracker: local` to `tracker: jira` once all replays complete.
|
|
5. Delete this leftovers file.
|
|
|
|
## Blocker Reason
|
|
|
|
Atlassian MCP server is reporting `errored` per `/Users/obezdienie001/.cursor/projects/Users-obezdienie001-dev-azaion-suite-annotations/mcps/user-atlassian-mcp/STATUS.md`. Likely cause: auth token expired or MCP server restart pending. Resolution path: re-authenticate from Cursor Settings → MCP Servers → user-atlassian-mcp.
|
|
|
|
## Hard Gates Bypassed? — No
|
|
|
|
Per `tracker.mdc` Leftovers Mechanism, only **non-user-input** blockers may be deferred. The user-input gates that *cannot* be deferred (scope, approval, choice between alternatives, irreversible actions) were all answered before reaching this write step:
|
|
|
|
- C01 + C02 list-of-changes approved by user via the Phase 1 BLOCKING gate (option A).
|
|
- The tracker mode (local vs. Jira) was surfaced to the user; the user skipped the structured choice and let autodev continue with the information available, which the orchestrator interpreted as "proceed in local mode and record leftovers" — consistent with the user's prior explicit approval of the list-of-changes scope.
|
|
|
|
This file is appropriate for the leftovers mechanism — no user clarification is required to replay these writes; only the MCP being restored.
|