agentic-devtools 0.2.485__py3-none-any.whl → 0.2.486__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.2.485'
22
- __version_tuple__ = version_tuple = (0, 2, 485)
21
+ __version__ = version = '0.2.486'
22
+ __version_tuple__ = version_tuple = (0, 2, 486)
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -15,7 +15,7 @@ from pathlib import Path
15
15
  from typing import Any
16
16
  from urllib.parse import quote, unquote
17
17
 
18
- from ...state import get_state_dir, is_safe_dir_segment, read_modify_write_state
18
+ from ...state import get_state_dir, get_value, is_safe_dir_segment, read_modify_write_state
19
19
  from ..subprocess_utils import run_safe
20
20
  from .auth import get_auth_headers, get_pat
21
21
  from .config import (
@@ -1149,6 +1149,12 @@ def resolve_review_artifact_dir_name(
1149
1149
  file=sys.stderr,
1150
1150
  )
1151
1151
  return fallback
1152
+ configured_dir_name = get_value("review.artifact_dir_name")
1153
+ configured_pr_id = get_value("review.artifact_dir_pr_id")
1154
+ if isinstance(configured_dir_name, str) and str(configured_pr_id) == str(pull_request_id):
1155
+ configured_dir_name = configured_dir_name.strip()
1156
+ if configured_dir_name and is_safe_dir_segment(configured_dir_name):
1157
+ return configured_dir_name
1152
1158
  candidate = _discover_commit_hash_short_fallback(pull_request_id, get_state_dir())
1153
1159
  if candidate is not None:
1154
1160
  resolved = candidate
@@ -685,6 +685,8 @@ def generate_review_prompts(
685
685
  )
686
686
  prompts_dir = temp_dir / "pull-request-review" / dir_name
687
687
  prompts_dir.mkdir(parents=True, exist_ok=True)
688
+ set_value("review.artifact_dir_name", dir_name)
689
+ set_value("review.artifact_dir_pr_id", str(pull_request_id))
688
690
 
689
691
  # Load pr_details from temp file if not provided
690
692
  if pr_details is None:
@@ -1667,6 +1669,11 @@ def setup_pull_request_review() -> None:
1667
1669
 
1668
1670
  repo_review_focus_areas = load_review_focus_areas(repo_root)
1669
1671
 
1672
+ artifact_dir_name = prompts_dir.name
1673
+ if not isinstance(artifact_dir_name, str) or not artifact_dir_name:
1674
+ artifact_dir_name = ""
1675
+ artifact_dir = (Path("pull-request-review") / artifact_dir_name).as_posix()
1676
+
1670
1677
  workflow_context = {
1671
1678
  "pull_request_id": pull_request_id,
1672
1679
  "jira_issue_key": jira_issue_key or "",
@@ -1678,6 +1685,8 @@ def setup_pull_request_review() -> None:
1678
1685
  "pr_url": pr_url,
1679
1686
  "source_code_platform": "AzureDevOps",
1680
1687
  "repo_review_focus_areas": repo_review_focus_areas or "",
1688
+ "review_artifact_dir_name": artifact_dir_name,
1689
+ "review_artifact_dir": artifact_dir,
1681
1690
  }
1682
1691
 
1683
1692
  set_workflow_state(
@@ -1702,6 +1711,8 @@ def setup_pull_request_review() -> None:
1702
1711
  "repo_review_focus_areas": repo_review_focus_areas or "",
1703
1712
  "pr_url": pr_url,
1704
1713
  "source_code_platform": "AzureDevOps",
1714
+ "review_artifact_dir_name": artifact_dir_name,
1715
+ "review_artifact_dir": artifact_dir,
1705
1716
  }
1706
1717
 
1707
1718
  load_and_render_prompt(
@@ -1844,6 +1844,8 @@ def advance_pull_request_review_workflow(step: str | None = None) -> None:
1844
1844
  "pr_url": context.get("pr_url", ""),
1845
1845
  "source_code_platform": context.get("source_code_platform", ""),
1846
1846
  "repo_review_focus_areas": context.get("repo_review_focus_areas", ""),
1847
+ "review_artifact_dir_name": context.get("review_artifact_dir_name", ""),
1848
+ "review_artifact_dir": context.get("review_artifact_dir", ""),
1847
1849
  # Progress variables (for delegate step) sourced from manifest + ledger.
1848
1850
  "completed_count": progress["completed_count"],
1849
1851
  "pending_count": progress["pending_count"],
@@ -19,13 +19,23 @@ Reading diffs directly without writing/accepting answers does not update review
19
19
  state, and a review that never reaches the ledger leaves the PR thread showing
20
20
  `0/{{total_count}} reviewed`.
21
21
 
22
+ ## Shared Artifact Directory
23
+
24
+ Both execution modes use the same resolved PR-review artifact base:
25
+ `<state_dir>/{{review_artifact_dir}}/`
26
+ (directory name: `{{review_artifact_dir_name}}`). Treat this as the base for
27
+ `manifest.json`, each `promptFile`, the `answers/` directory, and the shared
28
+ Jira, file, and thread snapshots. Do not resolve any of those files relative to the workflow state root.
29
+
22
30
  ### Mode A: Multi-Agent Environment (VS Code Chat)
23
31
 
24
- When subagent spawning is available, for **each** file in `manifest.json`:
32
+ When subagent spawning is available, for **each** file in
33
+ `<state_dir>/{{review_artifact_dir}}/manifest.json`:
25
34
 
26
35
  1. Spawn `pr-review/file-reviewer@<fileKey>` with the prompt file named in the
27
- `promptFile` field of its `manifest.json` entry (e.g. `file-abc123def456.md`),
28
- `pr-context.md`, and the bounded cluster context. It returns a **draft**
36
+ `promptFile` field of the artifact directory's `manifest.json` entry
37
+ (e.g. `file-abc123def456.md`), the artifact directory's `pr-context.md`,
38
+ and the bounded cluster context. It returns a **draft**
29
39
  answer via `agdt-file-review-write` and never spawns subagents.
30
40
  2. If the reviewer returned `needs-info`, gather the requested context and
31
41
  re-spawn (bounded retries) before proceeding.
@@ -21,6 +21,24 @@ shared, budget-bounded understanding every per-file reviewer will rely on.
21
21
 
22
22
  {% endif %}
23
23
 
24
+ ## Shared Review Artifacts
25
+
26
+ Use the resolved PR-review artifact directory supplied by setup as the authoritative
27
+ base: `<state_dir>/{{review_artifact_dir}}/` (directory name:
28
+ `{{review_artifact_dir_name}}`). Load all shared review snapshots from that
29
+ directory:
30
+
31
+ - `pull-request-jira-issue.json`
32
+ - `pull-request-files.json`
33
+ - `pull-request-threads.json`
34
+ - `manifest.json`
35
+
36
+ Never look for shared review snapshots directly under `<state_dir>/`; in particular,
37
+ `pull-request-jira-issue.json` is not a workflow-root artifact. If the rendered context
38
+ is unavailable, derive the directory with the existing
39
+ `resolve_review_artifact_dir_name()` helper under
40
+ `get_state_dir() / "pull-request-review"` rather than constructing a second path.
41
+
24
42
  ## Actions
25
43
 
26
44
  1. **Build the manifest + triage** (deterministic, machine-readable):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agentic-devtools
3
- Version: 0.2.485
3
+ Version: 0.2.486
4
4
  Summary: Agentic devtools integrate Jira, DevOps & more
5
5
  Author: ayaiayorg
6
6
  License-Expression: MIT
@@ -1,5 +1,5 @@
1
1
  agentic_devtools/__init__.py,sha256=J_Zw_vWKghk-cLmqI83hXQmSiS8zMhGIHM5WPLDkZuo,242
2
- agentic_devtools/_version.py,sha256=QCLwHW_TUf74dz58OXuRqav1YNxFEF1EjYTDb9mhm7k,524
2
+ agentic_devtools/_version.py,sha256=8DXKSERy3QPkphptCVAyMxXknTmOJb62IrN2eQxYV-w,524
3
3
  agentic_devtools/agdt_gitignore.py,sha256=aBPBQe7M0GLH8NIp1NsyN9ZiO80fNGOi46IcT5A4SK4,1569
4
4
  agentic_devtools/background_tasks.py,sha256=IVC1XJKQzPBP8wCRNCZX_iZCg9FJY_GBUzddSJj7xqw,17473
5
5
  agentic_devtools/config.py,sha256=DEVxTVZhsQbVQwO9qdB_1h19aBpjMzF6xJY_ePYLGLs,15629
@@ -100,7 +100,7 @@ agentic_devtools/cli/azure_devops/commands.py,sha256=JmpfB3n2pBCXPf8HKaFafzibvBa
100
100
  agentic_devtools/cli/azure_devops/config.py,sha256=9ZluaUXXu0hd7_H-jaYRoleE2Jqh0DUHitjtUKLCGeA,7736
101
101
  agentic_devtools/cli/azure_devops/consolidated_review.py,sha256=Qk5Q1z44NnXwNyXVRHQTQ_wgppc47AiCU4ayowryCNA,36046
102
102
  agentic_devtools/cli/azure_devops/consolidated_scaffold.py,sha256=kMcV1TyVLIzWcVjkCu0wfpyWjd0xNURnOATgGBH-RKc,19697
103
- agentic_devtools/cli/azure_devops/helpers.py,sha256=KCqtgQr8M4jIgGBnDILQ4HIhBdW9XDIFEOcAI2d9GMA,42036
103
+ agentic_devtools/cli/azure_devops/helpers.py,sha256=377eonbdKUdTktmoRlZ_EBDlbhVRLoB9SvltvPesLmg,42466
104
104
  agentic_devtools/cli/azure_devops/mark_reviewed.py,sha256=HunwOzrK-9M0CwOhy7pWLvMCULjlgiYLGxmO1n2Vj18,47603
105
105
  agentic_devtools/cli/azure_devops/marker.py,sha256=EBc4gcDt4FW-iFsaRlMwheNlGbzpf9RAEq7PcNDG35M,9696
106
106
  agentic_devtools/cli/azure_devops/pipeline_commands.py,sha256=FJ-EVKuFTXLdbJBr140La7p3Ovv4kHcUfr4U7lBynqE,22234
@@ -121,7 +121,7 @@ agentic_devtools/cli/azure_devops/pr_review_write.py,sha256=ndOrunnZdv5VwAPfs0_v
121
121
  agentic_devtools/cli/azure_devops/pr_summary_commands.py,sha256=ylJx9WiW6CQYWQw1NAv5DHuB_3bxnyPhWRmKMTuoESk,1466
122
122
  agentic_devtools/cli/azure_devops/pull_request_details_commands.py,sha256=iGVm5pWGgkX5c1zQ_XP51Z3V6JEgVXZmrlREGeiHB1k,21199
123
123
  agentic_devtools/cli/azure_devops/review_attribution.py,sha256=cBMPdrHY7u2z1VRsSZc3RXuxB4-6Iu6Ci6Omz9yOeNk,12719
124
- agentic_devtools/cli/azure_devops/review_commands.py,sha256=QrumguRoJWxoTK9pXjOWODlVdLmes56s6keuQKSzgN4,70527
124
+ agentic_devtools/cli/azure_devops/review_commands.py,sha256=tBQKbXT2ZWbdnIjvQ3vhl6ecwhNttn_RQlJ4zEa0RyQ,71101
125
125
  agentic_devtools/cli/azure_devops/review_helpers.py,sha256=at5PWerzr7Pkd5E0TjQD07Sz88FQHyjlX2mhLfiWEb4,11935
126
126
  agentic_devtools/cli/azure_devops/review_jira.py,sha256=82c2RmvIL2bUbjCHkTCNH_m3kWzkJb3nJyGQv0326ms,10179
127
127
  agentic_devtools/cli/azure_devops/review_reviewer_models.py,sha256=TmYBe6Mx253QLxuRcoN5pudNvFl2rYiZ2D-AlBqjluE,6350
@@ -493,7 +493,7 @@ agentic_devtools/cli/workflows/advancement.py,sha256=wD1GO4vFuAbQUEvqs7YiYs2pi1U
493
493
  agentic_devtools/cli/workflows/applied_suggestions.py,sha256=vRDYk5nokfMtmiQzCanBTBmRRFWIPNZILJDQ4hIb7nE,9306
494
494
  agentic_devtools/cli/workflows/base.py,sha256=kwL3PF_e-8YpPnEP1N_Pjh7jY2ZGkCsofroJoMDYoh4,11424
495
495
  agentic_devtools/cli/workflows/checklist.py,sha256=unXfzFcFFOQ7MIRnvZ72u6PIAdaxpyakjSd2AC239cI,10009
496
- agentic_devtools/cli/workflows/commands.py,sha256=1Xvp1xd4gMszcdO-8b16g0wQq2KwB9z1_5rohSSOt8U,188712
496
+ agentic_devtools/cli/workflows/commands.py,sha256=AewT6Wk7ByJxVQtVVUNmqo1RT_k5hz0hgWE0mLEpRNk,188864
497
497
  agentic_devtools/cli/workflows/manager.py,sha256=eHN3qNBLqVAo5Vwfivie5T4MKE58ZzEROar3fPOwawE,29388
498
498
  agentic_devtools/cli/workflows/orchestrator_commands.py,sha256=DzoYpWWI-nC4jzbEU_WMOUqhnTuR6j38VrP5mcAN2Rg,49814
499
499
  agentic_devtools/cli/workflows/preflight.py,sha256=EpXW_tnKOITz6o7x7rmmHMOj2ZAvfFDjQ9ZGOPYa6H4,15242
@@ -718,9 +718,9 @@ agentic_devtools/prompts/pr-merge-orchestrator/default-init-prompt.md,sha256=fd9
718
718
  agentic_devtools/prompts/pull-request-review/default-completion-prompt.md,sha256=GVxvvN340H_IahaKGd57IPawx9WyWPP08ZRu4DCsxk8,858
719
719
  agentic_devtools/prompts/pull-request-review/default-consolidate-and-submit-prompt.md,sha256=MZaWZE5Fk2aTFT6h5rsT2bdGtupdB454N0pZWkD6gFQ,1267
720
720
  agentic_devtools/prompts/pull-request-review/default-decision-prompt.md,sha256=TYqMfyoTGnCNhshdV8Incr786lVaI8Z0kYqO6CEyoQ4,1627
721
- agentic_devtools/prompts/pull-request-review/default-delegate-prompt.md,sha256=4NHXNPkU9zAqKqNfiKR1bwcbGyVIMkC3Uy1I4KB904A,5269
721
+ agentic_devtools/prompts/pull-request-review/default-delegate-prompt.md,sha256=dCRhpzgK2ZsZdNBSz0GqceKLYhhrT8_QchPsjCwdBhA,5751
722
722
  agentic_devtools/prompts/pull-request-review/default-initiate-prompt.md,sha256=jyN8qwxuIDEYT1zqNvhbGldCse-ZftReB37EPrXIyMM,573
723
- agentic_devtools/prompts/pull-request-review/default-pr-synthesis-prompt.md,sha256=5mwfzIB6hsY6UgUnmto4dhhU5eGW-aMaUQjqaG2c6zU,2322
723
+ agentic_devtools/prompts/pull-request-review/default-pr-synthesis-prompt.md,sha256=3XsG5rFlGrzHsONsCCBEesjRTafGyQvZOOU8VG_TpFg,3056
724
724
  agentic_devtools/prompts/update-jira-issue/default-initiate-prompt.md,sha256=Ynpo4XEdFu90Jl3PnVwh_Z1l7odk5K_ZSgTMZAt12eE,2885
725
725
  agentic_devtools/prompts/update-jira-issue/default-make-updates-prompt.md,sha256=1ndc1cuOMPR5BLwiBF9gILiL3FbCKDaPj0UrlRmc9tE,2360
726
726
  agentic_devtools/prompts/work-on-jira-issue/default-checklist-creation-prompt.md,sha256=_9Cata68fHKEJ1f7Fhj27NT4QCZQgtMNffswyi-8XMI,1940
@@ -1103,8 +1103,8 @@ agentic_devtools/_bundled_skills/skills/speckit-normalize/SKILL.md,sha256=ZTaiy5
1103
1103
  agentic_devtools/_bundled_skills/skills/write-github-commit-message/SKILL.md,sha256=Ep1lR8NDN117Iytj172VZgqazFiLpJ56Z7RXgaTnxR8,2626
1104
1104
  agentic_devtools/_bundled_skills/skills/write-github-commit-message/commit-types.md,sha256=bTy_t68ZD6R87rFIzq9wybTu8Wudoahb7nB9IWC4bFo,1839
1105
1105
  agentic_devtools/resources/setup-templates/llm-providers.copilot.yml,sha256=GGJFYJdhMWP-AW4pTHUcRcCB5iUPKr-_drk-5lhiAW4,295
1106
- agentic_devtools-0.2.485.dist-info/METADATA,sha256=91bI_xdv1bhBPH0x8kC181i9LgG0Up5jWL5L9OD0V90,34732
1107
- agentic_devtools-0.2.485.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
1108
- agentic_devtools-0.2.485.dist-info/entry_points.txt,sha256=sp2BXe3h4yrKWh8HevhTczujcLabdjOL80rM-hUETQE,12841
1109
- agentic_devtools-0.2.485.dist-info/licenses/LICENSE,sha256=yBEDdICksxhBYLWoERKp9MTqwGnUF6Ryj9BTLwXTc6k,1082
1110
- agentic_devtools-0.2.485.dist-info/RECORD,,
1106
+ agentic_devtools-0.2.486.dist-info/METADATA,sha256=dclGdgYMaDZvQk5SVWZvWQGUt3VKHGQhLmTsHtgdXlA,34732
1107
+ agentic_devtools-0.2.486.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
1108
+ agentic_devtools-0.2.486.dist-info/entry_points.txt,sha256=sp2BXe3h4yrKWh8HevhTczujcLabdjOL80rM-hUETQE,12841
1109
+ agentic_devtools-0.2.486.dist-info/licenses/LICENSE,sha256=yBEDdICksxhBYLWoERKp9MTqwGnUF6Ryj9BTLwXTc6k,1082
1110
+ agentic_devtools-0.2.486.dist-info/RECORD,,