emrg: open-source task allow_self_merge config option (rant 2026-08-14T12:47:25) - #787
Conversation
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Per rant 2026-08-14T12:47:25: allow_self_merge (default false) documented in open_source_prompt.md 0.2 role section + ROLE LOCK note + Forbidden line made conditional via Jinja2 (task.get('allow_self_merge', false) — scheduler already injects task context, zero Python changes). New render test covers absent/true/false states. pytest 805 passed (804 → 805, Agent.md synced).
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Independent re-verification: Jinja2 conditional {% if task.get('allow_self_merge', false) %} on the Forbidden self-merge line renders correctly (tested in PR worktree at c29fc2d: 3-state render test absent/true/false PASSES, 71/71 scheduler + 4/4 prompt-build tests green); role-section doc + ROLE LOCK self-merge opt-in note accurate; no Python code change needed (task dict already in template context); default (unconfigured) behavior byte-identical; Agent.md 804→805 doc-count sync correct; Test CI 31771313432 SUCCESS; MERGEABLE. Needs 1 more ✅.
argszero
left a comment
There was a problem hiding this comment.
✅ LGTM — cycle. Third consecutive approval (cycles 659 + parallel + 660). Fresh re-verification of head c29fc2d: Jinja2 conditional {% if task.get('allow_self_merge', false) %} renders correctly (3-state render test absent/true/false), role-section doc + ROLE LOCK self-merge opt-in note accurate, default behavior unchanged, Agent.md doc-count 804→805 synced; Test CI test + test-windows SUCCESS. Mergeable + CLEAN.
Host rant 2026-08-14T12:47:25: open-source tasks currently hard-forbid merging your own PRs. Add an opt-in
allow_self_merge(bool, default false) to the task's tasks.yml config so a task may be configured to let its Committer review/merge its own PRs.Changes:
emrg/server/open_source_prompt.md:allow_self_merge(default false) — when true a Committer may review/merge own PRs; other people's PRs always follow the roletask.get('allow_self_merge', false)is truetests/test_scheduler.py: +1 render test covering all three states (absent / true / false)Agent.md: pytest count 804 → 805 (doc-count guard)The scheduler already injects the
taskdict into the template context, so no Python code changes needed. Default (unconfigured) behavior is byte-identical to before.Verification: pytest 805 passed, import + CLI OK.