Skip to content

Complete landing workflow v1: merge-ready queue on the gunbc-served dashboard lane — only PRs at the operator decision boundary, typed blockers for everything else, evidence inspection, one admitted merge/enqueue action; thin actor projections, no Actor carrier - #7573

Merged
briansrls merged 19 commits into
mainfrom
session/eager-seal-327
Aug 1, 2026

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Aug 1, 2026 •

Copy link
Copy Markdown
Contributor

Worker attestation

  • Title describes the change.
  • PR body summarizes what and why.
  • Focused tests are named below and pass.
  • No GitHub issue is closed; this is dashboard work item node://adhoc-1b15279f-21c.
  • Commits are this session’s implementation plus the session-dashboard WIP snapshots and merges of current main.
  • No secrets, credentials, generated binaries, or large artifacts are staged.

Summary

Adds landing workflow v1 to the existing gunbc-served dashboard. The landing page projects the dashboard-owned merge_criteria summary into a merge-ready queue or exhaustive typed blocker rows, exposes review/check evidence, shows untracked GitHub PRs outside admission, and offers one server-re-admitted exact-head squash-merge action with a receipt. Actor information remains a thin projection over existing work-item/session/provider/branch facts; no Actor carrier is introduced.

The live seam is fail-closed: unavailable or malformed dashboard/GitHub observations refuse, malformed authority rows are validated before eligibility filtering, duplicate PR bindings refuse, summary ready/requirement divergence refuses, operator merge intent is server-issued, observe-only instances cannot actuate, and the POST re-observes admission before GitHub CLI enforces exact-head matching.

Test plan

  • PASS: 15 focused claim_batch landing workflow witnesses, including ready-only queue, first-review blocker, stale-head approval exclusion, exhaustive blockers, divergence refusal, exact-head refusal, intent-token refusal, duplicate-binding refusal, malformed review evidence refusal, malformed pre-filter PR row refusal, and bounded dashboard transport.
  • PASS: focused roadmap serve witnesses for POST-only merge binding and observe-only refusal before effects.
  • PASS: corpus external-authority lens witnesses after canonical authority naming.
  • PASS: cargo fmt --all --check and git diff --check.

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review August 1, 2026 08:18
@briansrls
briansrls merged commit ea1c781 into main Aug 1, 2026
5 checks passed
@briansrls
briansrls deleted the session/eager-seal-327 branch August 1, 2026 21:09
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
…ent gate.

#7573 added dag/extdeps/session_dashboard.dag after the legacy manifest freeze;
the per-PR extdeps_scope_placement_gate refuses any post-freeze extdeps file
outside scope_carrier_paths or machinery, which blocked CI on every branch.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
The heal-merge CI gate refused dag/extdeps/session_dashboard.dag because #7573
landed it post-freeze without scope_carrier_paths membership; declare
extdeps_model_scope and join the roster so extdeps_scope_placement_gate_passes
can succeed after merging main.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
The placement gate diffs freeze..HEAD and refuses post-freeze dag/extdeps files outside scope_carrier_paths; session_dashboard landed in #7573 without enrollment and blocked extdeps_scope_placement_gate_passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
PR #7573 added dag/extdeps/session_dashboard.dag after the legacy manifest freeze without joining scope_carrier_paths; extdeps_scope_placement_gate refuses any post-freeze extdeps file outside the roster.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 1, 2026
CI extdeps_scope_placement_gate failed: dag/extdeps/session_dashboard.dag
(#7573) was added after legacy_manifest_freeze_sha without scope enrollment.
Declare extdeps_model_scope and join scope_carrier_paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 2, 2026
Post-freeze dag/extdeps file (#7573) must be scope_carrier_paths + declare
extdeps_model_scope; Api service as subject. No manifest TSV edits.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 2, 2026
The placement gate diffs freeze..HEAD and refuses post-freeze dag/extdeps files outside scope_carrier_paths; session_dashboard landed in #7573 without enrollment and blocked extdeps_scope_placement_gate_passes.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 2, 2026
PR #7573 added dag/extdeps/session_dashboard.dag after the legacy manifest freeze without joining scope_carrier_paths; extdeps_scope_placement_gate refuses any post-freeze extdeps file outside the roster.

Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot pushed a commit that referenced this pull request Aug 2, 2026
CI extdeps_scope_placement_gate failed: dag/extdeps/session_dashboard.dag
(#7573) was added after legacy_manifest_freeze_sha without scope enrollment.
Declare extdeps_model_scope and join scope_carrier_paths.

Co-authored-by: Cursor <cursoragent@cursor.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