2026-05-03 - 2026-08-03
Overview
1 Release published by 1 user
Published
v1.1.0
399 Pull requests merged by 2 users
Merged
#988 feat(governance): land authoritative PROJECT_CHARTER.md (Closes #987)
Merged
#984 fix(guard): derive target base ref for cross-repository checkouts
Merged
#979 feat(controller): expose instance-level fleet identity and health snapshots (Closes #978)
Merged
#976 fix(runtime): recognize client identity environment and refresh worker registrations
Merged
#974 fix(runtime): support validated cross-repository canonical roots (#973)
Merged
#972 fix(reconcile): safely resolve worktree bindings whose paths are missing (Closes #970)
Merged
#968 feat(mcp): client/session-aware runtime ownership and provenance (Closes #948)
Merged
#967 feat(mcp): gate Connected-but-unattached MCP namespaces (Closes #708)
Merged
#966 feat(transport): add transport-neutral MCP bind seam (Closes #931)
Merged
#965 docs(remote-mcp): threat model, trust boundaries, and decomposition ruling (Closes #956)
Merged
#954 fix(author): unify the bootstrap and lock_issue issue-lock contract (Closes #953)
Merged
#944 fix(author bootstrap): restore missing runtime identity and session helpers (Closes #943)
Merged
#946 fix(gate): preserve exact-owner renewal evidence across duplicate rechecks (Closes #945)
Merged
#928 fix(test): add pytest.ini to restrict testpaths and ignore worktree branches (#927)
Merged
#918 feat(mcp): expose sanctioned Codex MCP reconnect request (Closes #678)
Merged
#917 feat(webui): Sentry/GlitchTip observability console & correlation view (Closes #649)
Merged
#920 fix(mcp): add active IDE vs global config-drift diagnostic (Closes #672)
Merged
#942 fix(scope): wire author bootstrap scope into workflow scope guard
Merged
#926 fix(bootstrap): allow author worktree bootstrap from clean control checkout (Closes #892)
Merged
#940 docs(remote-mcp): inventory stdio- and localhost-coupled assumptions (#930)
Merged
#925 fix(guardrail): detect and reject manually launched duplicate MCP role servers (#686)
Merged
#910 feat(tests): add concurrent-session MCP restart safety tests (Closes #666)
Merged
#915 docs(incident): retroactive audit for direct-to-master commit 2fa97c26 (#670)
Merged
#905 feat(webui): notifications and human-attention routing (#648)
Merged
#912 docs(architecture): ADR for high-availability and rolling-restart MCP architecture (Closes #668)
Merged
#911 feat(webui): add read-only console restart status and impact controls (Closes #667)
Merged
#914 feat(mcp): enforce scoped recovery playbook before full restart (Closes #669)
Merged
#903 feat(webui): Web Console stale-runtime recovery & reconciliation controls (Phase 2) (#644)
Merged
#902 feat(webui): request preview, authorization, and workflow initiation (Closes #643)
Merged
#904 feat(webui): Gitea issue and PR linkage console (Closes #645)
Merged
#901 fix(gate): stop classifying stale-runtime blocks as permission denials (Closes #897)
Merged
#898 feat(webui): Runtime and session view (Phase 1) (Closes #641)
Merged
#886 feat: enforce MCP restart class permissions
Merged
#882 feat(restart): pre-restart drain proof and hard gate (Closes #661)
Merged
#883 fix(allocator): exclude vision/roadmap/umbrella coordination containers (Closes #854)
Merged
#885 feat(webui): Workflow traffic-control view (Phase 1) (Closes #640)
Merged
#884 fix(webui): migrate Starlette TestClient to httpx2 (Closes #682)
Merged
#881 feat(control-plane): durable MCP session checkpoint schema (Closes #660)
Merged
#880 fix(author-lock): dead-session recovery cross-session PR base-sync (Closes #872)
Merged
#838 feat(webui): unified session/lease/lock/worktree inventory API (Closes #636)
Merged
#879 feat(mcp): post-restart reconciliation and completion proof (Closes #662)
Merged
#795 test(#878): #628 building-block regression coverage (child of #628)
Merged
#876 feat(webui): model usage, token cost, latency, and performance analytics (Closes #651)
Merged
#794 feat(lease): make the author task heartbeat load-bearing (Closes #790, Slice A)
Merged
#863 feat(webui): sanctioned restart and graceful reload controls (Closes #642)
Merged
#853 Implement native author issue worktree bootstrap (#850)
Merged
#862 feat(webui): system-health dashboard (Closes #639)
Merged
#846 fix: conflict-fix lease lifecycle chain termination and TTL handling (#842)
Merged
#875 feat(mcp-health): MCP restart coordinator and impact analysis (Closes #658)
Merged
#861 fix(author): bootstrap recovery for dirty orphaned issue worktrees (#860)
Merged
#870 feat(mcp-health): inventory and guard MCP restart/reload/kill paths (Closes #657)
Merged
#866 fix(reconciler): PR-scoped post-merge cleanup executor + expired reviewer-lease reclaim (Closes #855)
Merged
#874 fix(author): refresh durable issue-lock head after branch sync; recover merge-sync-drifted dead-session locks (Closes #871)
Merged
#857 docs(governance): MCP restart governance and authorization policy (Closes #656)
Merged
#869 fix(author): harden dirty-session rebind inventory and journal identity (#868)
Merged
#865 feat(author): dirty-preserving same-claimant author-session rebind (#864)
Merged
#859 fix(worktree-audit): make cleanup audit merged-PR aware for issue worktrees (Closes #858)
Merged
#849 feat(webui): workflow-event and conversation timeline model (Closes #637)
Merged
#852 fix: remove safe worktrees before reassessing remote delete ownership (#851)
Merged
#818 feat(webui): evolve application shell for Phase 1 console IA (Closes #638)
Merged
#845 fix: make cross-role allocations consumable by independent workers (Closes #843)
Merged
#848 fix: exclude epic and child-only containers from allocator selection (Closes #844)
Merged
#813 feat(webui): read-only system-health API (Closes #634)
Merged
#841 fix: authoritative cross-role generic queue allocation (Closes #840)
Merged
#839 feat(arch01): atomic platform install + authority kernel (Closes #822)
Merged
#811 feat(webui): console authorization, RBAC, redaction, and audit model (Closes #633)
Merged
#819 feat(webui): versioned project registry API (Closes #635)
Merged
#817 fix(mcp): forward worktree_path into publication preflight (Closes #815)
Merged
#814 feat(mcp): publish an unpublished local commit on a registered issue worktree (Closes #812)
Merged
#810 feat(webui): worker registry and configuration schema (Closes #798)
Merged
#796 docs(webui): MCP Control Plane Web Console architecture ADR (Closes #632)
Merged
#788 feat: make master-parity live-remote aware so a stale daemon fails closed (Closes #610)
Merged
#791 fix(lock): allow exact-owner renewal of expired author issue locks (Closes #760)
Merged
#789 fix(guard): quote-aware shell segmentation so only real daemon kills classify (Closes #787)
Merged
#786 fix(mcp): block manual daemon killing as workflow recovery (Closes #630)
Merged
#785 feat(control-plane): persist allocator dependency edges as durable state (Closes #784)
Merged
#783 fix(mcp): add sanctioned gitea_edit_issue and a doc/registry drift guard (Closes #781)
Merged
#782 fix(workflow): retire status:pr-open on every terminal PR transition (Closes #780)
Merged
#779 feat: enforce self-propagating canonical handoffs through controller closure (Closes #626)
Merged
#777 fix(allocator): pre-rank exclusions and candidates_json transport (Closes #776)
Merged
#775 fix: mutation budget counts server-side changes only (Closes #617)
Merged
#774 fix(mcp): recover clean unpublished author work after the owning session exits (Closes #772)
Merged
#773 fix: exclude foreign-claimed work from allocation (Closes #765)
Merged
#771 fix: durable author worktree resolution without control fallback (Closes #618)
Merged
#770 feat: enforce stable-control vs dev runtime modes for Gitea MCP (Closes #615)
Merged
#767 feat: add Sentry-to-Gitea incident bridge for MCP workflow failures (Closes #607)
Merged
#769 fix(mcp): accept strict-descendant dead-session recovery (Closes #768)
Merged
#766 fix(mcp): enforce role capability invariants
Merged
#762 feat: add workflow dashboard for queue, leases, and next safe action (Closes #605)
Merged
#764 fix: accept canonical reviewer lease preflight order (Closes #763)
Merged
#761 fix: rank complete allocator inventory and resolve declared dependencies (Closes #758)
Merged
#759 fix(mcp): honor the create-issue bootstrap in anti-stomp preflight (Closes #757)
Merged
#746 fix(mcp): bind post-merge moot-lease cleanup to the reconciler capability (Closes #745)
Merged
#750 fix(mcp): allow create_issue from clean control checkout (Closes #749)
Merged
#756 fix(mcp): let a sanctioned recovery keep its own owning PR (Closes #755)
Merged
#754 fix(mcp): allow author-lock recovery after the owning session exits (Closes #753)
Merged
#752 fix(mcp): derive checks requirement from live branch protection (Closes #751)
Merged
#748 feat(mcp): use a 10-minute sliding TTL for reviewer and merger PR leases (Closes #747)
Merged
#744 fix(mcp): consume canonical target root in cross-repository operations (Closes #741)
Merged
#740 fix(mcp): complete canonical-root consumption for cross-repository namespaces (Closes #739)
Merged
#743 fix(mcp): accept acquired merger-lease provenance and add owner finalization (Closes #742)
Merged
#736 feat(mcp): immutable canonical_repository_root for cross-repo namespaces (Closes #706)
Merged
#737 fix(mcp): forward explicit org/repo through author mutation preflight (Closes #735)
Merged
#734 fix(reconciler): forward explicit repository through delete_branch anti-stomp preflight (Closes #733)
Merged
#732 fix(mcp): surface safe diagnostics for opaque mutation internal_error
Merged
#730 fix(auth): route delete_branch capability to the reconciler role (Closes #729)
Merged
#715 fix(session): pin immutable MCP context; ban cross-host profile substitution (Closes #714)
Merged
#724 fix(mcp): make capability resolver side-effect free (Closes #685)
Merged
#728 feat(controller): route outdated and conflicting PRs through synchronization lifecycle
Merged
#725 fix(mcp): acquire merger PR lease with structured capability resolution (Fixes #718)
Merged
#611 feat: preserve and resume prepared review verdict drafts (#609)
Merged
#703 feat(recovery): stale worktree binding demotion and crash-orphan lease recovery (Closes #702)
Merged
#680 feat: common anti-stomp preflight before every mutation tool (Closes #604)
Merged
#694 fix(review): cross-PR decision-lock isolation and recovery diagnosis (Closes #693)
Merged
#679 feat(observability): optional self-hosted Sentry instrumentation for MCP workflow failures (Closes #606)
Merged
#721 fix(session): keep KIND_DECISION_LOCK durable past generic 4h TTL (Closes #720)
Merged
#616 docs: ADR for stable MCP control runtime vs dev runtime (#615)
Merged
#688 feat(profiles): support reconciler cleanup capability and migration (Closes #687)
Merged
#701 fix: map Gitea auth failures to structured MCP tool errors (Closes #699)
Merged
#710 fix(workflow): cross-profile decision-lock cleanup and irrecoverable provenance (Closes #709)
Merged
#696 feat(guard): native MCP transport binding and contaminated-review quarantine (Closes #695)
Merged
#705 fix(validator): align final-report validator with canonical schema (Closes #698)
Merged
#692 feat(lease): guarded cleanup for obsolete reviewer comment leases (Closes #691)
Merged
#684 feat(guard): harden workflow against unattributed root WIP and pytest-disabled production guards (Closes #683)
Merged
#677 feat(guard): block direct stable-branch pushes from MCP workflow sessions (Closes #671)
Merged
#676 fix: residual preflight/worktree/test-isolation remediations after #673
Merged
#674 fix(test): remediate repository-wide regressions (Closes #673)
Merged
#654 feat: lifecycle role/hazard labels and canonical state mapping (#603)
Merged
#629 fix: paginate repository-label inventory for gitea_set_issue_labels (Closes #627)
Merged
#625 feat: first-class control-plane lease lifecycle (Closes #601)
Merged
#623 feat: Sentry/GlitchTip incident bridge via incident_links (Closes #612)
Merged
#622 feat: controller-owned allocator API on control-plane DB (Closes #600)
Merged
#619 feat: control-plane DB substrate for atomic assign/lease (Closes #613)
Merged
#621 fix: head-scope durable #332 review-decision locks (Closes #620)
Merged
#614 docs: ADR for MCP allocator, control-plane DB, and incident bridge (#613)
Merged
#587 feat: diagnose live MCP namespace EOF health and block merge (#543)
Merged
#598 feat: canonical validation wording, baseline proof, and closure gate (Closes #529)
Merged
#596 fix: enforce merger role boundaries (Closes #539)
Merged
#608 feat: diagnose reviewer lease handoff next actions (Closes #599)
Merged
#592 fix: isolate review-mutation ledger from host session-state (Closes #590)
Merged
#593 feat: auto-restart Gitea MCP namespaces when stale or git HEAD advances (#591)
Merged
#595 feat: canonical cleanup for stale #332 review decision locks (Closes #594)
Merged
#586 feat: block vague-reference issue creation with content preflight (Closes #582)
Merged
#585 feat: merge-report lease proof fields and handoff audit (Closes #535)
Merged
#589 fix: control-plane guide org/repo params after #530 guard (Closes #588)
Merged
#583 feat: reconciler supersession close path for PRs/issues (Closes #525)
Merged
#581 fix: resolve reviewer lease identity via host not remote alias (Closes #578)
Merged
#457 Web UI: Test coverage and CI checks (#436)
Merged
#456 Web UI: Auth and deployment boundary (#435)
Merged
#516 feat: guard merged branch cleanup path
Merged
#455 Web UI: Gated action framework (#434)
Merged
#579 fix: newest reviewer lease marker wins so release ends prior claims (Closes #577)
Merged
#554 feat: add BLOCKED + DIAGNOSE default rule + blocker report template (closes #552)
Merged
#511 feat: require Controller Handoff plus Thread State Ledger (Closes #507)
Merged
#453 feat: add worktree hygiene dashboard to web UI (Closes #432)
Merged
#452 feat: add final-report audit paste tool to web UI (Closes #431)
Merged
#565 feat: mount canonical gitea-workflow skill for Codex and MCP inventory (Closes #551)
Merged
#486 Clarify and enforce reviewer-vs-merger role boundaries (#483)
Merged
#566 feat: block direct MCP imports and unsanctioned keychain access (Closes #558)
Merged
#571 feat: discover merged cleanup worktree aliases (Closes #532)
Merged
#499 feat: require canonical next-action state comments (Closes #495)
Merged
#497 feat(#496): enforce canonical state comment validation before posting
Merged
#506 feat: reject contradictory reviewer handoff ledgers (Closes #501)
Merged
#509 feat: add Canonical Thread Handoff protocol (Closes #505)
Merged
#518 feat: require issue type and workflow status labels (Closes #513)
Merged
#563 feat: require live PR head re-pin before conflict-fix classification (Closes #522)
Merged
#448 feat: add MCP runtime health dashboard to web UI (Closes #430)
Merged
#567 feat: allow reconciler profile to run merged cleanup directly (Closes #523)
Merged
#491 feat: add skip-stale-REQUEST_CHANGES reviewer menu prompt (Closes #482)
Merged
#576 feat: validate Selected PR: none in cleanup mode when queue is empty
Merged
#444 feat: add server code parity gate for mutations (Closes #420)
Merged
#574 feat: require true pre-merge baseline proof for non-zero validation exits (Closes #533)
Merged
#575 feat: authorized cleanup for reviewer scratch worktrees (Closes #534)
Merged
#573 feat: look at approvals or issues next if the PR queue is empty (Closes #572)
Merged
#498 feat: add canonical state handoff ledger (Closes #494)
Merged
#568 feat: discover non-canonical worktrees by branch matching (Closes #528)
Merged
#570 fix: resolve broken ISSUE_LOCK_FILE import in webui/lease_loader.py (Closes #569)
Merged
#564 docs: define bootstrap review path for self-hosted MCP fixes (Closes #557)
Merged
#423 feat: enforce reconciler PR-close proof fields in final reports (Closes #306)
Merged
#504 feat: add controller issue-acceptance gate (Closes #500)
Merged
#562 feat: persist MCP workflow proof and decision lock across daemons (Closes #559)
Merged
#454 feat: add lease and collision visibility to web UI (Closes #433)
Merged
#545 Detect stale MCP runtime before mutation tools execute
Merged
#476 feat: add canonical run-tests runner (#473)
Merged
#418 feat: require exact per-mutation capability proof in reviewer reports (Closes #405)
Merged
#520 fix: return structured conflict-fix push assessment errors (Closes #519)
Merged
#541 fix: preserve actual reconciler role for #274/#475 role exemptions during comment_issue preflight (Closes #540)
Merged
#561 fix: bind issue comments to explicit worktree path (Closes #560)
Merged
#555 fix: guard remote/repo mismatch vs local git remote (Closes #530)
Merged
#479 feat: add root MCP operator shell menu (#478)
Merged
#550 fix: remove duplicate verify_preflight_purity in gitea_adopt_merger_pr_lease (closes #548)
Merged
#542 feat: require MCP-native post-merge cleanup proof (Closes #517)
Merged
#417 feat: add worktree cleanup audit integrity (Closes #404)
Merged
#538 feat: guarded merger lease adoption flow (#536)
Merged
#422 feat: add workflow-load session boundary proof (Closes #403)
Merged
#488 feat: add root checkout guard for contaminated control checkout (Closes #475)
Merged
#492 feat: add session-owned worktree cleanup audit and TTL enforcement (Closes #401)
Merged
#421 feat: keep reconciliation audits read-only unless cleanup authorized (Closes #419)
Merged
#493 Require canonical workflow load proof for reviewer mutations
Merged
#527 feat: add safe post-merge moot lease cleanup for already-merged PRs (Closes #515)
Merged
#526 fix: register gitea_lock_issue as MCP tool (Closes #521)
Merged
#512 feat: isolate MCP workspace binding across role namespaces (Closes #510)
Merged
#415 feat: require post-merge cleanup safety-gate proof in reviewer reports (Closes #402)
Merged
#502 fix: preserve capability preflight across safe reads (Closes #469)
Merged
#472 fix: exempt reconciler close_pr from branches-only worktree guard (Closes #468)
Merged
#487 fix: guard PR/issue comment listing against non-list API payloads (Closes #485)
Merged
#481 feat: expose explicit adoption proof in gitea_lock_issue response (Closes #477)
Merged
#411 feat: require validation cwd and HEAD proof in reviewer reports (Closes #398)
Merged
#489 feat: add first-class stacked PR support to author workflow (Closes #484)
Merged
#412 feat: add precise validation status vocabulary for reviewer reports (Closes #406)
Merged
#416 feat: add conflict-fix leases and stale-head protection (Closes #399)
Merged
#480 feat: require approval at current PR head for merge (#471)
Merged
#464 feat: harden issue lock store against concurrent session clobbering (Closes #438)
Merged
#461 feat: add own-branch lock adoption recovery to gitea_lock_issue (Closes #442)
Merged
#465 feat: keyed issue-lock store replaces global lock file (Closes #443)
Merged
#462 feat: align mutation guard with runtime_context workspace resolution (Closes #460)
Merged
#449 feat: harden #274 branches-only guard for gitea_create_issue (Closes #274)
Merged
#424 feat: add per-PR reviewer leases for parallel review (Closes #407)
Merged
#463 feat: block manual issue-lock seeding and require lock disclosure (Closes #447)
Merged
#413 feat: move duplicate-work detection before author mutations (Closes #400)
Merged
#459 fix(webui): suppress misleading empty queue copy on fail-closed fetch (#458)
Merged
#445 feat: add live PR/issue queue dashboard to web UI (Closes #429)
Merged
#441 feat: add canonical workflow prompt library to web UI (Closes #428)
Merged
#451 feat: thread worktree_path through gitea_create_issue (Closes #450)
Merged
#439 feat: add web UI project registry and onboarding (Closes #427)
Merged
#437 feat: add internal web UI server skeleton (Closes #426)
Merged
#410 feat: gate gitea_delete_branch on gitea.branch.delete capability (Closes #408)
Merged
#409 feat: require transient validation failure history in reviewer reports (Closes #396)
Merged
#397 feat: require proof-backed claims in reviewer handoff reports (Closes #395)
Merged
#388 feat: add prgs-reconciler profile model and role detection (Closes #304)
Merged
#385 feat: register work-issue task routing for role-aware MCP (Closes #139)
Merged
#394 feat: add reviewer final-report schema MCP validator (Closes #391)
Merged
#387 feat: enforce canonical reconciliation handoff schema (Closes #307)
Merged
#386 feat: enforce author work leases in issue lock preflight (Closes #267)
Merged
#384 feat: add reconciliation workflow MCP tools for already-landed PRs (Closes #301)
Merged
#382 feat: classify already-landed PRs as reconciliation-only (Closes #295)
Merged
#374 feat: enforce branches-only author mutation worktree guard (Closes #274)
Merged
#376 feat: require pagination proof in reconciliation PR inventory (Closes #308)
Merged
#381 feat: add prgs-reconciler profile and gated already-landed PR close (Closes #310)
Merged
#372 feat: require live linked issue proof in reconciliation handoffs (Closes #300)
Merged
#383 Enforce already-landed review report state gates
Merged
#380 feat: verify canonical workflow citation and version in review reports (Closes #296)
Merged
#393 feat: add PR-only queue cleanup mode with per-PR dispatch gates (Closes #390)
Merged
#378 feat: enforce PR review/merge workflow state machine gates (Closes #290)
Merged
#371 feat: reject stale already-landed controller handoff fields (Closes #299)
Merged
#379 feat: dedicated reconciler capability for closing landed PRs (Closes #309)
Merged
#377 feat: add native MCP preference gate and shell circuit breaker (Closes #270)
Merged
#375 feat: comment-then-stop policy for partial PR reconciliation (Closes #302)
Merged
#369 feat: prove inventory pagination and worktree state in reviewer reports (Closes #293)
Merged
#373 feat: add dedicated reconciliation controller-handoff schema (Closes #303)
Merged
#366 feat: require infra_stop repair handoff for blocked reviewers (Closes #289)
Merged
#370 feat: add issue claim heartbeat leases and stale-claim reconciliation (Closes #268)
Merged
#365 feat: enforce precise mutation categories in controller handoffs (Closes #319)
Merged
#358 Add validation integrity verifier for PR-head vs diagnostic tests (#316)
Merged
#368 feat: hard-stop review mutations on already-landed PR heads (Closes #292)
Merged
#367 feat: reject eligible/reviewed wording for already-landed PRs (Closes #298)
Merged
#363 feat: block edits in PR validation worktrees (Closes #315)
Merged
#356 feat: classify merge simulation as worktree/index mutations (Closes #317)
Merged
#352 feat: enforce validation environment proof in reviewer reports (Closes #311)
Merged
#364 fix: seed profile gate for TestIssueLockArtifactWarning (Closes #359)
Merged
#362 feat: prove reviewer worktree ownership before reset (Closes #312)
Merged
#361 feat: block approval on full-suite failure without baseline proof (Closes #323)
Merged
#360 feat: verify linked-issue consistency for the selected PR (Closes #314)
Merged
#355 feat: require live blocker proof before skipping earlier PRs (Closes #318)
Merged
#350 feat: block reviewer local Gitea fallbacks during normal review (Closes #324)
Merged
#357 feat: reject legacy Workspace mutations field in reviewer handoffs (Closes #320)
Merged
#351 feat: enforce queue ordering proof in reviewer reports (Closes #321)
Merged
#348 feat: composable final-report validator for reviewer and reconciliation handoffs (Closes #327)
Merged
#346 feat: enforce proof wording for pagination and live claims (Closes #330)
Merged
#354 feat: reject workspace-none claims after worktree mutations (Closes #313)
Merged
#347 feat: add queue-status report verifier for reviewer handoffs (Closes #339)
Merged
#353 feat: require conflict proof for skipped non-mergeable PRs (Closes #322)
Merged
#349 feat: enforce branches-only baseline validation in reviewer reports (Closes #325)
Merged
#345 feat: enforce session hard-stop after terminal review mutation (Closes #332)
Merged
#344 feat(reports): classify git fetch as a git ref mutation (closes #297)
Merged
#343 docs: pin GlitchTip filing orchestrator contract (Closes #153)
Merged
#342 Add pagination metadata to gitea_list_prs
Merged
#341 feat: add create-issue final-report verifier (Closes #337)
Merged
#335 feat: extract review-merge-pr workflow from monolithic LLM skill
Merged
#284 docs: add subagent tool-budget guardrails for MCP tasks (Closes #259)
Merged
#282 feat: merged PR cleanup reconciliation report (Closes #269)
Merged
#286 fix: recompute infra_stop live on capability resolve (Closes #285)
Merged
#338 Add final-report mutation ledger verifier (#331)
Merged
#329 feat(reports): add no-email identity summary and disclosure validator (closes #305)
Merged
#328 Add REQUEST_CHANGES override proof helper before approval (#326)
Merged
#291 feat: add fail-closed subagent delegation gates (Closes #266)
Merged
#336 docs: split LLM project workflow into task-specific modes
Merged
#288 test: make sibling-worktree skip test hermetic (closes #283)
Merged
#287 feat: add validation ledger and final-report verifier (Closes #271)
Merged
#280 feat: align claim/lock gates with branches-only worktrees (Closes #275)
Merged
#281 docs: add Shell Spawn Hard-Stop Rule for agent workflows (Closes #258)
Merged
#279 docs: forbid improvised commit fallbacks when MCP commit exists (Closes #260)
Merged
#277 docs: agent temp artifact cleanup guidance (Closes #261)
Merged
#276 feat: map gitea_commit_files in task capability resolver (Closes #262)
Merged
#241 feat(issue-filing): harden final report proofs for handoff and mutations (closes #191)
Merged
#257 feat: expose role-aware runtime context capabilities (#139)
Merged
#264 docs: separate Jenkins trigger onto jenkins-write-mcp boundary (#152)
Merged
#273 docs: add Work Selection Rule for LLM operating rules (#272)
Merged
#239 feat(mcp): implement operation-scoped role selection and automatic dispatch switching (#228)
Merged
#255 feat(mcp): add integration and discoverability coverage for Jenkins/GlitchTip
Merged
#254 fix: scope pre-flight workspace checks to session-owned deltas (closes #252)
Merged
#240 feat(reviewer): add queue-target lock before PR inventory trust gate (closes #200)
Merged
#253 feat(continuation): formalize continuation proofs for claim and push (closes #189)
Merged
#246 feat(author): add continuation-mode selection wall for open-PR issues (closes #188)
Merged
#250 feat(mcp): bind issue lock to author scratch worktree (closes #249)
Merged
#251 fix(mcp): require visible APPROVED reviews before merge (closes #244)
Merged
#242 fix(mcp): clear sticky reviewer denial on allowed author task route (closes #238)
Merged
#248 test: make test_health portable for scratch clones (closes #245)
Merged
#247 fix(reviewer): close forbidden-git detection gaps via allowlist (closes #243)
Merged
#235 test: require issue-lock proof in author handoffs (closes #208)
Merged
#237 feat(reviewer): require trust-gate proof in empty-queue reports (closes #198)
Merged
#236 feat(reviewer): wire PR inventory trust gate into live queue path (closes #196)
Merged
#234 feat(reviewer): fail closed on dirty worktrees and forbidden git cleanup (closes #233)
Merged
#231 docs(wiki): refresh Gitea Wiki publication proof heads (closes #224)
Merged
#230 Bootstrap Gitea-Tools docs/wiki and wiki sync helper (#224)
Merged
#229 Fix test env isolation for credentials and create_pr gate tests
Merged
#226 Fix MCP registration and naming for Jenkins/GlitchTip servers (Issue #151)
Merged
#223 Block role/tool namespace mismatch for author and reviewer mutations (Issue #209)
Merged
#222 Enforce issue-write tool gates to match task capability resolver (mcp-control-plane #69)
Merged
#225 Isolate Gitea MCP runtime from mutable development worktrees (Issue #221)
Merged
#187 Harden author-run reporting and mutation capability proof per #183
Merged
#218 feat(workflow): capability stop terminal mode after reviewer denial (Issue #197)
Merged
#215 feat: block workspace edits before preflight verification Closes #210
Merged
#213 feat(author-workflow): enforce exact issue lock before branch/commit/push/PR (Issue #204, recreation of PR #205)
Merged
#214 feat(reviewer-workflow): enforce single terminal review decision per PR review run
Merged
#220 Enforce pre-create duplicate title gate in gitea_create_issue (Issue #207)
Merged
#219 Add explicit close_pr capability resolution and gated PR close path (Issue #216)
Merged
#217 feat(workflow): pre-task role/session router blocks reviewer tasks in author sessions (Issue #206)
Merged
#203 feat(reviewer-workflow): add hard wall against reviewer mutations through alternate profile or CLI side-channel
Merged
#193 Raise reviewer A-bar: capability, sweep, live-state, and role-boundary proofs (Issue #179)
Merged
#195 Add fail-closed PR inventory wall when list_prs returns an unexpected empty queue (Issue #194)
Merged
#192 Add role-boundary proofs for reviewer queue workflows (Issue #175)
Merged
#190 Fix MCP registration and naming for Jenkins/GlitchTip servers and add discoverability coverage (#146)
Merged
#181 Add fail-closed branch-identity proofs for author commit/push workflow (Issue #177)
Merged
#186 Require and validate Controller Handoff sections in workflow final reports (Issue #182)
Merged
#185 Add repo-name disambiguation and complete-inventory proofs for blind PR review
Merged
#180 test: isolate CLI output capture with monkeypatch/redirect to fix stdout corruption in full suite (Issue #178)
Merged
#176 Add fail-closed proofs for blind PR queue review workflow (Issue #173)
Merged
#174 Harden URL redaction in inventory/review failure output (Issue #171)
Merged
#172 test: add missing tests for #166 Requirement-5 conflict/staleness scenarios
Merged
#169 Harden LLM role/task alignment and PR review feedback discovery
Merged
#168 Harden PR queue reconciliation against stale or conflicting PR state reports
Merged
#165 Allow read-only PR queue inventory under author profiles while preserving hard review/merge gates
Merged
#163 Update operator runbooks and roadmap docs for Jenkins/GlitchTip MCP status
Merged
#162 Update Gitea operator guide and skill registry for role-aware task routing
Merged
#161 feat: structured permission failure reports on gated tools (#142)
Merged
#160 Add task-routing and permission-boundary regression tests
Merged
#159 feat: merge-path compliance harness with mock Gitea target and safety rail (#156)
Merged
#158 docs: document static dual-namespace Gitea MCP deployment model (#143)
Merged
#157 feat: add read-only Gitea task capability resolver tool (#141)
Merged
#140 test: forward-direction issue-comment permission separation (#137 follow-up)
Merged
#138 feat: allow gitea.issue.comment for author/reviewer profiles (#137)
Merged
#136 feat: support and test MDCPS reviewer identity per #107
Merged
#134 feat: complete operator guide and skill registry requirements (#129)
Merged
#133 fix: redact Gitea web links from PR/issue MCP tool output (#125)
Merged
#132 feat: make Gitea MCP profile activation and runtime identity state explicit (#131)
Merged
#130 feat: add operator guide and project skills discovery MCP tools (#128)
Merged
#127 feat: add Gitea issue comment list/create MCP tools (#126)
Merged
#124 feat: extend whoami and profile metadata for environments (#104)
Merged
#123 feat(config): add v1-to-v2 profiles.json migration helper (#105)
Merged
#119 docs: re-land release version SOP with v1.1.0 audit lessons (#111)
Merged
#122 feat: operation-name normalization table with fail-closed enforcement (#106)
Merged
#121 feat: profiles.json v2 contexts shape with enabled enforcement and LLM-safe output (#120)
Merged
#118 docs: add post-merge file-presence verification to merge workflow (#112)
Merged
#116 fix: close implements tracker gap and clarify closing keywords (#110)
Merged
#115 docs: compact Controller Handoff as default format (#108)
Merged
#114 feat: profiles.json v2 parser with validation invariants (#103)
Merged
#113 docs: document dual-profile MCP launcher pattern and add identity checklist (#109)
Merged
#102 docs: require Controller Handoff Summary + codify LLM workflow rules (#101)
Merged
#99 fix: surface skipped tracker cleanup on merge read-back failure (#98)
Merged
#97 feat: opt-in Docker-based Gitea integration test suite (#66)
Merged
#96 docs: design Gitea tools refactor compatibility matrix and stages (#65)
Merged
#95 docs: design GlitchTip/Gitea deduplication and linking (#78)
Merged
#94 docs: design glitchtip to gitea issue filing workflow (#74)
Merged
#64 Release v1.1.0
Merged
#92 docs: extend profile model for multi-service MCP boundaries (#76)
Merged
#93 docs: GlitchTip read-only error/event tools design (#73)
Merged
#90 docs: propose labels for Jenkins/GlitchTip workflow (#80)
Merged
#89 docs: update safety and boundary docs for Jenkins/GlitchTip (#79)
Merged
#91 docs: Jenkins repo/branch/PR to job mapping design (#77)
Merged
#88 docs: Jenkins read-only build status tools design (#72)
Merged
#87 docs: LLM-Agent-SHA opaque attribution convention, Phase 0 (#86)
Merged
#83 fix: add shared API pagination and failure handling (#67)
Merged
#81 docs: add developer testing guidelines (#70)
Merged
#62 refactor: split manage_labels.py into reusable modes (#6)
Merged
#61 feat: add aliases for gitea_whoami identity lookup (fixes #9)
Merged
#60 fix: document + tool macOS com.apple.provenance workaround (#3)
Merged
#57 feat: automatically release status:in-progress on close and merge (#56)
Merged
#53 feat: scripts/release-tag automation helper (#50)
Merged
#29 #18: Audit-log Gitea MCP mutating actions with execution profile metadata
Merged
#28 v0.3.32: Honor Retry-After on HTTP 429 with jittered exponential backoff
Merged
#26 feat: add gated Gitea PR merge workflow (#16)
Merged
#25 feat: add gated Gitea PR review actions (#15)
Merged
#24 feat: add read-only gitea_check_pr_eligibility (#14)
Merged
#23 feat: add read-only gitea_get_profile discovery tool (#13)
Merged
#22 feat: support separate Gitea MCP runtime profiles via env config (#19)
Merged
#21 docs: define task-scoped Gitea MCP execution profile model (#12)
Merged
#20 feat: add read-only gitea_whoami authenticated-user lookup (#11)
Merged
#8 docs: Document MCP security model and trust boundaries
12 Pull requests proposed by 1 user
Proposed
#906 feat(webui): AI-provider connections and evidence-backed insights (Closes #650)
Proposed
#907 feat(mcp): implement graceful maintenance-drain mode (Closes #659)
Proposed
#908 feat(mcp): implement emergency break-glass MCP restart workflow (#664)
Proposed
#909 feat(restart): audit lifecycle events and durable incidents (Closes #665)
Proposed
#919 fix(mcp-health): deterministic MCP namespace attachment (Closes #689)
Proposed
#921 fix(mcp): include untracked files in preflight porcelain parsing (Closes #700, Closes #697)
Proposed
#922 fix(auth): prevent repository .env files from injecting workspace bindings (Closes #704)
Proposed
#923 feat(mcp): enforce strict cross-project mutation boundaries (Closes #707)
Proposed
#924 fix(mcp): invalidate review session state on cross-profile activation (Closes #690)
Proposed
#971 fix(reconcile): retire workflow session rows whose owners are no longer live
Proposed
#982 feat(fleet): add CAS-protected stale worker retirement capability (Closes #980)
Proposed
#986 feat(launcher): trusted client-instance identity for project-scoped launches (Closes #985)
437 Issues closed from 2 users
Closed
#987 feat(governance): require an authoritative project charter for every managed project
Closed
#983 fix(guard): derive target base ref for cross-repository checkouts
Closed
#978 feat(controller): expose native instance-level fleet identity and health snapshots
Closed
#975 fix(runtime): recognize client identity environment and refresh worker registrations
Closed
#973 fix(runtime): support validated cross-repository canonical roots for dedicated namespaces
Closed
#970 fix(reconcile): safely resolve worktree bindings whose paths are missing
Closed
#948 Make MCP runtime generation ownership client/session-aware so multiple LLMs can work concurrently
Closed
#708 MCP servers report Connected but tool namespaces are not attached to the active session
Closed
#931 Remote-MCP 02: Introduce a transport-neutral bind seam accepting a remote transport
Closed
#956 Remote-MCP: threat model, trust boundaries, and service-per-boundary decomposition
Closed
#953 fix(author): prevent bootstrap lock-provenance dead ends before PR creation
Closed
#943 fix(author bootstrap): restore missing runtime identity and session helpers
Closed
#945 fix(gate): preserve exact-owner renewal evidence across owning-PR duplicate rechecks
Closed
#927 pytest test collection fails with 199 errors due to recursing into branches directory
Closed
#678 Expose sanctioned MCP reconnect action to Codex workflow sessions
Closed
#649 Web Console: Sentry/GlitchTip connections, correlation, and durable issue creation (Phase 4)
Closed
#672 Antigravity active MCP config missing Gitea role servers
Closed
#941 fix(scope): wire author bootstrap scope into workflow scope guard
Closed
#892 [P0] Break the author worktree bootstrap deadlock
Closed
#930 Remote-MCP 01: Inventory every stdio- and localhost-coupled assumption in the MCP server
Closed
#686 Detect and reject manually launched duplicate MCP role servers as unsupported recovery
Closed
#666 Add concurrent-session MCP restart safety tests (dogfooding)
Closed
#670 incident: bare direct-to-master commit 2fa97c26 landed with no PR
Closed
#648 Web Console: Notifications and human-attention routing (Phase 3)
Closed
#668 Design rolling-restart and high-availability MCP architecture
Closed
#667 Web Console: Restart status, impact preview, and approval controls
Closed
#669 Replace full-server MCP resets with scoped component recovery
Closed
#644 Web Console: Stale-runtime recovery, worktree rebinding, and reconciliation controls (Phase 2)
Closed
#643 Web Console: Requests, intent preview, authorization, and workflow initiation (Phase 2)
Closed
#645 Web Console: Gitea issue and PR linkage console (Phase 3)
Closed
#897 permission_report misclassifies stale-runtime mutation blocks as missing permissions and recommends profile switching
Closed
#641 Web Console: Runtime and session view (Phase 1)
Closed
#663 Implement MCP restart classes and blast-radius permissions
Closed
#661 Implement pre-restart drain proof and hard gate
Closed
#854 [regression][allocator] process_work_queue still selects vision, roadmap, and umbrella containers after #844
Closed
#640 Web Console: Workflow traffic-control view (Phase 1)
Closed
#682 Replace deprecated Starlette TestClient HTTPX integration
Closed
#660 Implement durable MCP session checkpoint schema
Closed
#681 Dirty control-checkout WIP left by PR #680 review session (test isolation hacks)
Closed
#872 [bug][author-lock] Dead-session recovery deadlocks a second cross-session PR base-sync after a sanctioned server-side update_pr_branch_by_merge advanced the remote head
Closed
#636 Web Console: Session, lease, lock, and worktree inventory API (Phase 1)
Closed
#662 Implement post-restart MCP reconciliation
Closed
#878 test(#628 child): unit regression coverage for CTH, ownership classify_skip, and dependency edges
Closed
#628 Enforce autonomous canonical handoffs and dependency-aware concurrent task orchestration
Closed
#651 Web Console: Model usage, token cost, latency, and workflow-performance analytics (Phase 4)
Closed
#790 Unify task leases with sliding heartbeats and safe terminal dead-owner recovery
Closed
#642 Web Console: Sanctioned restart and graceful reload controls (Phase 2)
Closed
#850 Add native MCP bootstrap for allocated author issue worktrees
Closed
#639 Web Console: System-health dashboard (Phase 1)
Closed
#842 [controller][workflow] Automatically hand conflicting approved PRs to author remediation
Closed
#847 [bug][mcp] Conflict-fix lease lifecycle: chain termination by matching terminal markers and TTL handling
Closed
#658 Implement MCP restart coordinator and impact analysis
Closed
#860 fix(author): bootstrap recovery for dirty orphaned issue worktrees
Closed
#657 Inventory and guard all existing MCP restart paths
Closed
#855 [bug][reconciler] No PR-scoped post-merge cleanup executor: merged-PR worktree/branch reclaim is batch-only and stalls behind expired reviewer leases
Closed
#871 fix(author): refresh durable linked-issue lock head after update_pr_branch_by_merge; recover merge-sync-drifted dead-session locks
Closed
#656 Define MCP restart governance and authorization policy
Closed
#868 Harden dirty-session rebind inventory and journal identity
Closed
#864 Add sanctioned dirty-preserving same-claimant author-session rebind
Closed
#858 Make worktree cleanup audit merged-PR aware for issue worktrees
Closed
#637 Web Console: Workflow-event and conversation timeline model (Phase 1)
Closed
#851 [bug][reconciler] Post-merge cleanup skips safe worktree removal when remote delete is blocked by worktree_binding
Closed
#638 Web Console: Application shell evolution (Phase 1)
Closed
#843 [workflow][controller] Make cross-role allocations consumable by independent required-role workers
Closed
#844 [workflow][controller] Exclude epic and child-only container issues from process_work_queue
Closed
#634 Web Console: Read-only system-health API (Phase 1)
Closed
#840 Authoritative cross-role generic queue allocation for controller
Closed
#822 ARCH-01 Foundation Slice A — Atomic platform installation and authority kernel
Closed
#633 Web Console: Authorization, RBAC, secret redaction, and audit model (Phase 1)
Closed
#635 Web Console: Project registry API evolution (Phase 1)
Closed
#815 Fix AC20 publication preflight worktree forwarding
Closed
#812 No sanctioned recovery for a dirty author worktree: uncommitted implementation cannot be checkpointed, and every publication gate demands the clean worktree only publication can produce
Closed
#798 Worker registry and configuration schema
Closed
#632 Web Console: Architecture and information architecture (Phase 1)
Closed
#610 Capability resolver and master parity checks disagree on stale MCP runtime
Closed
#760 Allow exact-owner renewal of expired author issue locks
Closed
#787 runtime_recovery_guard segment splitter misses & and subshell forms, so a real daemon kill classifies as clean
Closed
#630 Block manual MCP daemon process killing as workflow recovery
Closed
#784 Persist allocator dependency edges as durable control-plane state
Closed
#781 fix(mcp): implement documented issue title/body editing capability
Closed
#780 fix(workflow): remove status:pr-open when the associated PR reaches a terminal state
Closed
#626 Enforce self-propagating canonical handoffs through final controller closure
Closed
#778 PR #777 allocator canary — temporary routing target (auto-close)
Closed
#776 Allocator MCP lacks fail-closed pre-rank exclusions and coerces structured candidates_json incorrectly
Closed
#617 Auto-mode classifier must not count pre-API validator rejections as mutation budget
Closed
#772 fix(mcp): recover clean unpublished author work after the owning session exits
Closed
#765 Allocator ignores active foreign leases and lets one claimed issue blockade the whole author queue
Closed
#618 Author worktree binding can disappear mid-session and mutation guards enforce it inconsistently
Closed
#615 ADR: stable control runtime vs dev runtime for Gitea MCP
Closed
#607 Add Sentry-to-Gitea incident bridge for MCP workflow failures
Closed
#768 fix(mcp): make recovered author remediation publishable after a dead session
Closed
#723 Capability map, resolver, and router can disagree on review-task roles; role-stamp mismatch escapes as unhandled internal_error in submit path
Closed
#605 Add MCP menu/dashboard view for live queue, leases, blockers, and next safe action
Closed
#763 Reviewer lease acquisition rejects canonical preflight order
Closed
#758 Make work allocation complete and dependency-aware
Closed
#757 Honor the create-issue bootstrap in anti-stomp preflight
Closed
#745 Bind post-merge moot-lease cleanup to the reconciler capability
Closed
#749 No sanctioned first-mutation path: create_issue requires a branches/ worktree the issue-first gate forbids creating
Closed
#755 Allow dead-session lock recovery when the issue already has its owning open PR
Closed
#753 Allow safe author-lock recovery after the owning MCP session exits
Closed
#751 Fix PR checks assessor defaulting empty status sets to pending
Closed
#747 Use a 10-minute sliding TTL for reviewer and merger PR leases
Closed
#741 Eliminate remaining PROJECT_ROOT coupling in cross-repository MCP operations
Closed
#739 Complete canonical-root consumption for cross-repository MCP namespaces
Closed
#742 Accept acquired merger-lease provenance and add owner finalization
Closed
#706 Cross-repository MCP workspace binding fails because canonical repo root is derived from script location
Closed
#735 [mcp][preflight] Propagate explicit org/repo through all author mutation call sites
Closed
#733 fix(reconciler): forward explicit repository through delete_branch anti-stomp preflight
Closed
#731 [mcp][diagnostics] Safely expose opaque native mutation failures
Closed
#729 [reconciler][auth] Route delete_branch capability to the reconciler role
Closed
#714 [security][workflow] Fail closed on cross-host MCP profile drift and capability substitution
Closed
#685 gitea_resolve_task_capability is not side-effect free: stale-runtime path touches mcp_config.json and terminates its own process (os._exit) causing client EOF
Closed
#727 [controller][workflow] Prevent approved PRs from stalling on outdated or conflicting branches
Closed
#718 [merger][bug] No sanctioned lease path after reviewer lease expiry; adopt tool returns internal_error
Closed
#609 Preserve and resume prepared review verdicts after MCP namespace disconnect or stale backend
Closed
#702 Stale runtime binding and orphaned durable lease upon unhandled daemon crash
Closed
#604 Add anti-stomp preflight gate before every mutation tool
Closed
#693 Review-decision-lock recovery has no canonical in-workflow path; review-correction authorization and stale-lock cleanup serve as ad-hoc recovery
Closed
#606 Integrate self-hosted Sentry observability for MCP workflow collisions and runtime failures
Closed
#720 [review][bug] Expired old-head decision lock blocks fresh review on open PR with no configured recovery path
Closed
#687 Support gitea.branch.delete capability in reconciler profile and migration helper
Closed
#699 Return structured MCP errors for authentication failures without terminating transport
Closed
#709 Merger cleanup is profile-local and reviewer initialization can destroy terminal decision-lock evidence
Closed
#695 Critical: offline import of MCP server internals reconstructs session gates and contaminates formal reviews after native transport failure
Closed
#698 Final-report validator crashes on non-dict action_log and demands forbidden legacy fields
Closed
#691 Completed reviewer lease pinned to superseded PR head stays active with no canonical non-owner cleanup path
Closed
#683 Harden workflow: block unattributed root WIP and pytest-disabled production guards
Closed
#671 Block direct pushes to stable branches from MCP workflow sessions
Closed
#675 fix: residual preflight/worktree/test-isolation remediations after #673
Closed
#673 incident: repository-wide regression in master test suite
Closed
#603 Add lifecycle labels for issues and PRs so LLMs can see ownership and process state
Closed
#601 Make active leases first-class workflow state with canonical adopt, release, expire, and abandon handling
Closed
#627 Fix paginated repository-label resolution in gitea_set_issue_labels
Closed
#600 Add controller-owned work allocator to prevent duplicate LLM work on the same issue or PR
Closed
#624 fix: add missing Any import in gitea_mcp_server.py
Closed
#612 Add multi-project Sentry/GlitchTip incident bridge with Gitea issue linking and release sync
Closed
#613 Add control-plane DB for atomic LLM work assignment, leases, and session coordination
Closed
#620 Allow fresh formal re-review on new PR head after prior REQUEST_CHANGES
Closed
#543 MCP namespace EOF after server restart blocks registered Gitea tools from merger flow
Closed
#544 Investigate and resolve Gitea MCP namespace EOF defect
Closed
#529 Require canonical post-merge validation wording and baseline proof for non-zero test-suite exits
Closed
#539 Reviewer session performed merger/author mutations and direct API comment bypass
Closed
#599 Reviewer lease handoff should expose a canonical active-foreign-session resolution path
Closed
#590 Test isolation: intra-file global-state leak in review-mutation ledger fails test_unknown_profile_blocks on master
Closed
#425 Tracker: MCP Control Plane web UI
Closed
#591 Auto-restart Gitea MCP namespaces when master advances
Closed
#594 Allow canonical cleanup or override of stale #332 review decision locks after merged PRs
Closed
#582 Issue-creation prompts must include durable issue content or source pointer
Closed
#535 Make merger lease-proof recovery explicit and non-bypassable
Closed
#588 fix: mcp_get_control_plane_guide must accept org/repo after #530 guard
Closed
#525 Allow reconciler to close superseded PRs/issues without switching to author
Closed
#549 controller-acceptance: PR #542 / Issue #517 cleanup closed (MCP-native per #517)
Closed
#537 Replace manual merger lease seeding with explicit guarded lease adoption
Closed
#524 gitea_reconcile_merged_cleanups should be callable from reconciler without switching to author
Closed
#578 fix: reviewer lease release passes remote alias to _authenticated_username
Closed
#436 Web UI: Test coverage and CI checks
Closed
#435 Web UI: Auth and deployment boundary
Closed
#434 Web UI: Gated action framework
Closed
#577 Reviewer lease release must supersede prior claimed markers (newest-wins)
Closed
#556 Terminal launcher os error 2 blocks required git/pytest finalization commands
Closed
#552 Require BLOCKED + DIAGNOSE when LLM cannot perform required workflow step
Closed
#507 Require Controller Handoff plus Thread State Ledger for workflow comments
Closed
#432 Web UI: Worktree and branch hygiene dashboard
Closed
#431 Web UI: Report audit paste tool
Closed
#551 Codex sessions do not mount required gitea-workflow skill
Closed
#483 Clarify and enforce reviewer-vs-merger role boundaries
Closed
#558 Block direct imports and raw API mutation paths outside sanctioned MCP daemon
Closed
#532 Teach merged-cleanup reconcile to discover actual issue worktree aliases
Closed
#495 Require canonical next-action comments on issues, PRs, and discussions
Closed
#496 Enforce canonical state comment validation before posting workflow comments
Closed
#501 Reject reviewer handoffs with contradictory mutation ledger or ambiguous final decision state
Closed
#505 Add Canonical Thread Handoff protocol for issue and PR comments
Closed
#513 Require issue type and workflow status labels
Closed
#522 Require live PR head re-pin before conflict-fix classification
Closed
#430 Web UI: Runtime health and stale MCP detection
Closed
#523 Allow reconciler profile to run merged cleanup without switching to author
Closed
#482 Add reviewer menu prompt: skip already-reviewed stale REQUEST_CHANGES PR and hand off to author
Closed
#420 MCP server must dynamically reload runtime profiles and capability gates or support hot restart
Closed
#533 Require true pre-merge baseline proof for non-zero validation exits
Closed
#534 Add authorized cleanup path for reviewer scratch worktrees
Closed
#572 feat: look at approvals or issues next if the PR queue is empty
Closed
#494 Add canonical state handoff ledger for discussions, issues, and PRs
Closed
#528 Teach merged cleanup to discover non-canonical local worktree names
Closed
#569 Fix broken ISSUE_LOCK_FILE import in webui/lease_loader.py
Closed
#557 Define bootstrap review path for self-hosted MCP workflow fixes
Closed
#547 gitea_adopt_merger_pr_lease duplicate verify_preflight_purity clears capability state
Closed
#306 Add dedicated reconciler capability for closing already-landed open PRs
Closed
#500 Add controller issue-acceptance gate before issues can be closed as complete
Closed
#559 Persist MCP workflow proof and review decision state across daemon processes
Closed
#433 Web UI: Lease and collision visibility
Closed
#514 Block raw git branch-delete bypass outside authorized cleanup roles
Closed
#531 Detect stale MCP server runtime before mutation tools execute
Closed
#473 Add root-level run-tests.sh convenience runner for full validation
Closed
#405 Require exact capability proof for every mutation in reviewer final reports
Closed
#519 Fix gitea_assess_conflict_fix_push HTTP 500 "issue does not exist" on valid conflict-fix push
Closed
#540 fix: preserve actual reconciler role for #274 branch-only mutation exemptions during comment_issue preflight
Closed
#560 Add worktree_path binding to gitea_create_issue_comment
Closed
#530 Fix MCP remote default repo mismatch for prgs
Closed
#478 Add root MCP operator shell menu
Closed
#548 defect: gitea_adopt_merger_pr_lease duplicate verify_preflight_purity call clears capability state
Closed
#546 Reviewer lease acquisition clears preflight capability token needed by gitea_submit_pr_review
Closed
#517 Require MCP-native cleanup for post-merge lease/comment/worktree cleanup
Closed
#404 Add worktree cleanup audit integrity and missing-preserved-worktree detection
Closed
#536 process: replace manual lease seeding with a durable, auditable merger lease adoption/recovery flow
Closed
#403 Workflow-load gate must establish reviewer session mode boundaries and classify pre-review commands
Closed
#475 Add hard guard preventing LLM sessions from moving the root checkout away from master
Closed
#401 Add session-owned worktree cleanup and TTL enforcement for branches directory
Closed
#419 Keep audit and reconciliation tasks read-only unless cleanup is explicitly authorized
Closed
#389 Reviewer mutations require canonical workflow load proof
Closed
#515 Add safe post-merge moot lease cleanup for already-merged PRs
Closed
#503 Reviewer mutation tools must use the active branches worktree, not stale MCP server process root
Closed
#521 Restore gitea_lock_issue MCP tool registration for author create_pr flow
Closed
#510 Isolate MCP workspace binding across author/reviewer/merger namespaces
Closed
#402 Require capability and safety-gate proof for post-merge branch and worktree cleanup
Closed
#469 Preflight capability resolution reset by interleaved read-only calls before mutation
Closed
#470 Capability preflight should survive safe read calls or report sequencing requirements clearly
Closed
#468 Reconciler close_pr should not be blocked by author branch/worktree guard
Closed
#485 Guard PR-comment/lease listing against non-list API payloads (KeyError: slice)
Closed
#477 Expose explicit adoption proof in gitea_lock_issue response when existing own branch is adopted
Closed
#398 Require explicit worktree and cwd proof for PR review validation commands
Closed
#484 Add first-class stacked PR support to the author workflow (gitea_create_pr blocked on non-master base)
Closed
#406 Add precise validation-status vocabulary for raw PR-head failures resolved by merge simulation
Closed
#399 Add conflict-fix leases and stale-head protection for PR branch pushes
Closed
#471 Merge gate must require approval for the current PR head SHA
Closed
#438 Harden shared issue/PR lock handling against concurrent LLM session clobbering
Closed
#442 Add own-branch lock adoption / recovery path to gitea_lock_issue
Closed
#440 Add non-destructive recovery for pushed branches after lost issue locks
Closed
#443 Replace single global issue-lock file with repo/session-safe lock ownership
Closed
#460 Make branches-only mutation guard agree with runtime_context worktree resolution
Closed
#407 Add per-PR reviewer leases for safe parallel PR cleanup
Closed
#447 Block manual issue-lock seeding and require lock mutation proof in final reports
Closed
#400 Move duplicate work detection before author branch creation, edits, commits, and pushes
Closed
#458 Web UI queue dashboard hides empty-state copy during credential fail-closed state
Closed
#429 Web UI: Live PR and issue queue dashboard
Closed
#428 Web UI: Prompt library from canonical workflows
Closed
#450 Thread worktree_path through gitea_create_issue and fail closed on invalid/stable-checkout workspace
Closed
#427 Web UI: Project registry and onboarding model
Closed
#426 Web UI: Create internal server skeleton
Closed
#408 gitea_delete_branch must enforce exact gitea.branch.delete capability at tool entry
Closed
#396 Require PR review reports to account for transient validation failures
Closed
#395 Require proof-backed PR review handoff claims
Closed
#304 Add dedicated reconciler profile for already-landed PR closure
Closed
#139 Make Gitea MCP task routing role-aware instead of launcher-profile dependent
Closed
#391 Reviewer final reports must pass schema verification before output
Closed
#307 Reconciliation workflows must emit only the canonical reconciliation handoff schema
Closed
#267 Add issue/PR work leases so multiple LLMs cannot accidentally do the same work
Closed
#301 Add reconciliation workflow for already-landed open PRs and linked issues
Closed
#295 Classify already-landed PRs as reconciliation-only, not review eligible
Closed
#274 Enforce branches-only worktrees for all LLM task mutations
Closed
#308 Already-landed reconciliation reports must include PR inventory pagination proof
Closed
#310 Add prgs-reconciler profile with gated already-landed PR close capability
Closed
#300 PR reconciliation handoffs must prove linked issue status before reporting it
Closed
#294 Enforce already-landed PR gate before review approval or merge
Closed
#296 Expose canonical PR review and merge prompt through project skills and MCP tooling
Closed
#390 Add PR-only queue cleanup mode that dispatches one canonical review per PR
Closed
#290 Harden PR review and merge workflow with enforced state machine gates
Closed
#299 Controller handoff validator must reject stale fields after already-landed PR gate
Closed
#309 Add dedicated reconciler capability to close already-landed open PRs
Closed
#270 Gitea operations must prefer native MCP and fail closed on unsafe shell/API fallbacks
Closed
#302 Define partial reconciliation behavior when PR close capability is missing
Closed
#293 Reviewer final reports must prove inventory completeness and worktree state consistently
Closed
#303 Controller handoff schema must support already-landed PR reconciliation
Closed
#289 Blocked reviewer workflows must stop cleanly on infra_stop and produce repair handoff
Closed
#268 Issue claims need heartbeat leases and stale-claim cleanup
Closed
#319 Reviewer controller handoffs must use precise mutation categories
Closed
#316 Reviewer validation reports must distinguish PR-head tests from diagnostic edited-worktree tests
Closed
#292 Reviewer workflow must stop before approval when PR head is already landed
Closed
#298 Final report validator must reject eligible/reviewed wording for already-landed PRs
Closed
#315 Reviewer workflows must not edit PR validation worktrees
Closed
#317 Reviewer reports must classify local merge simulations as worktree mutations
Closed
#311 Reviewer reports must include exact validation commands and execution environment
Closed
#359 Fix TestIssueLockArtifactWarning profile gate setup (full suite failure)
Closed
#312 Reviewer workflows must prove worktree ownership before reset or validation
Closed
#323 Reviewer approval must require baseline proof when full test suite fails
Closed
#314 Reviewer reports must verify linked issue consistency for the selected PR
Closed
#318 Reviewer queue selection must prove prior PR blockers live before skipping
Closed
#324 Normal reviewer workflows must not use local Gitea fallback scripts or profile secrets
Closed
#320 Reviewer controller handoffs must remove legacy Workspace mutations field
Closed
#321 Reviewer queue selection must prove ordering before selecting next PR
Closed
#327 Add final-report validator rules for reviewer and reconciliation handoffs
Closed
#330 Enforce proof wording for pagination and live blocker claims
Closed
#313 Final reports must not say workspace mutations none when worktree mutations occurred
Closed
#339 Reject reviewer queue-status reports that violate loaded workflow proof gates
Closed
#322 Reviewer reports must include exact conflict proof for skipped non-mergeable PRs
Closed
#325 Reviewer baseline validation must use branches worktrees, not the main checkout
Closed
#332 Enforce hard-stop after terminal review mutation
Closed
#297 Reviewer reports must classify git fetch as a git ref mutation, not read-only diagnostics
Closed
#153 Complete GlitchTip-to-Gitea filing orchestrator
Closed
#340 Add pagination metadata or explicit final-page proof to gitea_list_prs
Closed
#337 Extract create-issue workflow from monolithic LLM project skill
Closed
#334 Extract review-merge-pr workflow from monolithic LLM project skill
Closed
#259 Add subagent tool-budget guardrails for deterministic MCP tasks
Closed
#269 Merged PRs must trigger branch and worktree cleanup reconciliation
Closed
#285 MCP infra_stop conflict state must be recomputed live, not cached across resolved worktree states
Closed
#331 Add final-report mutation ledger verifier
Closed
#305 Workflow reports should avoid unnecessary personal email disclosure
Closed
#326 Reviewer approval must prove prior request-changes blockers are resolved or invalid
Closed
#266 Subagents must inherit task gates and be blocked for deterministic write workflows
Closed
#333 Split monolithic LLM project workflow into task-specific skill workflows
Closed
#283 Sibling-worktree skip test fails outside branches/ worktree layout (location-dependent)
Closed
#271 Validation claims must be backed by a command ledger and final-report verifier
Closed
#275 Make issue claim/lock gates compatible with global branches-only worktrees
Closed
#258 Hard-stop agent workflows when shell spawn returns exit_code -1
Closed
#260 Forbid WebFetch/Playwright/manual-encoding fallbacks when MCP commit tools exist
Closed
#263 Provide native MCP-safe commit payload preparation without shell
Closed
#261 Document cleanup for agent temp artifacts (_encode_commit_payload.py, _emit_payload.py)
Closed
#262 Map gitea_commit_files in the task capability resolver
Closed
#191 Harden issue-filing final reports: Controller Handoff, full SHAs, and exact mutation capability proof
Closed
#152 Correct Jenkins trigger safety boundary
Closed
#272 Add Work Selection Rule for LLMs to operating rules
Closed
#228 Make Gitea MCP role selection operation-scoped instead of LLM-session-scoped
Closed
#155 Add integration and discoverability coverage for Jenkins/GlitchTip MCP clients
Closed
#252 Pre-flight order gate counts foreign workspace edits and sticks after fresh whoami, blocking legitimate review submissions
Closed
#200 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Closed
#189 Implement fail-closed continuation mode for issues already represented by open PRs
Closed
#188 Require explicit continuation mode before working an issue already represented by an open PR
Closed
#249 Issue-lock gate binds to the shared dev worktree, blocking all scratch-clone author sessions while any session is mid-branch
Closed
#244 Review submissions land as PENDING drafts; merges proceed without a visible APPROVED verdict
Closed
#238 Author read-only PR inventory must not remain blocked after wrong-role reviewer denial
Closed
#245 Make test_health portable to scratch clones (no hard dependency on repo-local venv/bin/python)
Closed
#243 Close forbidden-git-command detection gaps in reviewer_worktree.py (checkout HEAD --, checkout ., git switch)
Closed
#149 Update operator runbooks and roadmap docs
Closed
#150 Add integration/discoverability coverage
Closed
#148 Complete GlitchTip-to-Gitea filing orchestrator
Closed
#147 Correct Jenkins trigger safety boundary
Closed
#208 Add dogfood gate proving issue lock existed before implementation work began
Closed
#198 Require explicit PR inventory trust-gate status in empty-queue reports
Closed
#196 Require PR inventory trust gate to be enforced in the live reviewer queue path
Closed
#233 Reviewer tasks must fail closed or use scratch clones when target worktree is dirty
Closed
#232 Refresh stale wiki proof-head citation in Repositories map (#224 follow-up)
Closed
#224 Make Gitea Wiki publication a required repo readiness gate
Closed
#227 Fix test env isolation for credentials and create_pr gate tests
Closed
#151 Fix MCP registration and naming for Jenkins/GlitchTip servers
Closed
#209 Block role/tool namespace mismatch for author and reviewer mutations
Closed
#221 Isolate Gitea MCP runtime from mutable development worktrees
Closed
#183 Harden author-run reporting and mutation capability proof: Controller Handoff, exact issue-claim capability, exact sweep evidence, PR head SHA
Closed
#197 Enforce hard-stop purity after reviewer capability denial
Closed
#210 Block workspace edits before identity, capability, and role verification
Closed
#204 Enforce exact issue lock before branch, commit, push, or PR creation
Closed
#211 Enforce single terminal review decision per PR review run
Closed
#207 Enforce exact-title and semantic duplicate stop before issue creation
Closed
#216 Add explicit close_pr capability resolution and gated PR close path
Closed
#206 Add role/session router so reviewer tasks cannot run inside author-bound Codex sessions
Closed
#199 Block CLI reviewer fallback after MCP profile switch failure
Closed
#179 Tighten A-level reviewer proof requirements after #173 merge
Closed
#201 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Closed
#194 Investigate false-empty PR queue reports when Gitea-Tools has open PRs
Closed
#202 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Closed
#175 Prevent implicit reviewer-to-author role pivot during blind PR queue workflows
Closed
#146 Fix MCP registration and naming for Jenkins/GlitchTip servers
Closed
#177 Harden author workflow against branch drift and accidental commits to master
Closed
#182 Require controller handoff summaries in all LLM workflow final reports
Closed
#184 Disambiguate target repo names and require Gitea-Tools inventory when user references the MCP Gitea tool
Closed
#178 Fix test suite stdout capture issue that forces junitxml workaround
Closed
#173 Harden blind PR queue review workflow: require checked-out pinned head, complete inventory, and evidence-backed eligibility
Closed
#171 Audit and harden redaction for raw URL exposure in PR inventory/review failure output
Closed
#170 Add missing tests for issue #166 Requirement-5 conflict/staleness scenarios
Closed
#167 Harden LLM role/task alignment and PR review feedback discovery
Closed
#166 Harden PR queue reconciliation against stale or conflicting PR state reports
Closed
#164 Allow read-only PR queue inventory under author profiles while preserving hard review/merge gates
Closed
#154 Update operator runbooks and roadmap docs for Jenkins/GlitchTip MCP status
Closed
#144 Update Gitea operator guide and skill registry for role-aware task routing
Closed
#142 Add structured permission failure reports to gated Gitea MCP tools
Closed
#145 Add task-routing and permission-boundary regression tests
Closed
#156 Harden gitea-workflow compliance harness: sandbox target, required merge-path spec steps, competing-scenario merge-gate assertions
Closed
#143 Document static dual-namespace Gitea MCP deployment model
Closed
#141 Add read-only Gitea task capability resolver
Closed
#137 Allow issue-comment posting for Gitea author/reviewer profiles
Closed
#107 Provision MDCPS Gitea reviewer identity and enable MDCPS review/merge workflow
Closed
#129 Add MCP Control Plane operator guide and project skill registry tools
Closed
#125 Redact PR web-link URL fields from gitea_list_prs / gitea_view_pr MCP output
Closed
#131 Make Gitea MCP profile activation and runtime identity state explicit
Closed
#128 Add MCP operator guide tool for Gitea workflow/profile instructions
Closed
#126 Add Gitea issue comment list/create MCP tools
Closed
#100 Discussion: profiles.json v2 model for multi-service environments
Closed
#104 Extend whoami and profile metadata for environment.service.identity addressing
Closed
#105 Add v1-to-v2 profiles.json migration helper
Closed
#111 Re-land release/version SOP with v1.1.0 audit lessons
Closed
#106 Define operation-name normalization table and enforcement tests
Closed
#120 feat: MCP support for profiles.json v2 contexts schema with enabled enforcement
Closed
#112 Add post-merge file-presence verification to merge-pr workflow
Closed
#110 Close Implements #N tracker gap in PR bodies and cleanup regex
Closed
#108 Update Controller Handoff docs to use compact default format
Closed
#103 Implement profiles.json v2 config parser with validation invariants
Closed
#109 Add dual-profile MCP launcher pattern to eliminate identity-relaunch bottleneck
Closed
#101 Document Controller Handoff Summary and LLM workflow requirements
Closed
#75 MCP Control Plane umbrella: Jenkins + GlitchTip integrations
Closed
#98 Surface skipped tracker cleanup on merge read-back failure
Closed
#66 Add Docker-based Gitea integration test suite
Closed
#65 Refactor mcp_server.py into a modular gitea_tools package
Closed
#78 Design GlitchTip/Gitea deduplication and linking
Closed
#74 Design GlitchTip-to-Gitea issue filing workflow
Closed
#63 Release v1.1.0
Closed
#76 Extend profile/config model for multi-service MCP boundaries
Closed
#73 Investigate GlitchTip read-only error/event tools
Closed
#80 Add labels for Jenkins/GlitchTip/observability workflow
Closed
#79 Update safety/boundary docs for Jenkins and GlitchTip
Closed
#77 Jenkins repo/branch/PR to job mapping design
Closed
#72 Investigate Jenkins read-only build status tools
Closed
#86 Add opaque LLM agent SHA attribution for issues, branches, PRs, and review handoffs
Closed
#67 Add shared API pagination and failure handling, with unit coverage
Closed
#69 Improve Linux/container portability documentation
Closed
#71 ADR: Confirm and extend MCP Control Plane trust-boundary model for Jenkins and GlitchTip
Closed
#70 Add developer testing guidelines
Closed
#68 Document release/version process SOP
Closed
#6 refactor: split manage_labels.py into reusable modes
Closed
#9 Add authenticated-user identity lookup to Gitea MCP
Closed
#3 bug: macOS com.apple.provenance blocks Python execution of new files
Closed
#4 feat: add --remote support to shell scripts
Closed
#58 Automatically release status:in-progress on close and merge
Closed
#56 Automatically release status:in-progress on close and merge
Closed
#46 Refactor and expand portable LLM workflow skill templates
Closed
#50 Add release-tag automation helper
Closed
#51 Document closed-not-merged PR reconciliation rules
Closed
#48 Standardize issue-linked branches and release tagging
Closed
#42 Create portable LLM project workflow skill
Closed
#43 Validate edit_pr no-fields before authentication
Closed
#39 Complete isolated-worktree helpers (worktree-review, worktree-clean, tests)
Closed
#38 Standardize isolated branch worktrees for LLM work
Closed
#36 Improve Gitea config menu UX
Closed
#34 Add shell wrapper for Gitea config menu
Closed
#10 Roadmap: Task-scoped MCP execution profiles for LLM-operated Gitea workflows
Closed
#17 Document LLM-operated Gitea workflow runbooks
Closed
#19 Support separate Gitea MCP runtime profiles via environment configuration
Closed
#31 Interactive profile setup menu for canonical Gitea MCP config
Closed
#18 Audit-log Gitea MCP mutating actions with execution profile metadata
Closed
#27 v0.3.32: Honor Retry-After on HTTP 429 and add jittered exponential backoff
Closed
#16 Add gated Gitea PR merge workflow
Closed
#15 Add gated Gitea PR review actions
Closed
#14 Add PR author and reviewer eligibility checks to Gitea MCP
Closed
#13 Add read-only Gitea MCP profile discovery
Closed
#12 Define task-scoped Gitea MCP execution profile model
Closed
#11 Add authenticated-user identity lookup to Gitea MCP
Closed
#7 feat: convert Gitea-Tools into an MCP server
Closed
#5 feat: add view_issue.py to inspect a single issue
Closed
#1 refactor: extract shared auth.py module
Closed
#2 feat: add list_issues.py for querying open issues
547 Issues created by 1 user
Opened
#1 refactor: extract shared auth.py module
Opened
#2 feat: add list_issues.py for querying open issues
Opened
#3 bug: macOS com.apple.provenance blocks Python execution of new files
Opened
#4 feat: add --remote support to shell scripts
Opened
#5 feat: add view_issue.py to inspect a single issue
Opened
#6 refactor: split manage_labels.py into reusable modes
Opened
#7 feat: convert Gitea-Tools into an MCP server
Opened
#9 Add authenticated-user identity lookup to Gitea MCP
Opened
#10 Roadmap: Task-scoped MCP execution profiles for LLM-operated Gitea workflows
Opened
#11 Add authenticated-user identity lookup to Gitea MCP
Opened
#12 Define task-scoped Gitea MCP execution profile model
Opened
#13 Add read-only Gitea MCP profile discovery
Opened
#14 Add PR author and reviewer eligibility checks to Gitea MCP
Opened
#15 Add gated Gitea PR review actions
Opened
#16 Add gated Gitea PR merge workflow
Opened
#17 Document LLM-operated Gitea workflow runbooks
Opened
#18 Audit-log Gitea MCP mutating actions with execution profile metadata
Opened
#19 Support separate Gitea MCP runtime profiles via environment configuration
Opened
#27 v0.3.32: Honor Retry-After on HTTP 429 and add jittered exponential backoff
Opened
#31 Interactive profile setup menu for canonical Gitea MCP config
Opened
#34 Add shell wrapper for Gitea config menu
Opened
#36 Improve Gitea config menu UX
Opened
#38 Standardize isolated branch worktrees for LLM work
Opened
#39 Complete isolated-worktree helpers (worktree-review, worktree-clean, tests)
Opened
#42 Create portable LLM project workflow skill
Opened
#43 Validate edit_pr no-fields before authentication
Opened
#46 Refactor and expand portable LLM workflow skill templates
Opened
#48 Standardize issue-linked branches and release tagging
Opened
#50 Add release-tag automation helper
Opened
#51 Document closed-not-merged PR reconciliation rules
Opened
#56 Automatically release status:in-progress on close and merge
Opened
#58 Automatically release status:in-progress on close and merge
Opened
#63 Release v1.1.0
Opened
#65 Refactor mcp_server.py into a modular gitea_tools package
Opened
#66 Add Docker-based Gitea integration test suite
Opened
#67 Add shared API pagination and failure handling, with unit coverage
Opened
#68 Document release/version process SOP
Opened
#69 Improve Linux/container portability documentation
Opened
#70 Add developer testing guidelines
Opened
#71 ADR: Confirm and extend MCP Control Plane trust-boundary model for Jenkins and GlitchTip
Opened
#72 Investigate Jenkins read-only build status tools
Opened
#73 Investigate GlitchTip read-only error/event tools
Opened
#74 Design GlitchTip-to-Gitea issue filing workflow
Opened
#75 MCP Control Plane umbrella: Jenkins + GlitchTip integrations
Opened
#76 Extend profile/config model for multi-service MCP boundaries
Opened
#77 Jenkins repo/branch/PR to job mapping design
Opened
#78 Design GlitchTip/Gitea deduplication and linking
Opened
#79 Update safety/boundary docs for Jenkins and GlitchTip
Opened
#80 Add labels for Jenkins/GlitchTip/observability workflow
Opened
#86 Add opaque LLM agent SHA attribution for issues, branches, PRs, and review handoffs
Opened
#98 Surface skipped tracker cleanup on merge read-back failure
Opened
#100 Discussion: profiles.json v2 model for multi-service environments
Opened
#101 Document Controller Handoff Summary and LLM workflow requirements
Opened
#103 Implement profiles.json v2 config parser with validation invariants
Opened
#104 Extend whoami and profile metadata for environment.service.identity addressing
Opened
#105 Add v1-to-v2 profiles.json migration helper
Opened
#106 Define operation-name normalization table and enforcement tests
Opened
#107 Provision MDCPS Gitea reviewer identity and enable MDCPS review/merge workflow
Opened
#108 Update Controller Handoff docs to use compact default format
Opened
#109 Add dual-profile MCP launcher pattern to eliminate identity-relaunch bottleneck
Opened
#110 Close Implements #N tracker gap in PR bodies and cleanup regex
Opened
#111 Re-land release/version SOP with v1.1.0 audit lessons
Opened
#112 Add post-merge file-presence verification to merge-pr workflow
Opened
#120 feat: MCP support for profiles.json v2 contexts schema with enabled enforcement
Opened
#125 Redact PR web-link URL fields from gitea_list_prs / gitea_view_pr MCP output
Opened
#126 Add Gitea issue comment list/create MCP tools
Opened
#128 Add MCP operator guide tool for Gitea workflow/profile instructions
Opened
#129 Add MCP Control Plane operator guide and project skill registry tools
Opened
#131 Make Gitea MCP profile activation and runtime identity state explicit
Opened
#137 Allow issue-comment posting for Gitea author/reviewer profiles
Opened
#139 Make Gitea MCP task routing role-aware instead of launcher-profile dependent
Opened
#141 Add read-only Gitea task capability resolver
Opened
#142 Add structured permission failure reports to gated Gitea MCP tools
Opened
#143 Document static dual-namespace Gitea MCP deployment model
Opened
#144 Update Gitea operator guide and skill registry for role-aware task routing
Opened
#145 Add task-routing and permission-boundary regression tests
Opened
#146 Fix MCP registration and naming for Jenkins/GlitchTip servers
Opened
#147 Correct Jenkins trigger safety boundary
Opened
#148 Complete GlitchTip-to-Gitea filing orchestrator
Opened
#149 Update operator runbooks and roadmap docs
Opened
#150 Add integration/discoverability coverage
Opened
#151 Fix MCP registration and naming for Jenkins/GlitchTip servers
Opened
#152 Correct Jenkins trigger safety boundary
Opened
#153 Complete GlitchTip-to-Gitea filing orchestrator
Opened
#154 Update operator runbooks and roadmap docs for Jenkins/GlitchTip MCP status
Opened
#155 Add integration and discoverability coverage for Jenkins/GlitchTip MCP clients
Opened
#156 Harden gitea-workflow compliance harness: sandbox target, required merge-path spec steps, competing-scenario merge-gate assertions
Opened
#164 Allow read-only PR queue inventory under author profiles while preserving hard review/merge gates
Opened
#166 Harden PR queue reconciliation against stale or conflicting PR state reports
Opened
#167 Harden LLM role/task alignment and PR review feedback discovery
Opened
#170 Add missing tests for issue #166 Requirement-5 conflict/staleness scenarios
Opened
#171 Audit and harden redaction for raw URL exposure in PR inventory/review failure output
Opened
#173 Harden blind PR queue review workflow: require checked-out pinned head, complete inventory, and evidence-backed eligibility
Opened
#175 Prevent implicit reviewer-to-author role pivot during blind PR queue workflows
Opened
#177 Harden author workflow against branch drift and accidental commits to master
Opened
#178 Fix test suite stdout capture issue that forces junitxml workaround
Opened
#179 Tighten A-level reviewer proof requirements after #173 merge
Opened
#182 Require controller handoff summaries in all LLM workflow final reports
Opened
#183 Harden author-run reporting and mutation capability proof: Controller Handoff, exact issue-claim capability, exact sweep evidence, PR head SHA
Opened
#184 Disambiguate target repo names and require Gitea-Tools inventory when user references the MCP Gitea tool
Opened
#188 Require explicit continuation mode before working an issue already represented by an open PR
Opened
#189 Implement fail-closed continuation mode for issues already represented by open PRs
Opened
#191 Harden issue-filing final reports: Controller Handoff, full SHAs, and exact mutation capability proof
Opened
#194 Investigate false-empty PR queue reports when Gitea-Tools has open PRs
Opened
#196 Require PR inventory trust gate to be enforced in the live reviewer queue path
Opened
#197 Enforce hard-stop purity after reviewer capability denial
Opened
#198 Require explicit PR inventory trust-gate status in empty-queue reports
Opened
#199 Block CLI reviewer fallback after MCP profile switch failure
Opened
#200 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Opened
#201 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Opened
#202 Add hard queue-target resolution wall before PR inventory or empty-queue claims
Opened
#204 Enforce exact issue lock before branch, commit, push, or PR creation
Opened
#206 Add role/session router so reviewer tasks cannot run inside author-bound Codex sessions
Opened
#207 Enforce exact-title and semantic duplicate stop before issue creation
Opened
#208 Add dogfood gate proving issue lock existed before implementation work began
Opened
#209 Block role/tool namespace mismatch for author and reviewer mutations
Opened
#210 Block workspace edits before identity, capability, and role verification
Opened
#211 Enforce single terminal review decision per PR review run
Opened
#216 Add explicit close_pr capability resolution and gated PR close path
Opened
#221 Isolate Gitea MCP runtime from mutable development worktrees
Opened
#224 Make Gitea Wiki publication a required repo readiness gate
Opened
#227 Fix test env isolation for credentials and create_pr gate tests
Opened
#228 Make Gitea MCP role selection operation-scoped instead of LLM-session-scoped
Opened
#232 Refresh stale wiki proof-head citation in Repositories map (#224 follow-up)
Opened
#233 Reviewer tasks must fail closed or use scratch clones when target worktree is dirty
Opened
#238 Author read-only PR inventory must not remain blocked after wrong-role reviewer denial
Opened
#243 Close forbidden-git-command detection gaps in reviewer_worktree.py (checkout HEAD --, checkout ., git switch)
Opened
#244 Review submissions land as PENDING drafts; merges proceed without a visible APPROVED verdict
Opened
#245 Make test_health portable to scratch clones (no hard dependency on repo-local venv/bin/python)
Opened
#249 Issue-lock gate binds to the shared dev worktree, blocking all scratch-clone author sessions while any session is mid-branch
Opened
#252 Pre-flight order gate counts foreign workspace edits and sticks after fresh whoami, blocking legitimate review submissions
Opened
#258 Hard-stop agent workflows when shell spawn returns exit_code -1
Opened
#259 Add subagent tool-budget guardrails for deterministic MCP tasks
Opened
#260 Forbid WebFetch/Playwright/manual-encoding fallbacks when MCP commit tools exist
Opened
#261 Document cleanup for agent temp artifacts (_encode_commit_payload.py, _emit_payload.py)
Opened
#262 Map gitea_commit_files in the task capability resolver
Opened
#263 Provide native MCP-safe commit payload preparation without shell
Opened
#266 Subagents must inherit task gates and be blocked for deterministic write workflows
Opened
#267 Add issue/PR work leases so multiple LLMs cannot accidentally do the same work
Opened
#268 Issue claims need heartbeat leases and stale-claim cleanup
Opened
#269 Merged PRs must trigger branch and worktree cleanup reconciliation
Opened
#270 Gitea operations must prefer native MCP and fail closed on unsafe shell/API fallbacks
Opened
#271 Validation claims must be backed by a command ledger and final-report verifier
Opened
#272 Add Work Selection Rule for LLMs to operating rules
Opened
#274 Enforce branches-only worktrees for all LLM task mutations
Opened
#275 Make issue claim/lock gates compatible with global branches-only worktrees
Opened
#283 Sibling-worktree skip test fails outside branches/ worktree layout (location-dependent)
Opened
#285 MCP infra_stop conflict state must be recomputed live, not cached across resolved worktree states
Opened
#289 Blocked reviewer workflows must stop cleanly on infra_stop and produce repair handoff
Opened
#290 Harden PR review and merge workflow with enforced state machine gates
Opened
#292 Reviewer workflow must stop before approval when PR head is already landed
Opened
#293 Reviewer final reports must prove inventory completeness and worktree state consistently
Opened
#294 Enforce already-landed PR gate before review approval or merge
Opened
#295 Classify already-landed PRs as reconciliation-only, not review eligible
Opened
#296 Expose canonical PR review and merge prompt through project skills and MCP tooling
Opened
#297 Reviewer reports must classify git fetch as a git ref mutation, not read-only diagnostics
Opened
#298 Final report validator must reject eligible/reviewed wording for already-landed PRs
Opened
#299 Controller handoff validator must reject stale fields after already-landed PR gate
Opened
#300 PR reconciliation handoffs must prove linked issue status before reporting it
Opened
#301 Add reconciliation workflow for already-landed open PRs and linked issues
Opened
#302 Define partial reconciliation behavior when PR close capability is missing
Opened
#303 Controller handoff schema must support already-landed PR reconciliation
Opened
#304 Add dedicated reconciler profile for already-landed PR closure
Opened
#305 Workflow reports should avoid unnecessary personal email disclosure
Opened
#306 Add dedicated reconciler capability for closing already-landed open PRs
Opened
#307 Reconciliation workflows must emit only the canonical reconciliation handoff schema
Opened
#308 Already-landed reconciliation reports must include PR inventory pagination proof
Opened
#309 Add dedicated reconciler capability to close already-landed open PRs
Opened
#310 Add prgs-reconciler profile with gated already-landed PR close capability
Opened
#311 Reviewer reports must include exact validation commands and execution environment
Opened
#312 Reviewer workflows must prove worktree ownership before reset or validation
Opened
#313 Final reports must not say workspace mutations none when worktree mutations occurred
Opened
#314 Reviewer reports must verify linked issue consistency for the selected PR
Opened
#315 Reviewer workflows must not edit PR validation worktrees
Opened
#316 Reviewer validation reports must distinguish PR-head tests from diagnostic edited-worktree tests
Opened
#317 Reviewer reports must classify local merge simulations as worktree mutations
Opened
#318 Reviewer queue selection must prove prior PR blockers live before skipping
Opened
#319 Reviewer controller handoffs must use precise mutation categories
Opened
#320 Reviewer controller handoffs must remove legacy Workspace mutations field
Opened
#321 Reviewer queue selection must prove ordering before selecting next PR
Opened
#322 Reviewer reports must include exact conflict proof for skipped non-mergeable PRs
Opened
#323 Reviewer approval must require baseline proof when full test suite fails
Opened
#324 Normal reviewer workflows must not use local Gitea fallback scripts or profile secrets
Opened
#325 Reviewer baseline validation must use branches worktrees, not the main checkout
Opened
#326 Reviewer approval must prove prior request-changes blockers are resolved or invalid
Opened
#327 Add final-report validator rules for reviewer and reconciliation handoffs
Opened
#330 Enforce proof wording for pagination and live blocker claims
Opened
#331 Add final-report mutation ledger verifier
Opened
#332 Enforce hard-stop after terminal review mutation
Opened
#333 Split monolithic LLM project workflow into task-specific skill workflows
Opened
#334 Extract review-merge-pr workflow from monolithic LLM project skill
Opened
#337 Extract create-issue workflow from monolithic LLM project skill
Opened
#339 Reject reviewer queue-status reports that violate loaded workflow proof gates
Opened
#340 Add pagination metadata or explicit final-page proof to gitea_list_prs
Opened
#359 Fix TestIssueLockArtifactWarning profile gate setup (full suite failure)
Opened
#389 Reviewer mutations require canonical workflow load proof
Opened
#390 Add PR-only queue cleanup mode that dispatches one canonical review per PR
Opened
#391 Reviewer final reports must pass schema verification before output
Opened
#395 Require proof-backed PR review handoff claims
Opened
#396 Require PR review reports to account for transient validation failures
Opened
#398 Require explicit worktree and cwd proof for PR review validation commands
Opened
#399 Add conflict-fix leases and stale-head protection for PR branch pushes
Opened
#400 Move duplicate work detection before author branch creation, edits, commits, and pushes
Opened
#401 Add session-owned worktree cleanup and TTL enforcement for branches directory
Opened
#402 Require capability and safety-gate proof for post-merge branch and worktree cleanup
Opened
#403 Workflow-load gate must establish reviewer session mode boundaries and classify pre-review commands
Opened
#404 Add worktree cleanup audit integrity and missing-preserved-worktree detection
Opened
#405 Require exact capability proof for every mutation in reviewer final reports
Opened
#406 Add precise validation-status vocabulary for raw PR-head failures resolved by merge simulation
Opened
#407 Add per-PR reviewer leases for safe parallel PR cleanup
Opened
#408 gitea_delete_branch must enforce exact gitea.branch.delete capability at tool entry
Opened
#419 Keep audit and reconciliation tasks read-only unless cleanup is explicitly authorized
Opened
#420 MCP server must dynamically reload runtime profiles and capability gates or support hot restart
Opened
#425 Tracker: MCP Control Plane web UI
Opened
#426 Web UI: Create internal server skeleton
Opened
#427 Web UI: Project registry and onboarding model
Opened
#428 Web UI: Prompt library from canonical workflows
Opened
#429 Web UI: Live PR and issue queue dashboard
Opened
#430 Web UI: Runtime health and stale MCP detection
Opened
#431 Web UI: Report audit paste tool
Opened
#432 Web UI: Worktree and branch hygiene dashboard
Opened
#433 Web UI: Lease and collision visibility
Opened
#434 Web UI: Gated action framework
Opened
#435 Web UI: Auth and deployment boundary
Opened
#436 Web UI: Test coverage and CI checks
Opened
#438 Harden shared issue/PR lock handling against concurrent LLM session clobbering
Opened
#440 Add non-destructive recovery for pushed branches after lost issue locks
Opened
#442 Add own-branch lock adoption / recovery path to gitea_lock_issue
Opened
#443 Replace single global issue-lock file with repo/session-safe lock ownership
Opened
#447 Block manual issue-lock seeding and require lock mutation proof in final reports
Opened
#450 Thread worktree_path through gitea_create_issue and fail closed on invalid/stable-checkout workspace
Opened
#458 Web UI queue dashboard hides empty-state copy during credential fail-closed state
Opened
#460 Make branches-only mutation guard agree with runtime_context worktree resolution
Opened
#468 Reconciler close_pr should not be blocked by author branch/worktree guard
Opened
#469 Preflight capability resolution reset by interleaved read-only calls before mutation
Opened
#470 Capability preflight should survive safe read calls or report sequencing requirements clearly
Opened
#471 Merge gate must require approval for the current PR head SHA
Opened
#473 Add root-level run-tests.sh convenience runner for full validation
Opened
#475 Add hard guard preventing LLM sessions from moving the root checkout away from master
Opened
#477 Expose explicit adoption proof in gitea_lock_issue response when existing own branch is adopted
Opened
#478 Add root MCP operator shell menu
Opened
#482 Add reviewer menu prompt: skip already-reviewed stale REQUEST_CHANGES PR and hand off to author
Opened
#483 Clarify and enforce reviewer-vs-merger role boundaries
Opened
#484 Add first-class stacked PR support to the author workflow (gitea_create_pr blocked on non-master base)
Opened
#485 Guard PR-comment/lease listing against non-list API payloads (KeyError: slice)
Opened
#494 Add canonical state handoff ledger for discussions, issues, and PRs
Opened
#495 Require canonical next-action comments on issues, PRs, and discussions
Opened
#496 Enforce canonical state comment validation before posting workflow comments
Opened
#500 Add controller issue-acceptance gate before issues can be closed as complete
Opened
#501 Reject reviewer handoffs with contradictory mutation ledger or ambiguous final decision state
Opened
#503 Reviewer mutation tools must use the active branches worktree, not stale MCP server process root
Opened
#505 Add Canonical Thread Handoff protocol for issue and PR comments
Opened
#507 Require Controller Handoff plus Thread State Ledger for workflow comments
Opened
#510 Isolate MCP workspace binding across author/reviewer/merger namespaces
Opened
#513 Require issue type and workflow status labels
Opened
#514 Block raw git branch-delete bypass outside authorized cleanup roles
Opened
#515 Add safe post-merge moot lease cleanup for already-merged PRs
Opened
#517 Require MCP-native cleanup for post-merge lease/comment/worktree cleanup
Opened
#519 Fix gitea_assess_conflict_fix_push HTTP 500 "issue does not exist" on valid conflict-fix push
Opened
#521 Restore gitea_lock_issue MCP tool registration for author create_pr flow
Opened
#522 Require live PR head re-pin before conflict-fix classification
Opened
#523 Allow reconciler profile to run merged cleanup without switching to author
Opened
#524 gitea_reconcile_merged_cleanups should be callable from reconciler without switching to author
Opened
#525 Allow reconciler to close superseded PRs/issues without switching to author
Opened
#528 Teach merged cleanup to discover non-canonical local worktree names
Opened
#529 Require canonical post-merge validation wording and baseline proof for non-zero test-suite exits
Opened
#530 Fix MCP remote default repo mismatch for prgs
Opened
#531 Detect stale MCP server runtime before mutation tools execute
Opened
#532 Teach merged-cleanup reconcile to discover actual issue worktree aliases
Opened
#533 Require true pre-merge baseline proof for non-zero validation exits
Opened
#534 Add authorized cleanup path for reviewer scratch worktrees
Opened
#535 Make merger lease-proof recovery explicit and non-bypassable
Opened
#536 process: replace manual lease seeding with a durable, auditable merger lease adoption/recovery flow
Opened
#537 Replace manual merger lease seeding with explicit guarded lease adoption
Opened
#539 Reviewer session performed merger/author mutations and direct API comment bypass
Opened
#540 fix: preserve actual reconciler role for #274 branch-only mutation exemptions during comment_issue preflight
Opened
#543 MCP namespace EOF after server restart blocks registered Gitea tools from merger flow
Opened
#544 Investigate and resolve Gitea MCP namespace EOF defect
Opened
#546 Reviewer lease acquisition clears preflight capability token needed by gitea_submit_pr_review
Opened
#547 gitea_adopt_merger_pr_lease duplicate verify_preflight_purity clears capability state
Opened
#548 defect: gitea_adopt_merger_pr_lease duplicate verify_preflight_purity call clears capability state
Opened
#549 controller-acceptance: PR #542 / Issue #517 cleanup closed (MCP-native per #517)
Opened
#551 Codex sessions do not mount required gitea-workflow skill
Opened
#552 Require BLOCKED + DIAGNOSE when LLM cannot perform required workflow step
Opened
#556 Terminal launcher os error 2 blocks required git/pytest finalization commands
Opened
#557 Define bootstrap review path for self-hosted MCP workflow fixes
Opened
#558 Block direct imports and raw API mutation paths outside sanctioned MCP daemon
Opened
#559 Persist MCP workflow proof and review decision state across daemon processes
Opened
#560 Add worktree_path binding to gitea_create_issue_comment
Opened
#569 Fix broken ISSUE_LOCK_FILE import in webui/lease_loader.py
Opened
#572 feat: look at approvals or issues next if the PR queue is empty
Opened
#577 Reviewer lease release must supersede prior claimed markers (newest-wins)
Opened
#578 fix: reviewer lease release passes remote alias to _authenticated_username
Opened
#582 Issue-creation prompts must include durable issue content or source pointer
Opened
#584 Gitea MCP namespaces returned Transport closed; recovered via host auto-reconnect at session startup
Opened
#588 fix: mcp_get_control_plane_guide must accept org/repo after #530 guard
Opened
#590 Test isolation: intra-file global-state leak in review-mutation ledger fails test_unknown_profile_blocks on master
Opened
#591 Auto-restart Gitea MCP namespaces when master advances
Opened
#594 Allow canonical cleanup or override of stale #332 review decision locks after merged PRs
Opened
#597 Block continuation after BLOCKED + DIAGNOSE in same-session review attempts
Opened
#599 Reviewer lease handoff should expose a canonical active-foreign-session resolution path
Opened
#600 Add controller-owned work allocator to prevent duplicate LLM work on the same issue or PR
Opened
#601 Make active leases first-class workflow state with canonical adopt, release, expire, and abandon handling
Opened
#602 Move terminal-lock and merge-path checks to the beginning of reviewer workflow
Opened
#603 Add lifecycle labels for issues and PRs so LLMs can see ownership and process state
Opened
#604 Add anti-stomp preflight gate before every mutation tool
Opened
#605 Add MCP menu/dashboard view for live queue, leases, blockers, and next safe action
Opened
#606 Integrate self-hosted Sentry observability for MCP workflow collisions and runtime failures
Opened
#607 Add Sentry-to-Gitea incident bridge for MCP workflow failures
Opened
#609 Preserve and resume prepared review verdicts after MCP namespace disconnect or stale backend
Opened
#610 Capability resolver and master parity checks disagree on stale MCP runtime
Opened
#612 Add multi-project Sentry/GlitchTip incident bridge with Gitea issue linking and release sync
Opened
#613 Add control-plane DB for atomic LLM work assignment, leases, and session coordination
Opened
#615 ADR: stable control runtime vs dev runtime for Gitea MCP
Opened
#617 Auto-mode classifier must not count pre-API validator rejections as mutation budget
Opened
#618 Author worktree binding can disappear mid-session and mutation guards enforce it inconsistently
Opened
#620 Allow fresh formal re-review on new PR head after prior REQUEST_CHANGES
Opened
#624 fix: add missing Any import in gitea_mcp_server.py
Opened
#626 Enforce self-propagating canonical handoffs through final controller closure
Opened
#627 Fix paginated repository-label resolution in gitea_set_issue_labels
Opened
#628 Enforce autonomous canonical handoffs and dependency-aware concurrent task orchestration
Opened
#630 Block manual MCP daemon process killing as workflow recovery
Opened
#631 Epic: MCP Control Plane Web Console
Opened
#632 Web Console: Architecture and information architecture (Phase 1)
Opened
#633 Web Console: Authorization, RBAC, secret redaction, and audit model (Phase 1)
Opened
#634 Web Console: Read-only system-health API (Phase 1)
Opened
#635 Web Console: Project registry API evolution (Phase 1)
Opened
#636 Web Console: Session, lease, lock, and worktree inventory API (Phase 1)
Opened
#637 Web Console: Workflow-event and conversation timeline model (Phase 1)
Opened
#638 Web Console: Application shell evolution (Phase 1)
Opened
#639 Web Console: System-health dashboard (Phase 1)
Opened
#640 Web Console: Workflow traffic-control view (Phase 1)
Opened
#641 Web Console: Runtime and session view (Phase 1)
Opened
#642 Web Console: Sanctioned restart and graceful reload controls (Phase 2)
Opened
#643 Web Console: Requests, intent preview, authorization, and workflow initiation (Phase 2)
Opened
#644 Web Console: Stale-runtime recovery, worktree rebinding, and reconciliation controls (Phase 2)
Opened
#645 Web Console: Gitea issue and PR linkage console (Phase 3)
Opened
#646 Web Console: Workflow policy and guardrail configuration visibility (Phase 3)
Opened
#647 Web Console: Versioned policy editing, validation, simulation, approval, and rollback (Phase 3)
Opened
#648 Web Console: Notifications and human-attention routing (Phase 3)
Opened
#649 Web Console: Sentry/GlitchTip connections, correlation, and durable issue creation (Phase 4)
Opened
#650 Web Console: AI-provider connections and evidence-backed operational insights (Phase 4)
Opened
#651 Web Console: Model usage, token cost, latency, and workflow-performance analytics (Phase 4)
Opened
#652 Product vision: MCP Control Plane Web Console (canonical)
Opened
#653 Roadmap: MCP Control Plane Web Console (phased delivery)
Opened
#655 Umbrella: Governed MCP restart coordination and zero-disruption recovery
Opened
#656 Define MCP restart governance and authorization policy
Opened
#657 Inventory and guard all existing MCP restart paths
Opened
#658 Implement MCP restart coordinator and impact analysis
Opened
#659 Implement graceful MCP maintenance-drain mode
Opened
#660 Implement durable MCP session checkpoint schema
Opened
#661 Implement pre-restart drain proof and hard gate
Opened
#662 Implement post-restart MCP reconciliation
Opened
#663 Implement MCP restart classes and blast-radius permissions
Opened
#664 Implement emergency break-glass MCP restart workflow
Opened
#665 Add MCP restart audit events and incident creation
Opened
#666 Add concurrent-session MCP restart safety tests (dogfooding)
Opened
#667 Web Console: Restart status, impact preview, and approval controls
Opened
#668 Design rolling-restart and high-availability MCP architecture
Opened
#669 Replace full-server MCP resets with scoped component recovery
Opened
#670 incident: bare direct-to-master commit 2fa97c26 landed with no PR
Opened
#671 Block direct pushes to stable branches from MCP workflow sessions
Opened
#672 Antigravity active MCP config missing Gitea role servers
Opened
#673 incident: repository-wide regression in master test suite
Opened
#675 fix: residual preflight/worktree/test-isolation remediations after #673
Opened
#678 Expose sanctioned MCP reconnect action to Codex workflow sessions
Opened
#681 Dirty control-checkout WIP left by PR #680 review session (test isolation hacks)
Opened
#682 Replace deprecated Starlette TestClient HTTPX integration
Opened
#683 Harden workflow: block unattributed root WIP and pytest-disabled production guards
Opened
#685 gitea_resolve_task_capability is not side-effect free: stale-runtime path touches mcp_config.json and terminates its own process (os._exit) causing client EOF
Opened
#686 Detect and reject manually launched duplicate MCP role servers as unsupported recovery
Opened
#687 Support gitea.branch.delete capability in reconciler profile and migration helper
Opened
#689 Deterministic MCP namespace attachment (from incident: client transport-pinning to obsolete cohort head 22698c1)
Opened
#690 Harden formal-review runs against cross-role profile activation mid-session
Opened
#691 Completed reviewer lease pinned to superseded PR head stays active with no canonical non-owner cleanup path
Opened
#693 Review-decision-lock recovery has no canonical in-workflow path; review-correction authorization and stale-lock cleanup serve as ad-hoc recovery
Opened
#695 Critical: offline import of MCP server internals reconstructs session gates and contaminates formal reviews after native transport failure
Opened
#697 Native workspace preflight explicitly ignores untracked files
Opened
#698 Final-report validator crashes on non-dict action_log and demands forbidden legacy fields
Opened
#699 Return structured MCP errors for authentication failures without terminating transport
Opened
#700 incident: contaminated controller run (PR #696/#695) — credential exposed via shell args/curl, direct API+script fallback, provenance-env spoof, unmanaged MCP kill, false "no credential leaked" report
Opened
#702 Stale runtime binding and orphaned durable lease upon unhandled daemon crash
Opened
#704 Prevent repository .env files from injecting MCP runtime workspace bindings
Opened
#706 Cross-repository MCP workspace binding fails because canonical repo root is derived from script location
Opened
#707 Enforce strict cross-project boundaries (permit issues, block codebase mutations)
Opened
#708 MCP servers report Connected but tool namespaces are not attached to the active session
Opened
#709 Merger cleanup is profile-local and reviewer initialization can destroy terminal decision-lock evidence
Opened
#711 Standalone issue-close has no sanctioned path: capability resolution silently cross-switches instances, gitea_close_issue lacks worktree_path, and no mdcps reconciler route exists
Opened
#712 [workflow][bug] Fail closed when queued commands conflict with the latest operator instruction
Opened
#713 [workflow][security] Require registered Git worktree proof for branches-only mutation authorization
Opened
#714 [security][workflow] Fail closed on cross-host MCP profile drift and capability substitution
Opened
#716 Prevent MCP session state from dirtying Git worktrees and provide sanctioned legacy-state recovery
Opened
#717 Prevent TTL expiry from silently overwriting unresolved terminal review-decision ledgers
Opened
#718 [merger][bug] No sanctioned lease path after reviewer lease expiry; adopt tool returns internal_error
Opened
#719 Incident: Terminal review 443 decision lock expired on PR 616
Opened
#720 [review][bug] Expired old-head decision lock blocks fresh review on open PR with no configured recovery path
Opened
#722 incident: unreviewed direct-to-master commit 970e68b remapped 10 reviewer tasks to merger, disabling the repository's formal review capability
Opened
#723 Capability map, resolver, and router can disagree on review-task roles; role-stamp mismatch escapes as unhandled internal_error in submit path
Opened
#726 Bug: gitea_resolve_task_capability returns internal_error for acquire_reviewer_pr_lease
Opened
#727 [controller][workflow] Prevent approved PRs from stalling on outdated or conflicting branches
Opened
#729 [reconciler][auth] Route delete_branch capability to the reconciler role
Opened
#731 [mcp][diagnostics] Safely expose opaque native mutation failures
Opened
#733 fix(reconciler): forward explicit repository through delete_branch anti-stomp preflight
Opened
#735 [mcp][preflight] Propagate explicit org/repo through all author mutation call sites
Opened
#738 [test][workflow] Pin project pytest runner and exclude branches worktrees from collection
Opened
#739 Complete canonical-root consumption for cross-repository MCP namespaces
Opened
#741 Eliminate remaining PROJECT_ROOT coupling in cross-repository MCP operations
Opened
#742 Accept acquired merger-lease provenance and add owner finalization
Opened
#745 Bind post-merge moot-lease cleanup to the reconciler capability
Opened
#747 Use a 10-minute sliding TTL for reviewer and merger PR leases
Opened
#749 No sanctioned first-mutation path: create_issue requires a branches/ worktree the issue-first gate forbids creating
Opened
#751 Fix PR checks assessor defaulting empty status sets to pending
Opened
#753 Allow safe author-lock recovery after the owning MCP session exits
Opened
#755 Allow dead-session lock recovery when the issue already has its owning open PR
Opened
#757 Honor the create-issue bootstrap in anti-stomp preflight
Opened
#758 Make work allocation complete and dependency-aware
Opened
#760 Allow exact-owner renewal of expired author issue locks
Opened
#763 Reviewer lease acquisition rejects canonical preflight order
Opened
#765 Allocator ignores active foreign leases and lets one claimed issue blockade the whole author queue
Opened
#768 fix(mcp): make recovered author remediation publishable after a dead session
Opened
#772 fix(mcp): recover clean unpublished author work after the owning session exits
Opened
#776 Allocator MCP lacks fail-closed pre-rank exclusions and coerces structured candidates_json incorrectly
Opened
#778 PR #777 allocator canary — temporary routing target (auto-close)
Opened
#780 fix(workflow): remove status:pr-open when the associated PR reaches a terminal state
Opened
#781 fix(mcp): implement documented issue title/body editing capability
Opened
#784 Persist allocator dependency edges as durable control-plane state
Opened
#787 runtime_recovery_guard segment splitter misses & and subshell forms, so a real daemon kill classifies as clean
Opened
#790 Unify task leases with sliding heartbeats and safe terminal dead-owner recovery
Opened
#792 Terminal retirement of author issue leases (Issue #790 Slice B)
Opened
#793 Complete lease fencing and align remaining task classes (Issue #790 Slice C)
Opened
#797 Centralized management for scheduled multi-LLM workers
Opened
#798 Worker registry and configuration schema
Opened
#799 Read-only Workers dashboard and API
Opened
#800 Provider adapter framework
Opened
#801 Worker readiness and doctor checks
Opened
#802 Guided Add/Edit Worker wizard
Opened
#803 Schedule editor and next-run preview
Opened
#804 Local scheduler and LaunchAgent integration
Opened
#805 Gated worker controls
Opened
#806 Structured run outcomes and log viewer
Opened
#807 Role, namespace, and credential isolation
Opened
#808 Existing worker discovery and migration
Opened
#809 Documentation and end-to-end verification
Opened
#812 No sanctioned recovery for a dirty author worktree: uncommitted implementation cannot be checkpointed, and every publication gate demands the clean worktree only publication can produce
Opened
#815 Fix AC20 publication preflight worktree forwarding
Opened
#816 gitea_publish_unpublished_issue_branch fails closed for every caller: its own preflight discards the worktree_path it requires
Opened
#820 Architecture program — role-delivery-reliability control plane
Opened
#821 ARCH-01 — Authority, identity, evidence, and platform-bootstrap architecture
Opened
#822 ARCH-01 Foundation Slice A — Atomic platform installation and authority kernel
Opened
#823 ARCH-01 — Concurrency-safe platform.bootstrap grant succession
Opened
#824 ARCH-01 — Principal equivalence classes, conflict detection, and serialized merges
Opened
#825 ARCH-01 — Evidence attestations, typed subjects, digest binding, and immutability
Opened
#826 ARCH-01 — Issuer-proof adapters, replay resistance, and immutable store configuration generations
Opened
#827 ARCH-01 — PostgreSQL actor context, roles, privileges, and connection-pool safety
Opened
#828 ARCH-02 — Canonical repository resources, transport identity, and authorized lookup
Opened
#829 ARCH-02 — Transport identity authorities, external bindings, and reconciliation lifecycle
Opened
#830 ARCH-02 — Canonical resource identity and byte-safe Git reference handling
Opened
#831 ARCH-02 — Project-scoped repository associations and authorized resource lookup
Opened
#832 ARCH-04 — Workspace identity, verification, exclusion domains, and mutation safety
Opened
#833 ARCH-04 — Global nodes, volume incarnations, exclusion domains, and isolation proofs
Opened
#834 ARCH-04 — Workspace configuration generations, immutable history, and current-evidence integrity
Opened
#835 ARCH-04 — Atomic workspace probing, overlap exclusion, and action-time drift detection
Opened
#836 ARCH-04 — Workspace, node, volume, and domain retirement with dependent-resource fencing
Opened
#837 Architecture acceptance matrix — invariant, test, evidence, and backend traceability
Opened
#840 Authoritative cross-role generic queue allocation for controller
Opened
#842 [controller][workflow] Automatically hand conflicting approved PRs to author remediation
Opened
#843 [workflow][controller] Make cross-role allocations consumable by independent required-role workers
Opened
#844 [workflow][controller] Exclude epic and child-only container issues from process_work_queue
Opened
#847 [bug][mcp] Conflict-fix lease lifecycle: chain termination by matching terminal markers and TTL handling
Opened
#850 Add native MCP bootstrap for allocated author issue worktrees
Opened
#851 [bug][reconciler] Post-merge cleanup skips safe worktree removal when remote delete is blocked by worktree_binding
Opened
#854 [regression][allocator] process_work_queue still selects vision, roadmap, and umbrella containers after #844
Opened
#855 [bug][reconciler] No PR-scoped post-merge cleanup executor: merged-PR worktree/branch reclaim is batch-only and stalls behind expired reviewer leases
Opened
#858 Make worktree cleanup audit merged-PR aware for issue worktrees
Opened
#860 fix(author): bootstrap recovery for dirty orphaned issue worktrees
Opened
#864 Add sanctioned dirty-preserving same-claimant author-session rebind
Opened
#867 feat(audit): detect and report out-of-band workflow-state and workspace mutations
Opened
#868 Harden dirty-session rebind inventory and journal identity
Opened
#871 fix(author): refresh durable linked-issue lock head after update_pr_branch_by_merge; recover merge-sync-drifted dead-session locks
Opened
#872 [bug][author-lock] Dead-session recovery deadlocks a second cross-session PR base-sync after a sanctioned server-side update_pr_branch_by_merge advanced the remote head
Opened
#873 feat(workflow): add native author workflow loading for work-issue mode
Opened
#877 test(#628 child): unit regression coverage for CTH, ownership classify_skip, and dependency edges
Opened
#878 test(#628 child): unit regression coverage for CTH, ownership classify_skip, and dependency edges
Opened
#887 Epic: Make author workflows transactional and safe for multiple LLM clients
Opened
#888 [P0] Isolate tests from live workflow state
Opened
#889 [P0] Replace capability-call adjacency with consumable mutation grants
Opened
#890 [P0] Unify author ownership and add fenced recovery
Opened
#891 [P0] Add atomic author finalization
Opened
#892 [P0] Break the author worktree bootstrap deadlock
Opened
#893 [P1] Stabilize transient dirty-checkout verification
Opened
#894 [P1] Enforce native MCP commits
Opened
#895 [P1] Preserve failure reporting after hard stops
Opened
#896 fix(reviewer): isolate final-decision locks by PR and exact head
Opened
#897 permission_report misclassifies stale-runtime mutation blocks as missing permissions and recommends profile switching
Opened
#899 Enforce administrative loop-disable for scheduled author workers
Opened
#900 Supervise MCP daemon cohort lifecycle: one eligible cohort per profile, drain and reap superseded cohorts
Opened
#913 Prevent, attribute, and recover unknown task files written into the control checkout
Opened
#916 Enforce exact-head reviewer approval as a mandatory PR merge gate
Opened
#927 pytest test collection fails with 199 errors due to recursing into branches directory
Opened
#929 Epic: Migrate the Gitea MCP fleet from local stdio processes to a remote MCP deployment
Opened
#930 Remote-MCP 01: Inventory every stdio- and localhost-coupled assumption in the MCP server
Opened
#931 Remote-MCP 02: Introduce a transport-neutral bind seam accepting a remote transport
Opened
#932 Remote-MCP 03: Replace per-process profile binding with per-request principal resolution
Opened
#933 Remote-MCP 04: Replace macOS-keychain token resolution with a server-side credential provider
Opened
#934 Remote-MCP 05: Define remote-session provenance to replace the stdio client-managed guard
Opened
#935 Remote-MCP 06: Redefine the master-parity mutation gate for a remote deployment
Opened
#936 Remote-MCP 07: Split local-filesystem tools from remotable tools and fail closed on the boundary
Opened
#937 Remote-MCP 08: Move session, lock, and lease state to a store safe for concurrent remote sessions
Opened
#938 Remote-MCP 09: Stand up the authenticated remote MCP endpoint
Opened
#939 Remote-MCP 10: Dual-run cutover, parity validation, and rollback runbook
Opened
#941 fix(scope): wire author bootstrap scope into workflow scope guard
Opened
#943 fix(author bootstrap): restore missing runtime identity and session helpers
Opened
#945 fix(gate): preserve exact-owner renewal evidence across owning-PR duplicate rechecks
Opened
#947 Dirty same-claimant rebind cannot continue its owning open PR because no sanctioned path mints continuation evidence (#864 AC5 unmet)
Opened
#948 Make MCP runtime generation ownership client/session-aware so multiple LLMs can work concurrently
Opened
#949 feat(control-plane): add authoritative native MCP fleet inventory and duplicate-process detection
Opened
#950 fix(runtime-context): align controller role metadata and capability routing
Opened
#951 feat(control-plane): persist authoritative fleet synchronization and restart receipts
Opened
#952 fix(leases): align stale-lease inspection, dashboard, and cleanup enforcement
Opened
#953 fix(author): prevent bootstrap lock-provenance dead ends before PR creation
Opened
#955 Epic: certify safe multi-LLM execution through securely isolated remote MCP
Opened
#956 Remote-MCP: threat model, trust boundaries, and service-per-boundary decomposition
Opened
#957 Remote-MCP: deny-by-default server-side authorization over the full request tuple, read-only by default
Opened
#958 Remote-MCP: host hardening and reproducible service packaging
Opened
#959 Remote-MCP: tamper-evident audit, full-surface secret redaction, and attribution-is-not-authentication
Opened
#960 Remote-MCP: credential rotation, revocation, and emergency client/session invalidation
Opened
#961 Remote-MCP: decommission Gitea credentials and privileged local MCP processes from LLM workstations
Opened
#962 Canary: credential-exfiltration probe against the remote MCP endpoint
Opened
#963 Canary: five concurrent LLM clients with a negative concurrency suite
Opened
#964 Gate: block unattended scheduling until the concurrency and exfiltration canaries both certify
Opened
#969 fix(reconcile): retire workflow session rows whose owners are no longer live
Opened
#970 fix(reconcile): safely resolve worktree bindings whose paths are missing
Opened
#973 fix(runtime): support validated cross-repository canonical roots for dedicated namespaces
Opened
#975 fix(runtime): recognize client identity environment and refresh worker registrations
Opened
#977 feat(config): add six-client MCP configuration doctor and safe repair tool
Opened
#978 feat(controller): expose native instance-level fleet identity and health snapshots
Opened
#980 feat(fleet): add CAS-protected stale worker retirement capability
Opened
#981 feat(bootstrap): add controller-authorized recovery lane for fleet-safety deadlocks
Opened
#983 fix(guard): derive target base ref for cross-repository checkouts
Opened
#985 Production launcher cannot issue trusted client-instance identity for project-scoped LLM launches
Opened
#987 feat(governance): require an authoritative project charter for every managed project
Opened
#989 MCP Control Plane: charter-compliant autonomous task selection (umbrella)
Opened
#990 Authoritative Gitea candidate-state schema, claims, and relationships
Opened
#991 Neutral unified project-state inspection
Opened
#992 Neutral worker activation, caller-selected validation, and atomic claim
Opened
#993 Thin task-oriented completion, release, and reassessment workflow
Opened
#994 Remove allocator-first and role-first normal operation