test(e2e): the devops gate + delegation lane join the live smoke - #1114
Merged
Merged
Conversation
…d the arcs caught four real gaps Three scripted arcs in tests/e2e_smoke/test_devops_gate.py over the REAL choreographer verbs: (1) the infra review gate end to end — an assembled cell->root PR touching DEFAULT_INFRA_GLOBS refuses the primary reviewer's pr_pass until devops-1 co-claims via claim_gate_review and records a passed record_devops_review verdict, then composes; both rejections walked (verdict-less pr_pass, record before co-claim); (2) flag-off inertia: the identical chain passes with no devops involvement; (3) the delegation lane: a PM-assigned infra leaf flows through the normal authoring lifecycle as devops-1. The arcs immediately paid for themselves — four production gaps fixed: - roboco/mcp/flow_server.py never exposed record_devops_review: the manifest advertised it but a real devops-1 could not record a verdict. Tool added + registered. - content_notes had no devops section entry while i_am_done demands dev_notes>=min: the delegation lane could never complete. devops now authors the developer section (it IS a worktree author). - _agent_access_claim_guard had no flag-gated devops exemption (the task-level carve-out alone): every delegation-lane claim was wedged behind the assigned-cell rule. - content_actions refused the co-claimant's journal note (the verdict verbs demand a learning entry; the marker now authorizes content). Plus: the smoke harness mounts the flow_devops router (it predated the feature); devops-1 joins the seeded canonical company (static seed UUID like main-pm); dev_arc creates nested work-file parents; the i_am_done files_changed evidence leg forwards the submitting agent instead of the post-transition assignee; agent-image-smoke.yml gains a devops toolchain-smoke job (build + every pinned binary executes, no daemon).
|
Thanks for opening your first pull request on RoboCo! Quick checklist before review (most of these are enforced by CI, but worth a glance):
See CONTRIBUTING.md for the full workflow and the Code of Conduct for the community standards we follow. Welcome aboard — a maintainer will review shortly. |
This was
linked to
issues
Sep 23, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked onto #1109 (merges into the devops PR).
What
Three scripted arcs in
tests/e2e_smoke/test_devops_gate.pygive the DevOps feature its place in the live smoke suite (it previously had unit coverage only and zero e2e presence):pr_passuntil devops-1 co-claims viaclaim_gate_reviewand records apassedverdict, then composes. Both designed rejections are walked explicitly.ROBOCO_DEVOPS_ENABLEDoff passes with no devops involvement.The arcs caught four real production gaps (all fixed here)
record_devops_reviewwas advertised in the manifest but never exposed by the MCP flow server — a real devops-1 could not record a verdict.content_noteshad no devops entry whilei_am_donedemandsdev_notes>=min— the delegation lane could never complete. devops now authors the developer section.Plus harness/infra: the smoke app mounts the
flow_devopsrouter (it predated the feature); devops-1 joins the seeded canonical company at its static seed UUID;dev_arccreates nested work-file parents; thei_am_donefiles_changedevidence leg forwards the submitting agent; andagent-image-smoke.ymlgains a devops toolchain-smoke job (build + every pinned binary executes; no daemon).Verification
make e2e-smokelocally: 76 passed, 3 skipped (live-forge tests)