Skip to content

Feature/update docs v2#59

Open
csoceanu wants to merge 8 commits into
forge-sdlc:mainfrom
csoceanu:feature/update-docs-v2
Open

Feature/update docs v2#59
csoceanu wants to merge 8 commits into
forge-sdlc:mainfrom
csoceanu:feature/update-docs-v2

Conversation

@csoceanu
Copy link
Copy Markdown
Contributor

@csoceanu csoceanu commented May 28, 2026

Summary

Adds support for updating documentation that lives in a separate repository from the code. When the forge.docs_repo Jira project property is set, Forge automatically updates the docs repo after a code PR is merged.

  • New node update_docs_repo — post-merge node that clones both repos, runs the update-docs skill with the code repo mounted read-only, and creates a fork-based PR for the docs changes
  • New Jira property forge.docs_repo — optional project property pointing to the docs repo (owner/repo format)
  • extra_mounts in ContainerRunner — allows mounting additional read-only volumes into containers
  • Wired into both workflows — bug: post_merge_summary → update_docs_repo → END, feature: human_review_gate → update_docs_repo → complete_tasks
  • Non-blocking — if forge.docs_repo is not set or the update fails, the workflow proceeds normally
  • Improved update-docs skill — broader file discovery, case-insensitive grep (-rlFi), two-pass evaluation, "review beyond grep" step, skip auto-generated files

How it works

  1. After a code PR is merged, update_docs_repo checks forge.docs_repo via Jira project properties
  2. If set (and different from the code repo), clones the code repo's fork branch + the docs repo
  3. Runs the update-docs skill in a container with both repos mounted (/workspace = docs, /code-repo = code read-only)
  4. If the agent made changes: forks the docs repo, pushes, creates a PR, posts the link as a Jira comment
  5. Cleans up both workspaces

Test plan

  • 13 unit tests (routing, Jira client, container mounts) — all pass
  • 936 total unit tests — no regressions
  • Both graphs compile
  • Ruff clean

csoceanu and others added 7 commits May 26, 2026 13:00
When forge.docs_repo Jira project property is set, the
update_documentation node clones the separate docs repo, runs
the update agent in a container with both repos mounted (code
repo read-only, docs repo read-write), and creates a fork-based
PR for the docs changes.

Changes:
- Add get_project_docs_repo() to JiraClient for reading the
  optional forge.docs_repo project property
- Add extra_mounts parameter to ContainerRunner for mounting
  additional read-only volumes into containers
- Expand docs_updater node with _update_separate_docs_repo()
  that handles clone, dual-mount container run, fork, push,
  and PR creation
- Add update-docs-separate.md prompt template that tells the
  agent where both repos are mounted
- Add docs_pr_url field to feature and bug workflow state
- Improve update-docs skill: broader file discovery, -rlFi grep,
  two-pass evaluation, step 6 review beyond grep, always read
  README, skip auto-generated files, add new information from
  diff to existing docs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add "Documentation Update" step to workflow diagrams and tables
- Add forge.docs_repo project property to config documentation

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Move separate docs repo logic from docs_updater.py into a dedicated
update_docs_repo node that runs post-merge. When forge.docs_repo is
set, clones both repos, runs the update agent with the code repo
mounted read-only, and creates a fork-based PR for the docs changes.

Wire into both workflows:
- bug: post_merge_summary → update_docs_repo → END
- feature: human_review_gate → update_docs_repo → complete_tasks

Non-blocking — failures log a warning and proceed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
# Conflicts:
#	src/forge/workflow/feature/graph.py
Update bug workflow guide, config reference, README, and workflow
graph to reflect the new post-merge docs repo update step and the
forge.docs_repo Jira project property.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@csoceanu csoceanu closed this May 28, 2026
@csoceanu csoceanu reopened this May 28, 2026
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant