Skip to content

emrg: open-source task allow_self_merge config option (rant 2026-08-14T12:47:25) - #787

Merged
argszero merged 1 commit into
masterfrom
feature/opensource-allow-self-merge
Aug 14, 2026
Merged

emrg: open-source task allow_self_merge config option (rant 2026-08-14T12:47:25)#787
argszero merged 1 commit into
masterfrom
feature/opensource-allow-self-merge

Conversation

@argszero

Copy link
Copy Markdown
Owner

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:
    • 0.2 role confirmation (tasks.yml branch): documents allow_self_merge (default false) — when true a Committer may review/merge own PRs; other people's PRs always follow the role
    • ROLE LOCK: added "Self-merge opt-in" note
    • Forbidden: "Do not merge your own PRs" becomes conditional — Jinja2 appends the override only when task.get('allow_self_merge', false) is true
  • tests/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 task dict 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.

@argszero argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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 argszero left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ 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.

@argszero
argszero merged commit aca973e into master Aug 14, 2026
2 checks passed
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