From 695ee1fced11dbdd12b065982635113ae7c3e0f5 Mon Sep 17 00:00:00 2001 From: golaraj Date: Wed, 19 Aug 2026 20:12:15 -0700 Subject: [PATCH] Open Forge PRs ready for review Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: b8cf0691-0fe3-4d67-92ce-ce2a529c400c --- .../repo-dreamer/skills/repository-skill-forge/SKILL.md | 3 +++ .../repository-skill-forge/tests/test_stateless_forge.py | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md b/plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md index fea7d73..89de6be 100644 --- a/plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md +++ b/plugins/repo-dreamer/skills/repository-skill-forge/SKILL.md @@ -375,6 +375,9 @@ Set `$SELECTED_PROPOSAL_DIR` to the selected run-local skill directory and `$SKILL_PATH` to its repository-relative destination before the checkout validation steps. +For every `create` action, pass `draft: false` explicitly so newly created +Forge PRs open ready for review. Never omit the field or rely on the platform +default. For a create action, stage only the selected proposal. Before copying, reject symlinks in its source tree, every existing destination path component, and every existing destination entry mapped from a selected source entry. Compare diff --git a/plugins/repo-dreamer/skills/repository-skill-forge/tests/test_stateless_forge.py b/plugins/repo-dreamer/skills/repository-skill-forge/tests/test_stateless_forge.py index 1c5254a..111a1d5 100644 --- a/plugins/repo-dreamer/skills/repository-skill-forge/tests/test_stateless_forge.py +++ b/plugins/repo-dreamer/skills/repository-skill-forge/tests/test_stateless_forge.py @@ -278,5 +278,13 @@ def test_selection_rejects_invalid_rank(self) -> None: ledger.select([invalid], []) +class PublicationContractTests(unittest.TestCase): + def test_forge_opens_new_pull_requests_ready_for_review(self) -> None: + contract = (SKILL_DIR / "SKILL.md").read_text(encoding="utf-8") + + self.assertIn("pass `draft: false` explicitly", contract) + self.assertIn("open ready for review", contract) + + if __name__ == "__main__": unittest.main()