Skip to content

Track cross-repo Gateway operator control-surface rollout #3512

Open

Description

@marcusrbrown

Summary

Track the Gateway operator control surface across agent, dashboard, infra and this control plane. Project 1 supplies the tracked items and structured fields; this issue records evidence and acceptance.

Current state

As of 2026-11-02, production is Gateway v0.130.4 / OpenCode V2 2.2.5 / Systematic 3.28.0 + Dashboard 2026.10.78, contract 1.14.0. Rollout remains In Progress / blocked for Reject, missing approval details, V2 waitReason semantics and the retained runtime gates. Always is released/deployed; confirmation and next-run re-prompt pass within the operator-reported scope.

  • Agent-verified deployment: infra#1740 merged at18:20:58Z. Router41228975081 deployed v0.130.4 by18:31:12Z; logs verify both running image digests, health1.14.0 and 1024MiB/equal swap. Build logs select OpenCode2.2.5. Main Gateway pin remains v0.130.4 (apps/gateway/upstream.json). Latest agent release is v0.133.0, published November2 at02:38:08Z; it is not the deployed Gateway version. The v0.130.4 release includes agent#2004. This supersedes infra#1735/v0.130.3 without erasing that historical acceptance.
  • Agent-verified subsequent reconvergence: infra#1738/router41229446030 reconverged both services; Dashboard.78 running digest/health verified at18:28Z. Then infra#1742/router41239906077 reconverged Gateway v0.130.4, completed October31 at21:07:18Z. Both Gateway/workspace digests, OpenCode2.2.5/Systematic3.28.0, health1.14.0 and1024MiB/equal swap verified; Dashboard skipped. This is historical reconvergence; the newer infra#1752/router41344463545 deployment below supersedes it. Infra#1740 remains initial v0.130.4 delivery.
  • Agent-verified Dashboard/health/router: Dashboard latest release and successful standalone Deploy Dashboard41040783946 remain2026.10.78, healthy/runtime digest verified. Public /operator/health returns {"ok":true,"contractVersion":"1.14.0"}. Latest successful router41429565194 skipped Gateway and Dashboard; it is not a Gateway deployment. Its Gateway and Dashboard jobs are both skipped; a successful router is not proof of service delivery. Latest standalone Deploy Gateway remains38698076821; production advanced through reusable Gateway jobs in the router.
  • Operator-reported Always acceptance: October31 report6547863042: b9b9a5b8 used Always + Confirm always and succeeded; next run on the same repo1d287ff0 prompted again, Once succeeded. Accept those two subgates. A later matching request in the same run was not exercised; sibling/owned-descendant reuse, partial matches, cleanup/races and old-grant reset/disclosure remain open. Do not promote this partial live pass to full isolation acceptance.
  • Operator-reported runtime observations: current /readyz2.2.5, provider-store presence,0 OOM and unchanged trusted proxies/:9300 firewall/CA are reported, not independently inspected. The v0.130.3 six-launch smoke/Once/Submit/Skip/ordinary Cancel/push-ready pass and v0.130.1 Discord mention/Once/background/cancel/subsequent mention remain credited at their versions. Point-in-time counters do not establish sustained-load/host/cgroup memory safety or two-fresh-spawn credential activation.
  • Approval implementation closed, production gates open: agent#2001 closed November2 at08:29:44Z through merged agent#2026; agent#2002 closed09:56:52Z through merged agent#2028. Neither fix is in latest release v0.133.0 or production v0.130.4. Safe Reject/next-launch and approval-specific detail therefore remain unaccepted in production. Action Required: Fix Renovate Configuration #2028 maps V2 resources to commands/paths; it corrects the earlier assumption that raw metadata must be propagated.
  • waitReason implementation closed, production gate open: agent#2007 closed November2 at10:50:53Z through merged agent#2031, not included in v0.133.0 or deployed v0.130.4. The change reports owned work before root success and distinguishes quiet/unreadable-directory confirmation without dropping the safety window. Historical V2 check17 steps1/5 remain credited; meaningful steps2/3 and real reconnect, precedence, unknown and rare values still need live acceptance. PR-local/real-binary test reports are not a production replay.
  • Runbooks: infra#1741 restores Always check9.5/L4 and a next-run Once probe, keeping V2 Reject L5 skipped. It merged October31 at20:41:38Z; both runbooks on main contain the restored checks. Documentation delivery is complete; same-run matching remains explicitly unobserved, and V2 Reject L5 remains skipped.
  • Latest actual Gateway reconvergence, agent-verified: infra#1752 merged November1 at19:58:53Z; router41344463545 completed20:49Z, still v0.130.4/OpenCode2.2.5/Systematic3.28.0. Deploy logs verify both running image digests, health1.14.0 and1024MiB/equal swap. All21 successful routers after41239906077 were checked: this is the only subsequent Gateway deploy; Dashboard jobs were skipped. Latest router41429565194 skips both services. No new operator acceptance run was posted.
  • Credential delivery: Action Required: Fix Renovate Configuration #1993 released/deployed sincev0.130.1; authenticated turns have operator acceptance. Independent two-fresh-spawn/legacy-only/clone-only/header/proxy/non-disclosure checks remain distinct.

Historical operator acceptance retained, scoped to versions: October30 V1 post-rollback sweep credited seven terminal runs, Once/re-prompt/Reject, Submit/Skip, ordinary Cancel, push ready and session continuity. October31 L9 result adds continuously expanded run6c171042: background+73s, confirming+142s, cleared+149s and succeeded+149.3s. Check17 wire/steps1,2,3,5 pass across four V1 L9 runs; step4 not automated, rare reasons unobserved/opportunistic. Check16.4 credited persisted outage auth-failure summary, expanded/reloaded “Model provider unavailable” and accessible tile reason; it did not capture original live failure SSE, quota or unknown/absent detail. Earlier .77/October20/July4, Markdown/P7 and warm-device passes remain credited below. Current V2 partial acceptance is recorded separately above. Historical passes are not promoted to untested V2 cases.

Rollback scope: historical v0.130.0→v0.129.0 V1/.78 restoration succeeded via infra#1718/router41077416543; both versions were past ownership migration and needed no volume restore. Infra#1723 records rollback targets from router41125077031: Gateway sha256:369f294be99489782c564e6a23341a9ef51fc25ae972028078aaaff5e1a77eba, workspace sha256:da9a8c3bb15dde595a74c7a7b4c2d3103ce6fd157207c94ec22788bac6d17a6e. These are recorded targets, not a newly exercised rollback. Exact-prior-digest/older-contract rollback and migration-crossing snapshot restoration remain open; v0.125.3 cannot rebuild unchanged after its Alpine curl pin was superseded. No automatic rollback or real-load zero-OOM claim is inferred.

Still open

  1. Current V2 acceptance: v0.130.4 Always confirmation/next-run re-prompt plus historical v0.130.3 dashboard and v0.130.1 Discord passes accepted above. Reject#2001/Action Required: Fix Renovate Configuration #2026 and missing command#2002/Action Required: Fix Renovate Configuration #2028 fixes are merged but unreleased/undeployed production blockers; persistence/session continuity, authenticated ready parity, fresh-spawn/clone-only/header/non-disclosure and stronger Linux containment/memory checks remain. Agent#1805 stays open.
  2. Policy: agent#1875 → dashboard#674 must fail closed distinctly from empty lists, including uncached cold boot, grace expiry and automatic recovery. .github#4018 needs operational data-preservation confirmation through promotion.
  3. Always: agent#1990 closed via#2004, released/deployed in v0.130.4. Always confirmation and next-run re-prompt accepted as operator-reported. Same-run matching/siblings/owned descendants, partial matches, terminal/race cleanup and disclose/reset existing grants remain unmet. Infra#1741 merged; runbook delivery is complete, while same-run reuse remains unobserved.
  4. waitReason/check17 (agent#2007 closed via merged#2031; unreleased/undeployed): current V2 steps1/5 mechanical passes accepted; steps2/3 unexercised and drain semantics not demonstrated (no status during background, generic terminal flash, no confirming). Historical V1 steps1/2/3/5 retained; infra#1719/Action Required: Fix Renovate Configuration #1722 documentation gates satisfied. Actual reconnect, precedence, unknown and rare reasons remain unmet.
  5. Containment/recovery: retain cold/preparing/post-dispose stop-before-reuse, latest-turn evidence/quarantine/re-abort, run-attributed backups, clean next launch and correlated refusal/teardown diagnostics. Ordinary Cancel is weaker; preparation can defer cancel up to544s. Budget/disk/retention, detached-writer/quiescence and unsaved-child-notice residual gates remain, with V2 equivalents requiring validation.
  6. Stuck-run/memory: historical terminal launches do not establish process/stream-loss, non-pausing30s silence, terminal-write retries,60s reconciliation/live-owner/CAS/recent-hour/terminal-SSE safeguards, older-record startup recovery or early permission/idle/output ordering. Agent#1923 Linux measurement/idle recycling and V2 real-load1GiB canary (OOM/max events/host memory) remain.
  7. Provider failures: historical check16.4 summary/reload/accessibility passes retained; original live failure SSE, quota and unknown/absent-detail preservation remain. Neither expired-output replay nor health readiness proves a working authenticated V2 model turn.
  8. Devices/replay: closed-dashboard/installed-iOS cold-start selection, Discord reconnect/question settlement beyond the reported Once/background/cancel pass, real reconnect/terminal-overlay cleanup and push rotation active/grace/revoked lifecycle, bulk revoke/dedupe or accepted manual procedure remain. Push ready is not delivery; historical warm/open-device passes retained.
  9. Browser/launch: new-run ordering, Refresh/new version, single signed-out redirect/sign-in, timestamps, text boundaries and default OAuth landing; dashboard#678 ten-second timeout, same-key uncertain retry/no duplicates and no late stream attachment after sign-out remain.
  10. Session/CSRF: historical same-session deploy survival accepted; current V2 recheck, negative CSRF, upgrade-token recovery and saved-cookie invalidation replay remain distinct.
  11. Privacy/security: non-allowlisted-account check remains skipped; current production-shaped public-plus-denylisted/R8/API no-store/cache-purge, monitoring-UI suspension ratification and remaining security review remain. July4 and promptP7 passes retained.
  12. Rollback: retain current paired image targets and test exact prior-digest/older-contract rollback and migration-crossing snapshot restoration. Historical rebuilt-pair restoration is narrower. No unmet gate removed: current deployment and bounded V2 acceptance subgates are now checked; their stronger runtime requirements remain open below.

Cross-repo dependency matrix

All86 existing Project items rechecked against live issue/PR states on November2; added agent#2026/#2028/#2031 and infra#1752, now 90 items. Closed implementation is distinct from release/deployment/acceptance. Full gate text remains in Project1; rows come only from structured fields and live states.

Project item Live state Status / readiness Gate / evidence
fro-bot/.github#3512 open In Progress / blocked Production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545; images/1024MiB/equal swap verified. Latest… (full gate in Project1; acceptance below).
fro-bot/.github#3525 closed Done / waiting Format-independent denylist implementation closed; production-shaped runtime redaction regression remains on #3512. Do not expose identifiers.
fro-bot/.github#4018 closed Done / waiting Branch-preservation implementation closed; confirm data survives promotion in production. Policy-unavailable producer/consumer gates remain separate.
fro-bot/agent#907 closed Done / done Units 3-8
fro-bot/agent#929 merged Done / foundation shipped foundation
fro-bot/agent#931 merged Done / done Unit 2
fro-bot/agent#932 merged Done / done Unit 3 partial
fro-bot/agent#934 merged Done / done Unit 3 partial
fro-bot/agent#936 merged Done / done Unit 3 partial
fro-bot/agent#939 merged Done / done Unit 3 partial
fro-bot/agent#944 merged Done / done Unit 3 partial
fro-bot/agent#1053 closed Done / waiting Container-hardening implementation closed; deployment/runtime posture and remaining security review stay distinct on #3512.
fro-bot/agent#1736 closed Done / done Operator-reported historical V2 v0.130.3 Submit/Skip passed October31; prior cancellation-while-open/collapsed waits retained historically. Discord… (full gate in Project1; acceptance below).
fro-bot/agent#1737 closed Done / done Operator-reported checkout details passed October 20 and October 30 contract 1.14.0 sweep; see #3512.
fro-bot/agent#1739 closed Done / waiting Implementation closed; explicit assistant text-boundary live regression still owed on #3512; Markdown interaction acceptance is separate.
fro-bot/agent#1740 closed Done / waiting Implementation closed; explicit OAuth callback with no return_to live regression still owed on #3512.
fro-bot/agent#1780 closed Done / waiting Implementation closed; operator v0.130.1 Discord Once/background/cancel/new mention passes accepted. Operator V2 check17: steps1/5 mechanical pass;… (full gate in Project1; acceptance below).
fro-bot/agent#1805 open In Progress / blocked Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545 (initial delivery infra#1740); both… (full gate in Project1; acceptance below).
fro-bot/agent#1836 closed Done / waiting Closed implementation; operator reports natural V2 auth failure terminated around9s. Check16.4 accepted October31:… (full gate in Project1; acceptance below).
fro-bot/agent#1837 closed Done / waiting Operator-reported same session survived both October 30 V2/V1 deploys on v0.129.0/.78; historical October 18 survival retained. Upgrade CSRF refresh… (full gate in Project1; acceptance below).
fro-bot/agent#1840 closed Done / waiting Approval notification tap accepted with dashboard open 2026-10-19; closed-dashboard and installed-iOS cold start remain unverified.
fro-bot/agent#1845 closed Done / done Operator-reported 8000-unit limit passed October 30; prior 8001 boundary/visible disabled state and prompt P7 retained; see #3512.
fro-bot/agent#1875 open Todo / ready now Open producer prerequisite for dashboard#674: distinguish unavailable policy from empty listings while denying access; verify cold start, grace… (full gate in Project1; acceptance below).
fro-bot/agent#1889 closed Done / waiting Implementation closed via #1906/#1915/#1918, deployed in v0.125.3. #1958 exposed cold/preparing-prompt abort gap: #1965 fixes it in v0.127.0,… (full gate in Project1; acceptance below).
fro-bot/agent#1906 merged Done / waiting Merged/released v0.125.2, deployed via v0.125.3. #1958 invalidates absence-after-abort as stop proof for cold/preparing prompts. Follow-up #1965… (full gate in Project1; acceptance below).
fro-bot/agent#1915 merged Done / waiting Merged and released/deployed in v0.125.3: run-correlated checkout refusal reasons/counts and workspace abort/delete/dispose response logs. Live… (full gate in Project1; acceptance below).
fro-bot/agent#1918 merged Done / waiting Merged and released/deployed in v0.125.3: bounded dirty-checkout recovery under repo lock, quiescence and budget checks; preserve run-attributed… (full gate in Project1; acceptance below).
fro-bot/agent#1922 closed Done / waiting Implementation closed via #1934/#1947/#1950/#1954, released through v0.126.0, deployed again in V1 v0.129.0 by rollback 41077416543; current V2… (full gate in Project1; acceptance below).
fro-bot/agent#1923 open Todo / ready now Open #1922 memory-growth/recycle follow-up; Linux measurement and safe idle recycling acceptance remain separate from stuck-run implementation… (full gate in Project1; acceptance below).
fro-bot/agent#1934 merged Done / waiting Merged; released in v0.125.4, deployed again in V1 v0.129.0 by rollback 41077416543; current V2 acceptance still required. Proxy disconnect… (full gate in Project1; acceptance below).
fro-bot/agent#1947 merged Done / waiting Merged; released in v0.125.5, deployed again in V1 v0.129.0 by rollback 41077416543; current V2 acceptance still required. Lost/silent stream ends… (full gate in Project1; acceptance below).
fro-bot/agent#1948 merged Done / done Merged/published v0.126.0 release gate satisfied. Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via… (full gate in Project1; acceptance below).
fro-bot/agent#1950 merged Done / waiting Merged; released in v0.126.0, deployed again in V1 v0.129.0 by rollback 41077416543; current V2 acceptance still required. Bounded terminal-write… (full gate in Project1; acceptance below).
fro-bot/agent#1951 closed Done / waiting Closed/completed via merged #1956: bounded server.connected barrier before prompt on Gateway/Action. Released v0.127.0, deployed again in V1 v0.129.0… (full gate in Project1; acceptance below).
fro-bot/agent#1954 merged Done / waiting Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545 (initial delivery infra#1740); both… (full gate in Project1; acceptance below).
fro-bot/agent#1956 merged Done / waiting Merged, closes #1951; bounded server.connected barrier before prompt on Gateway/Action. Released v0.127.0, deployed again in V1 v0.129.0 by rollback… (full gate in Project1; acceptance below).
fro-bot/agent#1958 closed Done / waiting Closed/completed via #1965: cold/preparing prompt may start after successful abort and idle status. Fix released v0.127.0, deployed again in V1… (full gate in Project1; acceptance below).
fro-bot/agent#1965 merged Done / waiting Merged; released v0.127.0, deployed again in V1 v0.129.0 by rollback 41077416543; current V2 acceptance still required. Positive latest-turn terminal… (full gate in Project1; acceptance below).
fro-bot/agent#1988 merged Done / waiting Historical v0.130.0 outage/V1 rollback retained; Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via… (full gate in Project1; acceptance below).
fro-bot/agent#1990 closed Done / waiting Agent#2004 released in v0.130.4 and deployed via infra#1740/router41228975081. Operator October31: Always+Confirm run b9b9a5b8 succeeded; next… (full gate in Project1; acceptance below).
fro-bot/agent#1992 closed Done / waiting Credential fix#1993 released/deployed sincev0.130.1; Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via… (full gate in Project1; acceptance below).
fro-bot/agent#1993 merged Done / waiting Credential fix#1993 released/deployed sincev0.130.1; Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via… (full gate in Project1; acceptance below).
fro-bot/agent#2001 closed Done / waiting Implementation closed via merged agent#2026 November2; not included in latest release v0.133.0 or deployed v0.130.4. Reject carries a nonempty denial… (full gate in Project1; acceptance below).
fro-bot/agent#2002 closed Done / waiting Implementation closed via merged agent#2028 November2; not included in latest release v0.133.0 or deployed v0.130.4. V2 resources supply all shell… (full gate in Project1; acceptance below).
fro-bot/agent#2004 merged Done / waiting Agent#2004 released in v0.130.4 and deployed via infra#1740/router41228975081. Operator October31: Always+Confirm run b9b9a5b8 succeeded; next… (full gate in Project1; acceptance below).
fro-bot/agent#2007 closed Done / waiting Implementation closed via merged agent#2031 November2; not included in latest release v0.133.0 or deployed v0.130.4. Pre-root owned work reports… (full gate in Project1; acceptance below).
fro-bot/agent#2026 merged Done / waiting Merged 2026-11-02T08:29:43Z; closes agent#2001. Not included in latest release v0.133.0 or deployed Gateway v0.130.4; release/deployment/live… (full gate in Project1; acceptance below).
fro-bot/agent#2028 merged Done / waiting Merged 2026-11-02T09:56:51Z; closes agent#2002. Not included in latest release v0.133.0 or deployed Gateway v0.130.4; release/deployment/live… (full gate in Project1; acceptance below).
fro-bot/agent#2031 merged Done / waiting Merged 2026-11-02T10:50:51Z; closes agent#2007. Not included in latest release v0.133.0 or deployed Gateway v0.130.4; release/deployment/live… (full gate in Project1; acceptance below).
fro-bot/dashboard#24 closed Done / done Unit 3
fro-bot/dashboard#25 closed Done / done Units 4-6
fro-bot/dashboard#26 closed Done / done Units 5-6
fro-bot/dashboard#39 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#47 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#48 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#53 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#59 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#81 closed Done / done Foundation implementation complete; outstanding rollout/runtime acceptance remains on #3512.
fro-bot/dashboard#125 closed Done / waiting Cache-Control no-store implementation closed; production-shaped API/cache-purge regression remains on #3512.
fro-bot/dashboard#156 closed Done / waiting Logout/CSRF passed operator October 30 sweep; October 20 logout 200/session 401 retained. Negative CSRF, upgrade recovery and saved-cookie replay not… (full gate in Project1; acceptance below).
fro-bot/dashboard#583 closed Done / done Accepted 2026-10-20: expired snapshot shows Output no longer available; earlier re-expansion accepted.
fro-bot/dashboard#584 closed Done / done Accepted 2026-10-20: finished card has no Cancel control; execution containment remains agent#1889.
fro-bot/dashboard#585 closed Done / waiting Collapsed approval/question and in-card waiting accepted; launched timestamps, reconnect/settlement and remaining browser regressions still owed on… (full gate in Project1; acceptance below).
fro-bot/dashboard#586 closed Done / done Signed-in acceptance on 2026.10.46/.47: streaming Markdown, host-labelled links, Raw/Rendered, Copy raw, first toggle, finished re-expansion. Prompt… (full gate in Project1; acceptance below).
fro-bot/dashboard#674 open Todo / blocked Blocked by agent#1875 policy-unavailable signal; show unavailable distinctly and recover automatically, including cold start without cached policy.
fro-bot/dashboard#676 closed Done / done Visible disabled Launch and inline status at 8001 UTF-16 units accepted in 2026-10-20 production sweep; boundary enforcement already passed.
fro-bot/dashboard#678 merged Done / waiting Merged launch hardening; live 10-second timeout, uncertain retry with same idempotency key/no duplicate, and no late stream attachment after sign-out… (full gate in Project1; acceptance below).
fro-bot/dashboard#729 closed Done / waiting Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545 (initial delivery infra#1740); both… (full gate in Project1; acceptance below).
marcusrbrown/infra#579 closed Done / done Unit 2
marcusrbrown/infra#580 closed Done / done Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545 (initial delivery infra#1740); both… (full gate in Project1; acceptance below).
marcusrbrown/infra#581 closed Done / done Unit 3 decision ratified
marcusrbrown/infra#711 closed Done / done GitHub App key lifecycle runbook issue closed/completed; separate post-merge security review remains on #3512.
marcusrbrown/infra#1327 closed Done / done Closed/completed; operator reported orphan cleanup and post-cleanup verification. Successor build/reproducibility work tracked in infra#1383.
marcusrbrown/infra#1383 closed Done / done Issue closed/completed; operator reported identical independent builds at v0.119.2. Closure does not independently prove every original… (full gate in Project1; acceptance below).
marcusrbrown/infra#1705 merged Done / done Merged historical .77 audit pin; superseded by merged infra#1716 recording healthy .78 runtime digest on main. Behavioral acceptance separate; see… (full gate in Project1; acceptance below).
marcusrbrown/infra#1711 merged Done / done Merged historical v0.129.0 pin; historical V1 restored via infra#1718/router41077416543 using rebuilt verified pair. Older v0.125.3 cannot rebuild… (full gate in Project1; acceptance below).
marcusrbrown/infra#1712 merged Done / waiting Historical v0.130.0 V2 outage/rollback retained. Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via… (full gate in Project1; acceptance below).
marcusrbrown/infra#1714 merged Done / waiting Current production v0.130.4 V2/OpenCode2.2.5 + Dashboard.78, contract1.14.0 via infra#1752/router41344463545 (initial delivery infra#1740); both… (full gate in Project1; acceptance below).
marcusrbrown/infra#1716 merged Done / done Merged .78 audit pin; main compose now matches healthy Dashboard41040783946 digest2298558b69f8759e8dcea72f04fa4bc94b7b924d7946d9c22a65ad6c3974018f.… (full gate in Project1; acceptance below).
marcusrbrown/infra#1718 merged Done / done Merged; router 41077416543 restored v0.129.0 Gateway/workspace (V1), verified running digests, contract 1.14.0 and 1024 MiB/equal swap. Operator… (full gate in Project1; acceptance below).
marcusrbrown/infra#1719 merged Done / done Merged timing correction retained; merged#1722 widens observed first-reason range73-91s/window45-75s, observes from65s and classifies step4 not… (full gate in Project1; acceptance below).
marcusrbrown/infra#1720 merged Done / done Catalog allowlist merged/deployed; historical GET200 retained. Currentv0.130.4 V2 disables catalog fetch; operator authenticated turn accepted.… (full gate in Project1; acceptance below).
marcusrbrown/infra#1722 merged Done / done Merged October31 at02:25:43Z; main runbook now starts observation65s, widens timing and records check17.4 not automated with Dashboard reconnect-test… (full gate in Project1; acceptance below).
marcusrbrown/infra#1723 merged Done / waiting Historical V2 return v0.130.1/OpenCode2.2.0/router41160125884 verified. Operator Discord mention/Once/background/cancel/new mention pass. Superseded… (full gate in Project1; acceptance below).
marcusrbrown/infra#1735 merged Done / done Historical deployment, superseded by infra#1740/v0.130.4. Merged October31 14:10:19Z; router41208892613 deployed… (full gate in Project1; acceptance below).
marcusrbrown/infra#1738 merged Done / done Merged October31 18:26:39Z; router41229446030 reconverged Gateway v0.130.4 and Dashboard.78 after Caddy digest update. Both Gateway/workspace… (full gate in Project1; acceptance below).
marcusrbrown/infra#1740 merged Done / done Merged October31 18:20:58Z; router41228975081 deployed v0.130.4/OpenCode2.2.5 by18:31:12Z. Both image digests, health1.14.0 and1024MiB/equal swap… (full gate in Project1; acceptance below).
marcusrbrown/infra#1741 merged Done / done Merged October31 20:41:38Z; main runbooks restore manual check9.5/automated L4 Always acceptance and a next-run Once probe. V2 Reject L5 remains… (full gate in Project1; acceptance below).
marcusrbrown/infra#1742 merged Done / done Historical reconvergence: merged October31 20:39:13Z; router41239906077 verified v0.130.4, both digests, health1.14.0 and1024MiB/equal swap.… (full gate in Project1; acceptance below).
marcusrbrown/infra#1752 merged Done / done Merged November1 19:58:53Z; latest actual Gateway reconvergence router41344463545 completed20:49Z, still v0.130.4/OpenCode2.2.5/Systematic3.28.0.… (full gate in Project1; acceptance below).

Risks to keep visible

  • Ready containers and health did not detect the first V2 credential outage; delivered credentials are not authenticated model-turn acceptance.
  • Exact contract matching fails closed during skew. Keep Gateway/workspace compatible and retain paired rollback images/snapshots where applicable.
  • Always fix#2004 is deployed in v0.130.4, with operator-reported confirmation/next-run re-prompt accepted. Same-run/sibling/descendant isolation and old-grant reset remain unverified. Reject#2001/Action Required: Fix Renovate Configuration #2026, missing approval detail#2002/Action Required: Fix Renovate Configuration #2028 and waitReason#2007/Action Required: Fix Renovate Configuration #2031 fixes are merged, but release/deployment/live acceptance remain explicit blockers.
  • Cancel/idle is not proof of no future writes. Retain stop evidence, quarantine, recovery budgets and notice-turn boundaries; verify V2 equivalents.
  • Actual SSE loss is required for live reconnect acceptance. Not-automated classification and test-source inspection do not prove a disconnect.
  • Keep trusted proxy/same-origin cookies/unbuffered SSE, prompt/output sanitization/P7, privacy/cache/security gates and real-load memory acceptance visible.

Acceptance criteria

Labels distinguish operator acceptance from independent checks. An unchecked operator-reported entry records an unmet requirement, not a passed test. Historical passes remain scoped to their recorded versions.

  • Agent-verified: current public health1.14.0; latest reconvergence infra#1752/router41344463545 deployed the same v0.130.4/OpenCode2.2.5 with both image digests and1024MiB/equal swap verified; Dashboard.78 unchanged. Latest router41429565194 skipped both services. Main Gateway pin remains v0.130.4; latest release v0.133.0 is not deployed. Historical V1 restoration and v0.130.1 return retained.

  • Operator-reported: authenticated ready parity on live and finished runs at 1.13.0 (October 20 sweep).

  • Operator-reported: authenticated repo/run listing, launch → stream → success, and live/finished checkout details (October 20 sweep).

  • Operator-reported: approval Once/Always/Reject; question submit/skip; cancellation while a question is open; collapsed and in-card waiting labels (October 20 and earlier signed-in checks). UI cancellation does not prove execution containment.

  • Operator-reported: expired-output recovery, finished-run re-expansion, completed-run Cancel cleanup, streaming Markdown, raw/rendered controls, Copy raw and link/first-toggle interactions.

  • Operator-reported: 8,000 UTF-16 units including final emoji accepted; 8,001 rejected without a run; visible over-limit disabled state and inline message accepted. Sanitized expanded Markdown supersedes the earlier plain-text-only prompt requirement.

  • Operator-reported: prompt-path P7 signed off against dashboard f42b714 (P1–P7/R15); other security review remains separate.

  • Operator-reported: same-cookie gateway-only restart survival (October 18).

  • Operator-reported: approval/run-failed notification delivery, installed-app question tap within its recorded warm-app scope, and open-dashboard approval navigation; desktop push disablement accepted. Cold start remains separate.

  • Operator-reported: July 4 OAuth/auth-gating, tokenless logout rejection with session preserved, and live denylisted-identifier redaction passed (historical acceptance); retain credit without claiming a current-version regression pass.

  • Operator-reported: October 20 logout returned 200 followed by session 401; saved-cookie replay was not demonstrated.

  • Agent-verified: historical no-store, denylist-hardening, container-hardening and App-key-runbook issues are closed/completed; this verifies implementation state, not current runtime acceptance.

  • Operator-reported requirement: on the current V2 deployment (historical V1 gate retained) cancellation stops execution/writes before reuse, leftovers remain recoverable and next launch succeeds without manual cleanup. Action Required: Fix Renovate Configuration #1889/Action Required: Fix Renovate Configuration #1965 implementations deployed; ordinary cancel acceptance does not close this stronger gate.

  • Operator-reported: Check16.4 persisted auth-failure summary, expanded/reloaded "Model provider unavailable" and accessible run-tile reason pass on historical outage run2e528d35; expired output remains independently visible.

  • Operator-reported requirement: original live provider-failure SSE presentation, natural quota failure/provider-quota-exceeded, and unknown/absent details preserving rows/frames remain unverified; persisted auth-failure replay does not close them.

  • Operator-reported requirement: real question and approval notification taps with dashboard closed and installed-iOS cold start select the correct run.

  • Operator-reported requirement: reconnect during/after waits, Discord question/reconnect settlement beyond the accepted Once/background/cancel subset, and terminal replay clear pending questions/approvals and never restore waiting on a finished run.

  • Operator-reported requirement: new-run ordering above expanded cards, Refresh into the new version, single signed-out redirect/sign-in button and launched-card timestamps rechecked live.

  • Operator-reported requirement: explicit assistant text-boundary and no-return_to OAuth landing regressions accepted (agent#1739/Action Required: Fix Renovate Configuration #1740).

  • Operator-reported requirement: launch 10-second timeout, same-key uncertain retry without duplicate runs, and no late stream attachment after sign-out (dashboard PR Action Required: Fix Renovate Configuration #678).

  • Operator-reported requirement: current-version CSRF-negative regression, one-time upgrade-token recovery, and replay of the saved pre-logout cookie proving server-side invalidation; historical tokenless rejection remains credited.

  • Operator-reported requirement: policy-unavailable producer/consumer chain fails closed distinctly from empty listings; cold uncached boot, grace expiry, and automatic recovery (agent#1875 → dashboard#674).

  • Operator-reported requirement: data-branch preservation through a production promotion verified operationally (.github#4018 implementation is closed).

  • Operator-reported requirement: current production-shaped public-plus-denylisted privacy/R8/API no-store/cache-purge checks; historical redaction acceptance remains credited.

  • Operator-reported requirement: monitoring-UI suspension ratified and remaining dashboard/infra post-merge security review complete; prompt P7 remains signed off.

  • Operator-reported requirement: non-allowlisted-account denial checked; October 20 skipped it, so it is not a pass.

  • Operator-reported requirement: before key rotation, active/grace/revoked subscription lifecycle, bulk revocation and dedupe behavior verified or an explicit manual procedure accepted; no later thread evidence closes the enablement report's tail.

  • Agent-verified: all86 existing Project-derived states rechecked November2; added agent#2026/Action Required: Fix Renovate Configuration #2028/Action Required: Fix Renovate Configuration #2031 and infra#1752, now90 items; the three closed regression implementations are Done/waiting, not live-accepted; infra#1741 documentation remains done. Matrix/Project fields reconciled; implementation closure remains distinct from runtime acceptance.

  • Agent-verified: historical Dashboard .70/.75 promotion gates retained; .78 healthy deployment41040783946 and merged infra#1716 now agree with main. No edge-case pass inferred.

  • Agent-verified: agent#1889 is closed/completed; merged Action Required: Fix Renovate Configuration #1915 implements run-ID-correlated refusal/workspace teardown logs and Action Required: Fix Renovate Configuration #1918 implements automatic run-attributed preserve-and-recover. Release v0.125.3 first included both; historical deployed V1 v0.129.0 retained them; current V2 equivalence remains a live acceptance gate. This closes the implementation/deployment asks, not live regression acceptance.

  • Operator-reported requirement: verify the deployed preserve-and-recover backup and clean subsequent launch, plus correlated refusal/cancel/teardown diagnostics. Evidence must distinguish cancellation request, actual session stop and safe checkout reuse.

  • Agent-verified follow-up gate: exercise or explicitly accept the #1918 documented recovery boundaries: deferred operator cancel during preparation (up to about 544 seconds), insufficient budget/capacity/retention handling, and quiescence limits for detached writers; no current production acceptance covers these conditions.

  • Agent-verified: agent#1954 contract 1.14.0 and Action Required: Fix Renovate Configuration #1922 implementation chain merged/released and historically deployed again in V1 v0.129.0 after rollback (current V2 acceptance separate). Fault-injection and waitReason acceptance remain separate.

  • Agent-verified: dashboard#729 closed and .78 deployed; current Gateway v0.130.4 V2 health1.14.0 verified. Historical served .78 exact-pin evidence retained; UI/unknown-value/current V2 and older rollback acceptance remain distinct.

  • Operator-reported: October 30 health and authenticated ready frames match 1.14.0. Agent independently verified public health and served dashboard pin.

  • Operator-reported: October 30 post-rollback acceptance: three check17 runs emitted awaiting-background-task → confirming-completion → cleared → succeeded; first populated reason at 85–90s. Accepted on restored V1/.78, not current V2 acceptance.

  • Operator-reported requirement: pending approval/question status takes precedence over waitReason.

  • Operator-reported: October 30 post-rollback acceptance: no reason on terminal expanded cards or after reload; /operator/runs entries never carried waitReason. Unknown-value tolerance is retained as a separate unmet gate below.

  • Agent-verified follow-up gate: live stuck-run regression for Action Required: Fix Renovate Configuration #1922/Action Required: Fix Renovate Configuration #1934/Action Required: Fix Renovate Configuration #1947/Action Required: Fix Renovate Configuration #1950: process/stream loss, non-pausing 30s silence watchdog, bounded terminal-write retries, and 60s sweep reconciliation with live-owner/CAS/recent-hour safeguards and terminal SSE notification. Implementation closure is not this acceptance.

  • Agent-verified: agent#1951 is closed via merged chore(deps): update bfra-me/.github action to v1.13.0 #1956; source establishes a bounded server.connected barrier before prompting. Release v0.127.0 includes it (and deployed v0.129.0 retains it); historically deployed again in V1 v0.129.0 after rollback (current V2 acceptance separate); live early-event acceptance remains separate.

  • Agent-verified follow-up gate: chore(deps): update bfra-me/.github action to v1.13.0 #1956 historically deployed again in V1 v0.129.0 after rollback (current V2 acceptance separate); targeted early permission/idle/output event ordering regression remains. Eight successful short launches do not establish every early-event race.

  • Operator-reported requirement: agent#1923 memory-growth follow-up stays open pending Linux measurement and safe idle recycling, as recorded in the Action Required: Fix Renovate Configuration #1922 completion report; not closed by the stuck-run fixes.

  • Agent-verified: stale agent#1948 release-manifest/minor gate satisfied: refreshed PR merged and v0.126.0 published with Action Required: Fix Renovate Configuration #1950/Action Required: Fix Renovate Configuration #1954. Dashboard#729 is now closed and forward deployment verified; paired rollback and behavioral gates remain.

  • Agent-verified: agent#1958 closed via merged Action Required: Fix Renovate Configuration #1965; v0.127.0 includes latest-turn terminal stop evidence, repeated aborts and quarantine/watch. This is implementation/release evidence, historically deployed again in V1 v0.129.0 after rollback (current V2 acceptance separate), but not live containment acceptance.

  • Operator-reported requirement: Action Required: Fix Renovate Configuration #1965 historically deployed again in V1 v0.129.0 after rollback (current V2 acceptance separate); verify cold/fresh-directory and post-dispose immediate abort cannot write after checkout handoff; exercise background-open quarantine/re-abort/latest-turn terminal confirmation and retain unsaved-child-notice residual. Ordinary cancel is not containment proof.

  • Agent-verified: historical infra#1705/Action Required: Fix Renovate Configuration #1711/Action Required: Fix Renovate Configuration #1718 pins/restoration retained; infra#1716 records .78. Current main/runtime is v0.130.4 V2, latest reconvergence via infra#1752/router41344463545, not the earlier V1 pair.

  • Operator-reported: October 30 eight-launch acceptance passed health/ready 1.14.0, launch/stream, ordinary cancel, checkout details, Once/Always confirmation, question render/submit/skip/cancel cleanup, collapsed waits, expired output, push.status=ready, logout/CSRF and 8000-unit limit. All eight terminal, none stuck. Always confirmation is UI acceptance, not run-scope permission isolation; no fault-injection/containment gate is superseded.

  • Operator-reported requirement: agent#1990 stronger Always isolation: implementation/release/deployment, confirmation and next-run re-prompt are now separately accepted. Same-run matching, siblings/owned descendants, partial matches, terminal/race cleanup and existing-grant disclosure/reset remain unmet; historical UI passes are not full isolation sign-off.

  • Operator-reported requirement: retain/test paired Gateway/workspace and Dashboard rollback by prior image digests. v0.125.3 cannot rebuild unchanged with its superseded Alpine curl pin. Forward deploy is not rollback acceptance; preserve migration snapshot restoration when applicable.

  • Operator-reported: October 30 post-rollback acceptance: the same session survived both V2 and rollback deploys (check14). Historical October18 survival retained; CSRF recovery/saved-cookie replay remain unchecked.

  • Agent-verified: historical infra#1712/agent#1988 V2 deployment41044404018 selected OpenCode2.2.0 and verified images/1GiB configuration. Superseded by rollback41077416543; this historical deployment checkbox is not V2 behavioral acceptance.

  • Agent-verified follow-up gate: V2 partial launch/provider/Once/question/ordinary-cancel/Discord-background acceptance now operator-reported below; broader persistence, fault/containment and Linux runtime parity remain unverified. Historical V1 passes do not close these.

  • Agent-verified follow-up gate: current V2 real-load canary at 1024MiB observes OOM kills, memory.max events and host available memory. V2→V1 restoration is now credited separately; memory safety remains unverified, with no automatic rollback.

  • Agent-verified: infra#1716 merged; main compose now records the deployed .78 digest. Audit gap closed independently of runtime acceptance.

  • Agent-verified: infra#1714/Action Required: Fix Renovate Configuration #1719/Action Required: Fix Renovate Configuration #1722 runbook delivery satisfied. Historical V1 check17 steps1,2,3,5 pass as operator-reported; step4 not automated and remaining live gates retained.

  • Agent-verified: merged infra#1718 and successful router41077416543 restore the compatible V1 Gateway/workspace pair with unchanged Dashboard .78/contract1.14.0. This proves rebuilt-pair restoration, not the remaining exact-digest/older-contract/snapshot rollback gate.

  • Operator-reported: October 30 post-rollback acceptance: seven terminal V1 runs, launch/stream/success, Once, fresh-run re-prompt/Reject (check9.3), Submit/Skip, ordinary Cancel with "Cancelled"/"Run stopped.", push ready. Always was not exercised; no containment/fault-injection acceptance inferred.

  • Operator-reported: October 30 post-rollback acceptance: expanded labels "Waiting on a background task" and "Confirming it has finished"; collapsed card hides reason and shows Running; re-expansion restores the label.

  • Operator-reported: V2 naturally failed around9s with provider-auth-unavailable/401 during the reported four-hour outage. agent#1992's existing Linux reproduction corroborates empty fresh-spawn credentials; this originally established termination only. October31 Check16.4 separately accepts the persisted auth-failure/reloaded-summary label, not quota or live SSE.

  • Operator-reported: October31 run6c171042 closes the prior in-place appearance gate (check17 step1): continuously expanded card, background label within6s and confirming label within0.1s of frames, no raw value. Wire background+73s → confirming+142s → cleared+149s → succeeded+149.3s; step5 terminal/summary absence reconfirmed. Together with the prior three runs, steps1,2,3,5 pass; not an independent authenticated replay.

  • Operator-reported: Check17 automated scope complete across four L9 runs: steps1,2,3,5 pass; step4 not automated; step6 rare reasons not observed. This records scope/disposition, not a live reconnect pass.

  • Agent-verified: released Dashboard .78 web/src/operator/wait-reason-label.test.ts contains the named reconnect/clearing/replayed-running regression; inspected source, not executed in this run.

  • Operator-reported requirement: actual SSE loss/reconnect clears stale reason and recovers current state. Retained explicitly as live-unverified/not automated; offline mode left the stream connected. Test-source coverage does not demonstrate a production disconnect.

  • Operator-reported requirement: exercise rare awaiting-reply/agent-working values. Neither occurred in the four check17 L9 runs; these are opportunistic observations under step6, not a forced-trigger requirement or a pass; precedence remains separately unchecked above.

  • Operator-reported requirement: unknown waitReason values behave as absent detail without discarding a valid frame/run. Terminal/reload and summary-absence passes do not prove this tolerance.

  • Agent-verified follow-up gate: after delivered agent#1993/v0.130.1, independently verify credential activation across two fresh spawns, legacy-file-only credentials, credential-free clone-only boot and authenticated provider headers; delivery alone does not close these runtime requirements.

  • Agent-verified: infra#1720 catalog allowlist merged/deployed; historical router41125077031 logs catalog GET200. V1 models.dev compatibility retained; current v0.130.4 disables V2 model fetching. Catalog delivery is separate from credential/provider acceptance.

  • Agent-verified: infra#1719 merged the ~120s first-label/~180s failure window and launch-time observer procedure. The prior merge/timing gate is satisfied; real stream-loss/reconnect acceptance remains unchecked separately.

  • Agent-verified: infra#1722 merged02:25:43Z; main widens timing, observes from65s and marks check17.4 not automated with test reference. Historical operator timing73–91s/window45–75s retained. This closes documentation delivery only; actual stream-loss/reconnect remains unchecked.

  • Agent-verified follow-up gate: delivered credential/proxy fix#1993 still needs independent legacy-file-only/two-fresh-spawn, authenticated provider, credential non-disclosure and clone-only runtime acceptance; author-reported local tests are not live V2 sign-off.

  • Agent-verified: agent#1993 merged/agent#1992 closed, released v0.130.1 at02:16:55Z and deployed via infra#1723/router41160125884; release/deployment subgate now satisfied. Fresh-spawn/provider/proxy/clone-only acceptance remains separately unchecked.

  • Agent-verified: infra#1723 merged and router41160125884 delivered v0.130.1/OpenCode2.2.0 with health/digest/1024MiB readback. V2 return delivery is complete; authenticated runtime acceptance is not inferred.

  • Agent-verified follow-up gate: agent#2004 is merged, released/deployed in v0.130.4 and Action Required: Fix Renovate Configuration #1990 closed. Confirmation/next-run re-prompt now accepted below; same-run matching, covered siblings/owned descendants, partial matches, teardown/races and old-grant reset/disclosure remain unmet.

  • Agent-verified follow-up gate: current V2 authenticated ready parity and session-continuity/persistence recheck remain. Launch/provider/Once/Submit/Skip/ordinary Cancel and Discord mention/background subset are now accepted separately as operator-reported.

October31 v0.130.3 V2 acceptance and retained blockers

Source for all operator-reported entries in this section: pending mention6545749333. No unmet gate was removed; combined runtime gates above retain their stronger unmet remainder.

  • Operator-reported: v0.130.3 six-launch recheck: smoke71fb6fdd streamed OK, Oncef005379e, Submit5631e3d0, Skip515bf08f to succeeded, ordinary Cancel4262df14 with Cancelled/Run stopped, push ready. Push readiness is not cold-start delivery; ordinary cancel is not injected-fault containment.
  • Operator-reported: onv0.130.1 bound Discord channel, mention, Once, background-shell completion reply, dashboard cancel with confirmed stop/no hold, and subsequent mention accepted. Question/reconnect settlement remains separate.
  • Operator-reported: readiness2.2.5, provider-store presence and sampled384/1024MiB,0 OOM/no failed/quarantined/provider-auth runs in the recheck. Not independently inspected; sustained load, host/cgroup memory and fresh-spawn/proxy checks remain unmet.
  • Agent-verified: Historical infra#1735 merged; router41208892613 actually deployed Gateway/workspacev0.130.3, built OpenCode2.2.5/Systematic3.28.0 and verified both running digests, health1.14.0 and1024MiB/equal swap. Dashboard skipped/remains.78. This is stronger evidence than a successful router that skipped both services.
  • Operator-reported requirement: fix/accept V2 Reject safely (agent#2001): permission denied without destructive action, normal usable terminal/denial semantics, no spurious repo quarantine/lease lockout and immediate next launch; actionable failure reason for lock contention. Reportedv0.130.1 failure retained; operator v0.130.4 still lists Reject unsafe, The fix is now merged via#2026, but unreleased/undeployed and no live retest pass is posted.
  • Operator-reported requirement: restore command/path in approval-specific request/card (agent#2002). A run-output tool-call list cannot identify the requested action; Merged#2028 synthesizes detail from V2 resources (not raw metadata); release/deployment and live coordinator→SSE/pending/card detail with safe fallback remain acceptance work.
  • Agent-verified: Always implementation#2004 merged14:06:42Z, closes#1990. Historical merge gate only; subsequently released/deployed in v0.130.4. Confirmation/next-run re-prompt are accepted below; within-run/sibling/descendant isolation and reset gates remain unmet.
  • Operator-reported: V2 check17 steps1/5 mechanically show the populated label in place and clear it at terminal/reload. Historical V1 steps1/2/3/5 retain their stronger45–75s drain evidence.
  • Operator-reported requirement: meaningful V2 waitReason/check17 steps2/3 (agent#2007 closed via merged#2031, unreleased/undeployed): no status frame during+0.1–140s background work, awaiting-background-task only5.6s at end, similar5.5s flash on ordinary runs and no confirming-completion. Current evidence cannot demonstrate background-drain semantics or exercise steps2/3. Do not mark them passed or waive them; actual reconnect, precedence/unknown values and rare reasons remain separate unmet gates.

October31 v0.130.4 update — bounded Always acceptance

Source: operator report6547863042. No unmet gate removed; the prior combined Always gate remains unchecked for its stronger remainder.

  • Agent-verified: agent#2004 shipped in v0.130.4; infra#1740 merged and router41228975081 deployed it by18:31:12Z with both running image digests, health1.14.0 and1024MiB/equal swap verified. OpenCode2.2.5 selected in build logs. Main Gateway pin remains v0.130.4; latest release is now v0.133.0. Dashboard.78 unchanged. Latest router41429565194 skipped both.
  • Operator-reported: v0.130.4 Always + Confirm always on b9b9a5b8 succeeded; next same-repo run1d287ff0 requested approval again, Once succeeded. Accept confirmation and next-run re-prompt only.
  • Operator-reported requirement: later matching request in the same run skips the prompt. The posted trigger raised only one request per run, so this is explicitly unobserved; sibling/owned-descendant, partial-match, terminal/race and old-grant reset/disclosure gates above remain.
  • Operator-reported: current readyz2.2.5, provider-store presence,0 OOM and unchanged trusted proxies/:9300 firewall/CA. These observations were not independently replayed; sustained load, host/cgroup memory and credential/proxy regression gates remain unchecked.
  • Agent-verified: infra#1741 merged October31 at20:41:38Z; main manual check9.5 and automated L4 restore Always acceptance and the next-run Once probe. This closes the previously unmet documentation-delivery gate only. Same-run matching remains explicitly unobserved; Reject L5 remains skipped on V2.
  • Operator-reported requirement: Reject#2001 remains unsafe, approval-specific command#2002 remains absent (empty Tool action region), and meaningful V2 waitReason#2007 remains unaccepted. All three implementations are now closed via merged#2026/Action Required: Fix Renovate Configuration #2028/Action Required: Fix Renovate Configuration #2031; none is released/deployed. The October31 production report remains the latest live evidence; no new pass or issue comment is inferred.

November1 historical reconciliation

  • Agent-verified: the November1 check found release v0.131.0 ahead of production v0.130.4, router41307433329 skipped both services, and infra#1741 runbooks delivered. These were point-in-time findings, superseded for latest release/router/reconvergence by the November2 evidence below. Runtime acceptance was not inferred.

November2 implementation closure, retained production gates

  • Agent-verified: agent#2001/Action Required: Fix Renovate Configuration #2002/Action Required: Fix Renovate Configuration #2007 are closed through merged#2026/Action Required: Fix Renovate Configuration #2028/Action Required: Fix Renovate Configuration #2031 (November2 at08:29:43Z,09:56:51Z,10:50:51Z respectively). Inspected merged diffs: nonempty Reject message with pending-sibling settlement; resource-derived approval commands/paths and truncation fail-closed handling; pre-root background status and quiet/unreadable-directory confirmation. Implementation subgates are satisfied; no existing unmet production gate removed.
  • Agent-verified follow-up gate: release and promote these three fixes as a compatible Gateway/workspace pair. Latest v0.133.0 predates them, and release-to-merge comparisons show each merge has commits absent from that tag. Production remains v0.130.4; neither a closed issue nor a published Action release proves Gateway delivery.
  • Operator-reported requirement: after promotion, repeat Reject denial/continued turn, no suspended claim or spurious quarantine/lease lockout, sibling settlement without affecting new asks, and immediate usable next launch. Preserve genuine shutdown quarantine and the actionable admission-failure requirement.
  • Agent-verified follow-up gate: after promotion, verify all shell/path resources appear on SSE/pending/web/Discord approval surfaces with bounds and no log disclosure. Truncated detail must remain reject-only: no Once/Always, stale/forged approve or run-grant bypass; Discord Action over1024 characters must post a bounded deny-only card. These fail-closed boundaries are present in merged#2028, not production acceptance.
  • Operator-reported requirement: after promotion, repeat the live L9/background and plain OK/foreground controls for#2031, distinguishing real owned work from completion confirmation and terminal clearing while preserving the full safety window. Existing precedence, real reconnect, unknown and opportunistic rare-reason gates remain separately unmet. PR-reported local/real-binary results were not independently executed here.
  • Agent-verified: infra#1752/router41344463545 is the latest actual Gateway deployment, completing November1 at20:49Z, still v0.130.4/OpenCode2.2.5/Systematic3.28.0 with both running digests, health1.14.0 and1024MiB/equal swap verified. All21 subsequent successful routers since41239906077 were inspected; no newer Gateway or Dashboard deployment was found. Latest successful router41429565194 skips both. Latest Dashboard release remains2026.10.78 and public health1.14.0. No new operator acceptance was posted; all prior version-scoped passes and unmet gates remain.

Activity

  1. fro-bot commented on Jun 17, 2026

    @fro-bot
    Owner

    This isn't a bug to reproduce—it's a cross-repo coordination spine. Triage here means verifying the dependency graph is wired correctly and the state claims hold. They do.

    State verification

    • Gateway foundation PR fro-bot/agent#929 — MERGED 2026-06-17T00:52Z, ~30 min before this issue opened. Title confirms scope: "prepare web operator surface spine." The Phase B foundation slice you describe (runtime accepts surface: 'web', stable GitHub numeric IDs + login/session correlation, approval spine ready for a future web transport, no live routes yet) matches a merged foundation, not a claim. Good.
    • Tracking issue fro-bot/agent#907 — OPEN. Still the canonical agent-side home for the inbound control surface + operator web auth. Correct parent.
    • Phase B plan — docs/plans/2026-06-15-002-feat-gateway-web-operator-control-surface-plan.md present (~59KB). The dependency matrix (Units 2–8) traces to a real artifact, not a sketch.

    Cross-repo links — all six exist, confirmed

    The "related issues to track" in the body are live. Resolving them so this issue actually links the surface instead of describing it:

    Dashboard (fro-bot/dashboard):

    • #24 — Plan same-origin Gateway operator control-surface integration
    • #25 — Add typed Gateway operator API client contract behind mocks
    • #26 — Mock operator workflow UI skeleton

    Infra (marcusrbrown/infra):

    • #579 — Prepare Gateway operator listener reverse-proxy topology
    • #580 — Wire Gateway operator auth/config secrets into deploy
    • #581 — Decide same-origin hosting path for dashboard operator UI

    Dependency matrix — current gating reality

    The matrix is a chain rooted at agent units. Mapping the unlock edges to the downstream issues so the critical path is visible:

    Agent unit Unlocks Downstream blocked on it
    Unit 2 — operator listener/topology infra proxy/topology marcusrbrown/infra#579
    Unit 3 — OAuth/session/CSRF/allowlist infra secrets + dashboard auth validation marcusrbrown/infra#580, fro-bot/dashboard#24
    Unit 4 — run snapshot/SSE live dashboard run observation fro-bot/dashboard#25→live
    Unit 5 — web launch live launch form fro-bot/dashboard#26→live
    Unit 6 — web approvals live approval cards fro-bot/dashboard#26→live
    Unit 7 — binding reads Gateway-backed repo selector dashboard repo selector
    Unit 8 — smoke/operational readiness production rollout claim acceptance criterion #3

    Critical-path read: Unit 2 and Unit 3 are the true gate. marcusrbrown/infra#579 (topology) needs Unit 2's listener shape; marcusrbrown/infra#580 + fro-bot/dashboard#24 both need Unit 3's auth/config contract. Until those land, fro-bot/dashboard#25/fro-bot/dashboard#26 stay behind mocks—which is exactly where they're scoped right now. Nothing downstream is prematurely unblocked. The graph is honest.

    Risk that needs a guardrail, not just visibility

    Two of your listed risks are the ones most likely to silently rot the rollout:

    Proposed next steps

    1. Label this as a tracking epic. No tracking/epic label exists in this repo yet—agent: working is the only workflow label. Recommend adding a tracking label so this and future cross-repo coordination issues are queryable. I won't create labels unprompted.
    2. Make the matrix self-updating, not manual. Acceptance criterion feat: set default settings #1 says "keep the dependency matrix updated as units land." Manual matrix maintenance is where tracking issues go to die. Add the six cross-repo issues to a GitHub Project (or task-list with - [ ] items referencing each issue number) so closure state renders automatically instead of requiring a human to re-edit prose.
    3. Gate Unit 3 first. It's the widest unlock (Wire Gateway operator auth/config secrets into deploy marcusrbrown/infra#580 + Plan same-origin Gateway operator control-surface integration dashboard#24 both wait on it) and it's the security-critical auth boundary Gateway inbound control surface + operator web auth (the web-command spine) agent#907 flagged as "the genuinely hard part." Sequence it ahead of Units 4–7.
    4. Do not mark rollout complete until Unit 8 smoke + live dashboard/infra integration verify. This is acceptance criterion feat: sync template changes #3 and it's correct—hold the line. Foundation merged is not rollout shipped.

    No implementation happens from this issue, per its own acceptance criteria. This is a map. The map currently matches the territory.


    Run Summary
    Field Value
    Event issues
    Repository fro-bot/.github
    Run ID 27659325442
    Cache miss
    Session ses_12cd45e5affeplNhOtkycKGwLo
  2. marcusrbrown commented on Jun 17, 2026

    @marcusrbrown
    CollaboratorAuthor
  3. fro-bot commented on Jun 17, 2026

    @fro-bot
    Owner

    Tracker spine confirmed. Project users/fro-bot/projects/1 now holds all nine items, and I just re-verified the territory the map points at:

    Item State Role
    fro-bot/agent#929 MERGED 2026-06-17T00:52Z Phase B foundation slice (spine only)
    fro-bot/agent#907 OPEN canonical agent-side parent
    fro-bot/dashboard#24 / #25 / #26 OPEN downstream, behind mocks
    marcusrbrown/infra#579 / #580 / #581 OPEN topology + secrets + hosting decision

    Nothing has moved since the foundation merged. No Phase B unit beyond the spine has landed (the only other gateway-operator PR, #915, was a closed brainstorm doc). So the current readiness state is exactly: foundation merged, zero live routes, eight downstream issues all blocked. That's the honest baseline the tracker should start from.

    On the automation direction

    The three rules you set are the right shape. One sharpening on each:

    1. Scheduled/manual tracker → reusable workflow. Fine. But give the scheduled run a no-op exit when nothing changed. A daily tracker that posts "still blocked on Unit 2/3" every 24h is noise that trains people to ignore it. Which leads directly to —

    2. "Post comments only when meaningful readiness evidence changes." This is the load-bearing rule, and "meaningful" needs a definition or it'll rot into either spam or silence. Pin it to state transitions on the gating edges, not prose drift:

    • an Agent unit (2–8) merges → recompute the matrix, post
    • a downstream issue closes or flips to a live (non-mock) state → post
    • the same-origin hosting decision lands in infra#581 → post (this one unblocks two issues at once)
    • nothing in that set changed → update project fields silently, no comment

    Field updates are free; comments cost attention. Spend comments only on edge transitions.

    3. Daily org-oversight prompt checks the tracker. Good, but have it read project item state, not this issue's comment history. The project is now the source of truth for closure; the comment thread is the narrative. Don't let the daily prompt re-derive status by parsing prose — that's the manual-matrix failure mode wearing a cron disguise.

    The gate hasn't changed

    Unit 3 (OAuth/session/CSRF/allowlist) is still the widest unlock and the security-critical boundary fro-bot/agent#907 flagged as the genuinely hard part — infra#580 and dashboard#24 both wait on it. Sequence it ahead of 4–7. And the single decision most likely to silently break prod is still the same-origin trust boundary: keep it pinned in infra#581 and let dashboard#24 reference it, not re-decide it.

    Hold acceptance criterion #3 — rollout is not complete until Unit 8 smoke + live dashboard/infra integration verify. Foundation merged is not rollout shipped. The tracker's job now is to keep that distinction from blurring as units land.

    Map's wired. The daemon can watch the edges from here.


    Run Summary
    Field Value
    Event issue_comment
    Repository fro-bot/.github
    Run ID 27663826532
    Cache hit
    Session ses_12c5eb63cffe1s03VrFTn0FuXS
  4. fro-bot commented on Jun 17, 2026

    @fro-bot
    Owner

    @fro-bot tracker sweep — no drift. Edges held since the last status.

    Item State Readiness Gate Δ
    fro-bot/agent#929 MERGED foundation shipped foundation —
    fro-bot/agent#907 OPEN tracking Units 2–8 —
    fro-bot/dashboard#24 OPEN ready now Unit 3 —
    fro-bot/dashboard#25 OPEN ready now Units 4–6 —
    fro-bot/dashboard#26 OPEN ready now Units 5–6 —
    marcusrbrown/infra#579 OPEN blocked Unit 2 —
    marcusrbrown/infra#580 OPEN blocked Unit 3 —
    marcusrbrown/infra#581 OPEN ready now Unit 3 —

    What I checked for, what moved: No Agent unit (2–8) merged — the only Phase B merge remains the #929 spine, already acknowledged. Activity in the three repos since last sweep is dependency bumps, CI/release tuning, and branding chores (agent#926/#928, dashboard#6/#7/#18/#19/#21/#22/#23/#27, infra#572–#578). None touch a gateway-operator route, none close a downstream issue, none land the infra#581 same-origin hosting decision.

    No tracked issue closed. No live (non-mock) route shipped. The hosting decision still sits unmade in infra#581 — still the widest single unlock.

    Project fields on users/fro-bot/projects/1 already match this matrix; nothing to re-write. No tracked-issue comments posted — no issue-specific transition evidence to report.

    Baseline stands: foundation merged, zero live routes, eight downstream issues blocked. The daemon's still watching the edges. Nothing crossed.


    Run Summary
    Field Value
    Event workflow_dispatch
    Repository fro-bot/.github
    Run ID 27666598120
    Cache hit
    Session dispatch-27666598120
  5. fro-bot commented on Jun 17, 2026

    @fro-bot
    Owner

    @fro-bot tracker sweep — one edge crossed. A gate transitioned since the last status.

    Transition

    fro-bot/dashboard#24 → CLOSED (COMPLETED) 2026-06-17T06:15:30Z, via dashboard PR #29.

    This is the same-origin Gateway operator control-surface plan landing — not a live route. The merged plan (docs/plans/2026-06-17-001-feat-gateway-operator-control-surface-plan.md) pins:

    No production Gateway calls were introduced. This closes the planning obligation, not an integration. The work it unblocks — the typed API client (#25) and mock UI skeleton (#26) — is contract/mock scoped and still gated behind Agent Units 4–6 for anything live.

    What this does and does not move

    The plan also documents the same-origin trust boundary that infra#581 owns the decision for. Worth being precise: dashboard#24 references and consumes that boundary from the dashboard side; it does not make the hosting decision. infra#581 stays open and stays the widest single unlock. The map says: dashboard now knows what shape it's building toward, but infra still has to choose where it lives.

    Current matrix

    Item State Readiness Gate Δ
    fro-bot/agent#929 MERGED foundation shipped foundation —
    fro-bot/agent#907 OPEN tracking Units 2–8 —
    fro-bot/dashboard#24 CLOSED ready now → done Unit 3 closed (plan landed)
    fro-bot/dashboard#25 OPEN ready now Units 4–6 —
    fro-bot/dashboard#26 OPEN ready now Units 5–6 —
    marcusrbrown/infra#579 OPEN blocked Unit 2 —
    marcusrbrown/infra#580 OPEN blocked Unit 3 —
    marcusrbrown/infra#581 OPEN ready now Unit 3 —

    Project users/fro-bot/projects/1 already carries #24 as Done; fields match this matrix, nothing to re-write. No Agent unit (2–8) merged — the #929 spine is still the only Phase B merge. No live route shipped.

    Baseline shifts by exactly one: foundation merged, zero live routes, dashboard planning closed, seven downstream issues still open. Acceptance criterion #3 holds — a closed plan is not a shipped rollout. The daemon logged the edge and went back to watching.


    Run Summary
    Field Value
    Event workflow_dispatch
    Repository fro-bot/.github
    Run ID 27669761833
    Cache hit
    Session dispatch-27669761833
  6. marcusrbrown commented on Jun 17, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot tracker sweep — Agent Unit 2 crossed.

    Transition

    fro-bot/agent#931 → MERGED (COMPLETED) 2026-06-17T06:20:38Z, merge commit 198905b57545902d82fe0668fc7daa3cf3d339d4.

    This is the Gateway operator listener/topology slice landing. It adds the opt-in operator listener skeleton, keeps it disabled by default, binds it only to explicit gateway-net IPv4 config, rejects hostnames/all-interface/loopback/sandbox-net/IPv6 binds, keeps the announce and operator surfaces pinned separately, and exposes no privileged browser routes yet.

    Readiness evidence:

    • PR head 3fccb2e1b29f9d5b6226332771972481af3e8bae
    • fresh Fro Bot review: APPROVED, verdict PASS
    • all checks green: CI, Test GitHub Action, Gateway Image Smoke Test, Workspace Image Smoke Test, Release preview, CodeQL
    • Unit 2 non-blockers were patched before merge: IPv6 binds rejected, prefix-check assumptions documented, and future route rate-limit contract documented

    What this moves

    Unit 2 was the gate for the infra topology work. That edge is now crossed: marcusrbrown/infra#579 is no longer blocked on agent code shape and can proceed against the listener contract from fro-bot/agent#931.

    Unit 3 is now the next agent-side gate and the right next implementation target. The operator listener exists, but it has only GET /operator/health; auth/session/CSRF/allowlist are not present yet. That means anything needing real browser operator auth remains Unit-3-gated.

    Current matrix

    Item State Readiness Gate Δ
    fro-bot/agent#929 MERGED foundation shipped foundation —
    fro-bot/agent#931 MERGED listener/topology shipped Unit 2 crossed
    fro-bot/agent#907 OPEN tracking Units 3–8 Unit 2 complete
    fro-bot/dashboard#24 CLOSED planning done Unit 3 —
    fro-bot/dashboard#25 OPEN mock/client work can continue; live calls wait Units 4–6 —
    fro-bot/dashboard#26 OPEN mock UI can continue; live launch/approval waits Units 5–6 —
    marcusrbrown/infra#579 OPEN ready now Unit 2 unblocked by fro-bot/agent#931
    marcusrbrown/infra#580 OPEN blocked Unit 3 —
    marcusrbrown/infra#581 OPEN ready now Unit 3 / hosting decision —

    Unit 3 readiness

    Agent is ready to start Unit 3: OAuth/session/CSRF/allowlist/audit seam.

    The plan dependency is satisfied because fro-bot/agent#931 delivered:

    • separate operator listener lifecycle
    • fail-closed operator config and deploy validation
    • no-oracle response helpers
    • pre-auth body/rate-limit/forwarded-header guards
    • ingress-pin coverage keeping announce and operator trust boundaries distinct
    • explicit rate-limit contract for future authenticated routes

    Unit 3 should keep the same trust-boundary posture: GitHub human auth only, opaque server-side sessions, __Host- cookie invariants, origin + CSRF checks before mutating JSON routes, file-backed operator allowlist, stable GitHub numeric IDs for audit, and no bearer/API callers in v1.

    Dependent-project status

    • infra#579 should now be treated as ready to proceed with reverse-proxy topology against the feat(gateway): add operator listener topology agent#931 listener contract. It still must preserve no-buffering for future SSE and must not route /v1/announce through the browser operator trust boundary.
    • infra#580 remains blocked until Unit 3 defines and lands the auth/config secret contract.
    • infra#581 remains ready and should stay the source of truth for same-origin hosting; dashboard#24 has already consumed that boundary on paper but does not replace the infra decision.
    • dashboard#25/feat: add schedule trigger to Renovate workflow #26 can continue mock/contract UI work, but live Gateway calls stay blocked until Units 4–6 expose run observation, launch, and approvals.

    Baseline is now: foundation merged, Unit 2 listener/topology merged, zero privileged live routes, dashboard planning closed, infra topology unblocked, Unit 3 is the next agent gate.

  7. fro-bot commented on Jun 17, 2026

    @fro-bot
    Owner

    Edge confirmed. I re-verified the territory before logging it:

    The distinction that matters now

    Unit 2 crossing changes infra#579 from blocked to ready — it does not change it to done, and the gap between those two is where this rollout is most likely to bite. fro-bot/agent#931 shipped a listener that binds IPv4-only, rejects loopback/all-interface/IPv6/sandbox-net, and keeps announce and operator surfaces pinned apart. That's a clean contract for the reverse proxy to target. But the proxy work inherits two invariants that have to be built in from the first commit, not retrofitted:

    • SSE no-buffering belongs in infra#579 now. Unit 4 (run snapshot/SSE) hasn't shipped, which makes it tempting to defer the streaming concern. Don't. A reverse proxy that buffers long-lived streams fails silently — it looks like "the dashboard is slow," not "the proxy is wrong" — and you won't see it until Unit 4 is live and you're debugging in prod. Make "no buffering on the operator stream path" an explicit acceptance checkbox on infra#579 while the topology is being written, even though nothing streams yet.
    • The announce/operator ingress separation is now a proxy-layer obligation, not just a code-layer one. feat(gateway): add operator listener topology agent#931 keeps /v1/announce HMAC distinct from operator control inside the gateway. The reverse proxy must not collapse that distinction by routing announce through the browser operator trust boundary. That's a topology assertion infra#579 owns from day one.

    Unit 3 is the gate, and it's the hard one

    The next agent target is correct: OAuth/session/CSRF/allowlist/audit. fro-bot/agent#931 satisfied the structural preconditions — separate listener lifecycle, fail-closed config, pre-auth guards, no-oracle helpers, the rate-limit contract for future authenticated routes. So Unit 3 starts from a real seam, not a green field.

    Unit 3 is also the widest unlock left: it gates infra#580 (secret wiring) and the live side of dashboard#25/#26. Keep the trust-boundary posture fro-bot/agent#907 flagged as the genuinely hard part — GitHub human auth only, opaque server-side sessions, __Host- cookie invariants, origin + CSRF before any mutating JSON route, file-backed allowlist, stable numeric IDs for audit, no bearer callers in v1. That posture is the difference between an operator surface and a privilege-escalation footgun.

    infra#581 stays the source of truth for the same-origin hosting decision — still unmade, still the one decision that, once it drifts, fails closed in prod. dashboard#24 consumed that boundary on paper; it didn't make it.

    Baseline

    Foundation merged → Unit 2 listener/topology merged → zero privileged live routes → dashboard planning closed → infra topology unblocked → Unit 3 is the next agent gate.

    Acceptance criterion #3 still holds: an unblocked topology issue is not a shipped rollout. The daemon logged the edge and went back to watching. Two crossed, six to go.


    Run Summary
    Field Value
    Event issue_comment
    Repository fro-bot/.github
    Run ID 27670258680
    Cache hit
    Session ses_12c5eb63cffe1s03VrFTn0FuXS
  8. 323 remaining items

  9. fro-bot commented on Oct 30, 2026

    @fro-bot
    Owner

    @fro-bot Contract 1.14.0 rollout accepted; acceptance remains partial.

    Responding to 6520551685:

    • Verified: actual Gateway v0.129.0 deployment 41033063087, Dashboard .77 healthy runtime/digest 40989484959, merged pins infra#1711/Action Required: Fix Renovate Configuration #1705, public health 1.14.0, and served stream asset matching .77's contract pin. Latest router 41036440469 skipped both; latest releases v0.130.0/.78 are separate from deployment.
    • Accepted as operator-reported: eight-launch explicit passes and all eight terminal outcomes, including ordinary cancel/questions/checkout/approval confirmation/logout-CSRF/prompt limit. Roughly 13-minute skew and workspace posture remain attributed to your report. infra#1711 documents old-tag build failure and paired digest rollback; rollback itself is untested.
    • Flagged: absent waitReason does not establish populated drain/clearing/precedence or terminal/reload/unknown-value checks. Normal terminal launches do not prove injected stuck-run recovery or checkout containment. Logout/CSRF does not explicitly prove negative-CSRF, upgrade recovery or saved-cookie invalidation. Skipped device/Discord/account/provider tests and current-pair restart durability remain open. Always confirmation is a UI pass, not permission isolation: agent#1990 records the cross-run grant.
    • Changed: rewrote current state, open work, full matrix, risks and acceptance; checked forward deployment/health-ready/audit-pin gates and retained stronger unmet requirements. Updated Project gates/readiness and added agent#1990 + infra#1711, bringing it to 65 items. Overall In Progress / blocked: policy availability, Always scope and live edge cases remain.
    Run Summary
    • Run: workflow_dispatch / 41041309060; answered pending mention 6520551685 only.
    • Verification: 63 existing Project-linked states, two new dependencies, releases, standalone/router workflows, actual deploy jobs/logs, source pins, public health, served stream asset and operator acceptance history. Issue body and all 65 Project item fields read back successfully.
    • Changes: GitHub tracker body/Project fields/dependencies; one reply, no other issue comments. Existing working-tree changes preserved; repository tests not applicable to remote tracker updates.
    • Limits: authenticated acceptance remains operator-reported; no independent device, memory/OOM, rollback or fault-injection sign-off. Required preflight marker preserved exactly, including pre-reconciliation snapshot.
  10. fro-bot commented on Oct 30, 2026

    @fro-bot
    Owner

    @fro-bot Deployment advanced to Gateway v0.130.0 / Dashboard .78; contract remains 1.14.0.

    • Deployment: router 41044404018 deployed Gateway/workspace built with OpenCode 2.2.0, verifying running image digests and 1024 MiB/equal swap. Dashboard 41040783946 converged healthy on .78. Public health and the served .78 stream pin verify 1.14.0.
    • Tracker/Project: refreshed current state, open items, matrix, risks and acceptance; updated deployment gates. Added agent#1805/Action Required: Fix Renovate Configuration #1988 and infra#1712/Action Required: Fix Renovate Configuration #1714/chore(deps): update bfra-me/.github action to v1.13.0 #1716, bringing Project 1 to 70 items. Main Gateway pin is v0.130.0; main Dashboard still .77, with infra#1716 open for the .78 audit record.
    • Acceptance changes: retained the eight-launch sweep as historical v0.129.0/.77 evidence; added explicit V2 provider/approval/cancel/background, memory-load canary and paired-revert gates. infra#1714 supplies check 17/L9 without proving populated waitReason acceptance. Existing unmet gates remain; overall In Progress / blocked.
    Run Summary
    • Run: schedule / 41055442434; no pending mentions; no historical mention re-answered.
    • Verification: 65 Project-derived states, five dependencies, latest releases, standalone/router jobs/logs, source pins, public health, served asset and paginated operator acceptance history. Tracker body and all 70 Project fields read back.
    • Changes: tracker body/Project fields/dependencies and exactly one status comment. Existing working-tree changes preserved; repository tests not applicable to GitHub-only updates.
    • Limits: V2 production behavior, memory under load, rollback and authenticated/device/fault-injection acceptance remain unverified. Required preflight marker preserved exactly; its snapshot predates this reconciliation.
  11. marcusrbrown commented on Oct 30, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot OpenCode V2 rolled back to V1 after a 4-hour outage; check 17 is partly verified on the live pair.

    • V2 outage: infra#1712 deployed gateway v0.130.0 with the OpenCode V2 workspace at 11:08Z (router run 41044404018). From then on, every run failed about 9 s in with provider-auth-unavailable. The V2 server's per-spawn credential store was empty because the provisioned auth.json was never imported, so every model call got a 401. Filed as agent#1992. V2 also fetches its catalog from models.opencode.ai, which the egress allowlist blocks; I'm allowlisting it in infra#1720 ahead of V2's return.
    • Rollback: infra#1718 returned the gateway to v0.129.0 (V1) at about 15:10Z (router run 41077416543). Health reports 1.14.0 with dashboard 2026.10.78, and the digests and the 1 GiB workspace limit are verified. The Renovate ceiling is back to <0.130.0.
    • V1 re-check (7 runs, all terminal): a plain run streams to succeeded; Once approval passes; a fresh run prompts again and Reject works (check 9.3); a question can be answered with Submit or Skip; Cancel shows "Cancelled" / "Run stopped."; push is ready; the session survived both deploys (check 14). Always wasn't exercised (agent#1990).
    • Check 17 (run wait reason), runs 225892d9, 7029bbeb, b5d03202 on fro-bot/agent:
      • Wire order is correct: no reason → awaiting-background-task (first seen about 85–90 s after launch) → confirming-completion (about 15 s) → cleared → succeeded. /operator/runs entries never carry waitReason.
      • The labels read on the expanded card verbatim: "Waiting on a background task", then "Confirming it has finished". A label appearing in place on an already-expanded card wasn't captured.
      • Collapsed card: no reason line, badge reads "Running". Pass.
      • Re-expanding the card brings the label back. Pass.
      • Reconnect is inconclusive: 5 s of browser offline left the open stream connected, so the line never went blank. After reconnecting it showed the current reason.
      • On terminal and after a reload, the expanded card has no reason line. Pass.
      • Neither rare reason (awaiting-reply, agent-working) showed up.
    • Runbook: check 17's step-1 timeout (60 s) ran out before the first reason could appear. I'm fixing the timing in infra#1719.
  12. fro-bot commented on Oct 30, 2026

    @fro-bot
    Owner

    @fro-bot Production is back on Gateway v0.129.0 / OpenCode V1 + Dashboard .78; contract 1.14.0. Rollout remains blocked.

    Responding only to 6528138598.

    Verified / accepted

    • Rollback: merged infra#1718, router41077416543, main pins and Renovate ceiling corroborate V1 restoration at 15:10Z. Logs verify running images and 1GiB/equal swap; health and byte-matched .78 stream pin report 1.14.0. Latest agent release remains v0.130.0, deliberately rolled back. infra#1716 is merged; .78 audit drift is resolved.
    • Operator-reported acceptance: seven terminal V1 runs; stream/success, Once, fresh-run re-prompt/Reject, Submit/Skip, ordinary Cancel, push ready and session continuity across both deploys.
    • Partial check17: accepted background→confirming→cleared→succeeded, no summary field, exact expanded labels, collapsed Running/no reason, re-expansion and terminal/reload absence. These are attributed to your three-run report.
    • V2 incident: accepted the reported four-hour auth outage; agent#1992's existing Linux reproduction corroborates missing fresh-spawn credentials. Catalog egress is a separate prerequisite in open infra#1720.

    Still flagged

    • Reconnect remains inconclusive: offline did not break SSE. In-place first appearance, rare reasons, approval/question precedence and unknown-value handling remain unchecked.
    • infra#1719's timeout correction is open, not shipped; 60s cannot cover the observed 85–90s first reason.
    • Once re-prompt is not Always isolation (agent#1990). Ordinary terminal/cancel runs do not prove stop-before-reuse, backup recovery or fault-injected reconciliation. Push ready is not delivery. Auth failure termination does not prove quota/reloaded-summary behavior.
    • The rebuilt V2→V1 restoration is accepted; exact prior-digest/older-contract and migration-snapshot rollback checks remain. V2 return/provider credentials/catalog access and memory-load acceptance remain blocked/unverified.

    Changed

    Rewrote current state, open items, the full Project-derived matrix, risks and acceptance. Checked only supported restoration/audit/session/waitReason subgates; retained stronger unmet gates explicitly. Updated 26 existing Project items and added agent#1992 + infra#1718/#1719/#1720, bringing Project1 to 74 items. #3512 stays In Progress / blocked; V2 evaluation now names its blockers. No additional tracked-issue comment was needed: #1992 already acknowledges the reproduction.

    Run Summary
    • Run: workflow_dispatch / 41092329292; answered pending mention 6528138598 only, fetched by ID.
    • Verification: all70 Project-derived issue/PR states; four new dependencies; latest releases and successful standalone/router histories; rollback deployment logs; main pins/ceiling; health/served .78 asset; paginated operator evidence. Exact body and all74 Project field readbacks passed.
    • Limits: authenticated results remain operator-reported; no independent device, fault-injection or memory-load sign-off. Required preflight marker retained exactly, including its pre-reconciliation snapshot.
    • Delivery: GitHub tracker/Project edits and this single comment. No code changes; repository tests not applicable; existing working-tree changes preserved.
  13. marcusrbrown commented on Oct 31, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot Check 17 step 1 now passes. Check 17 is complete except step 4.

    • Run 6c171042-d259-47f9-a15c-537744d61e40 (fro-bot/agent, gateway v0.129.0 V1, dashboard 2026.10.78, launched 2026-10-31T01:41:38Z, succeeded). A frame observer was attached from launch and the card stayed expanded the whole time. Frames: running → awaiting-background-task at +73 s → confirming-completion at +142 s → no reason at +149 s → succeeded 0.3 s later.
    • Step 1 passes. Both labels appeared under the repo name on the expanded card, which was never collapsed: "Waiting on a background task" within 6 s of its frame, then "Confirming it has finished" within 0.1 s of its frame. No raw value showed on the card.
    • Step 5 passes again. At terminal, the expanded card has no reason line, and the list entry has no waitReason.
    • Check 17 across four L9 runs (225892d9, 7029bbeb, b5d03202, 6c171042):
      • Wire order passes.
      • Steps 1, 2, 3 and 5 pass.
      • Step 4 (reconnect blank) is still inconclusive, because a browser offline toggle doesn't drop the open stream.
      • Step 6 rare reasons were not seen.
    • Timing varies more than the runbook says: the first reason arrives 73–91 s after launch and the reason window lasts about 45–75 s. I'm correcting the runbook wording in infra#1722.
  14. fro-bot commented on Oct 31, 2026

    @fro-bot
    Owner

    @fro-bot Check 17 step 1 accepted as operator-reported; rollout remains In Progress / blocked.

    Responding only to mention 6537477455, fetched by ID.

    Accepted / verified

    • Run 6c171042: accepted the continuously expanded-card observation, background/confirming labels within 6s/0.1s of their frames, no raw values, clearing and terminal/list absence. Across four L9 runs, wire order and steps 1, 2, 3 and 5 pass. These are your posted results, not an independent authenticated replay.
    • Production: latest router 41125077031 redeployed v0.129.0 V1, verified image digests/1024 MiB/equal swap and skipped Dashboard. Dashboard .78 deployment remains 41040783946; health and the byte-matched served stream asset verify 1.14.0. Latest releases remain v0.130.0 / .78.
    • Catalog/timing: infra#1719 and Action Required: Fix Renovate Configuration #1720 are merged. Router41095891967 deployed the allowlist; the latest router log records models.opencode.ai/api.json → 200 OK. Checked the catalog gate separately from provider acceptance. infra#1722 remains open; accepted the reported 73–91s first reason/45–75s window and tracked its wording correction.
    • Changed during this run: agent#1993 merged at 02:07:06Z, closing agent#1992. Corrected their implementation states; the credential fix remains unreleased/undeployed.

    Still flagged

    “Complete except step 4” applies to the exercised steps 1–5. Step 4 remains inconclusive until SSE actually disconnects; step 6 rare reasons remain unobserved/opportunistic. Approval/question precedence and unknown-value tolerance remain unchecked. Neither catalog success nor the credential-fix merge establishes live V2 provider acceptance. Existing policy, Always, containment/reconciliation, device/security and older paired-rollback gates remain.

    Changed

    Refreshed current state, open work, the full dependency matrix and acceptance. Checked the supported in-place-label, #1719 merge and catalog subgates; retained stronger requirements and added #1722 timing/#1993 delivery gates. Updated 11 existing Project items, added agent#1993 + infra#1722 (76 items), and reconciled status/readiness/gate fields. #1992/#1993 are Done / waiting; #1719/#1720 Done / done. No unmet gate was silently removed.

    Run Summary
    • Run: workflow_dispatch / 41157732034; answered pending mention 6537477455 only.
    • Verification: 74 Project-derived states plus two dependencies; releases, successful standalone/router runs and deployment logs; public health, served .78 asset and operator acceptance history. Exact issue body/title and all 76 Project item readbacks passed.
    • Limits: authenticated results remain operator-reported; no new device, fault-injection, memory-load or live V2 sign-off. Supplied preflight marker retained exactly; its snapshot predates these reconciliations and the mid-run Action Required: Fix Renovate Configuration #1993 merge.
    • Delivery: GitHub tracker/Project edits and one consolidated comment; no code delivery or additional issue comments. Repository tests not applicable to remote tracker changes; existing working-tree edits preserved.
  15. marcusrbrown commented on Oct 31, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot Check 16 step 4 (provider failure reason) passes, checked without a new launch. Check 17 step 4 is now marked not automatable.

    • Check 16 step 4: I used run 2e528d35-0d64-4b07-b0d9-2a27fb103a62 (fro-bot/agent), which failed during the V2 outage on 2026-10-30. Its list entry has status: failed, failureKind: session-error, providerFailureReason: provider-auth-unavailable.
      • Expanded, the card reads "Model provider unavailable" on the line under the FAILED badge, above the repo name. The run's output has expired, so the card body shows "Output no longer available."
      • After a real page reload (navigation type reload), the same card reopens from the URL hash with identical text.
      • The run-list tile's accessible name is "Run, status: Failed, reason: Model provider unavailable".
      • The other two outage runs (f2b5cf86, 125bae9c, marcusrbrown/infra) show the same label.
    • Check 17 step 4 (reconnect): now listed as not automatable in the automated runbook. Browser offline mode doesn't drop an open SSE stream, so the card never reconnects. The behaviour is covered by fro-bot/dashboard web/src/operator/wait-reason-label.test.ts ("a reconnecting connection clears a painted label, and a replayed running frame shows it again"). With that, check 17 is complete across the four L9 runs: steps 1, 2, 3 and 5 pass, step 4 isn't automated, and neither rare reason appeared.
  16. fro-bot commented on Oct 31, 2026

    @fro-bot
    Owner

    @fro-bot Check 16.4 accepted as operator-reported; Check 17's automated scope is complete. Rollout remains In Progress / blocked.

    Responding only to mention 6537636320, fetched by ID.

    Accepted

    • Provider reason: credited the persisted failed / session-error / provider-auth-unavailable summary, expanded Model provider unavailable label, identical real-reload/hash reopening and accessible tile reason on 2e528d35; the other two outage runs corroborate it. Expired output does not invalidate this result. This closes the demonstrated summary/reload subgate without a new launch.
    • Check 17: steps 1, 2, 3, 5 passed across four L9 runs; step 4 not automated; rare reasons unobserved/opportunistic. Verified the named reconnect regression exists in released Dashboard .78: label clears on disconnect and returns after reattachment/replay. Source inspected, not executed here.

    Flagged

    • The runbook change is proposed, not on main: open infra#1722 contains the not-automated classification and test reference. Main still prescribes the offline toggle/inconclusive result. Kept its delivery gate open.
    • Automated completion does not establish a real production reconnect. Retained that explicit live-unverified gate, live precedence/unknown-value checks and opportunistic rare-reason observations. Original live provider-failure SSE, quota and unknown/absent-detail checks remain separate from the accepted persisted auth-failure result.

    Updated / verified

    Refreshed Current state, Still open, the entire dependency matrix and acceptance list, and six Project gate descriptions. Rechecked all 76 Project-derived issue/PR states; no missing dependency found. Existing status/readiness values remain appropriate. No unmet gate was silently removed.

    Latest successful runs remain Gateway 38698076821, Dashboard 41040783946, router 41125077031. Router logs verify v0.129.0 V1, image digests and 1024 MiB/equal swap, with Dashboard skipped. Public health reports 1.14.0; latest releases remain v0.130.0 / .78. Credential fix agent#1993 is merged but unreleased/undeployed; V2 return remains blocked.

    Run Summary
    • Run: workflow_dispatch / 41158959300; answered pending mention 6537636320 only.
    • Checks: 76 live Project-derived states, release/deploy records, router logs, public health, posted acceptance, released reconnect-test source, main runbook and Action Required: Fix Renovate Configuration #1722 diff. Exact tracker body/title and all 76 Project status/readiness/gate readbacks verified.
    • Limits: authenticated browser results remain operator-reported; test source was not executed. Supplied preflight marker retained exactly; its snapshot predates this reconciliation.
    • Delivery: tracker/Project edits and this single comment. No additional issue comments or code changes; pre-existing working-tree changes preserved. Repository tests do not apply to remote tracker edits.
  17. fro-bot commented on Oct 31, 2026

    @fro-bot
    Owner

    @fro-bot Tracker reconciled: V2 is deployed again; rollout remains In Progress / blocked.

    Historical V1/check16.4 results retain their recorded scope. Current V2 provider/fresh-spawn/clone-only, approval/cancel/background/persistence, memory and remaining security/recovery gates stay open. No unmet gate was removed.

    Run Summary
    • Run: schedule /41198905914; no pending mentions answered.
    • Verification: all76 existing Project-derived states plus2 dependencies, releases, standalone/router jobs and deployment logs, public health, posted acceptance and main runbook. Exact tracker body/title and all78 Project field readbacks passed.
    • Delivery: remote tracker/Project reconciliation and this single comment; repository tests do not apply. Pre-existing working-tree changes preserved.
    • Limits: no authenticated production replay or local provider tests executed. Required preflight marker copied exactly; its snapshot predates reconciliation.
  18. marcusrbrown commented on Oct 31, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot OpenCode V2 is back in production on gateway v0.130.3 (OpenCode 2.2.5). The recheck passes except for Reject, which is unsafe, and check 17, which V2 can't demonstrate.

    • Rollout. infra#1723 re-landed V2 on v0.130.1 after agent#1992 was fixed. infra#1735 then moved to v0.130.3 (router run 41208892613, 14:22Z). Contract 1.14.0, dashboard 2026.10.78.
      • /readyz reports opencodeVersion 2.2.5, and Systematic is 3.28.0.
      • The V2 credential store holds anthropic and openai.
      • Memory is 384/1024 MiB with 0 OOM, and there are no provider-auth, failed or quarantined runs.
    • Recheck on v0.130.3 (6 launches). The launch smoke check passed: run 71fb6fdd streamed "OK".
      • Once: pass (f005379e).
      • Question Submit: pass (5631e3d0, "You chose A.").
      • Question Skip: pass (515bf08f, the run continued to succeeded).
      • Cancel: pass (4262df14, "Cancelled" / "Run stopped.").
      • Push: ready.
    • Discord, on the bound systematic channel (v0.130.1): plain mention, approval Once, background shell (reply after the shell finished), cancel from the dashboard (stop confirmed, no hold), and a new mention accepted afterwards. All pass.
    • Not safe on V2:
      • Reject. On v0.130.1 a Reject aborted the session, failed the run and quarantined the repo for about 20 minutes (agent#2001). v0.130.3 doesn't change this, so I didn't re-test it.
      • Always. Still out of scope (agent#1990, fix in agent#2004).
      • The approval request doesn't carry the command (agent#2002). v0.130.3 doesn't change this. The card lists the run's tool calls (touch …, rm …), but those come from the output, not the approval.
    • Check 17 (run wait reason) can't be demonstrated on V2.
      • L9 run acde2e35 on fro-bot/agent sent no status frame between +0.1 s and +140 s, only heartbeats, while the background subagent ran.
      • Then awaiting-background-task appeared for 5.6 s, followed by succeeded.
      • confirming-completion never appeared.
      • Every other run, none of which starts a background task, shows the same roughly 5.5 s awaiting-background-task flash just before finishing. So on V2 the reason doesn't distinguish a background drain.
      • Step 1 (label in place) and step 5 (cleared at terminal, and after a reload) pass mechanically. Steps 2 and 3 weren't exercisable in the window.
      • On V1 (v0.129.0) the reason covered the 45–75 s drain correctly.
  19. fro-bot commented on Oct 31, 2026

    @fro-bot
    Owner

    @fro-bot Accepted the partial V2 recheck; rollout remains In Progress / blocked.

    Replying to 6545749333, fetched by ID before acting:

    Verified / accepted

    • Production is v0.130.3 / OpenCode2.2.5 / Systematic3.28.0, Dashboard.78, contract1.14.0. Merged infra#1735 and router41208892613 corroborate the promotion, both running image digests and1024MiB/equal swap. Public health agrees; latest releases and standalone deployment runs were checked.
    • Accepted as operator-reported: current launch/stream, Once, Submit/Skip, ordinary Cancel and push ready; thev0.130.1 Discord mention/Once/background/cancel/subsequent-mention passes; sampled memory/readiness/provider observations. These are credited at their reported versions.

    Corrections / retained gates

    • Always#2004 is now merged and#1990 closed, but the fix postdatesv0.130.3 and is unreleased/undeployed. Always remains out of scope; live run isolation and old-grant reset remain unchecked.
    • Reject#2001 and missing approval command#2002 remain open blockers. Their existing triage already acknowledges the evidence. Output tool calls are not approval-specific details; no Reject retest/pass inferred.
    • Check17: accepted V2 steps1/5 mechanically. Steps2/3 remain unexercised; the missing status during background work and generic5.5–5.6s terminal flash do not demonstrate meaningful drain reasons. Historical V1 passes remain credited. Reconnect, precedence/unknown/rare values remain open.
    • The broad “passes except” disposition does not close persistence, fresh-spawn/proxy/non-disclosure, sustained-load memory, containment/reconciliation, policy, security or rollback gates. Runtime observations were not independently replayed.

    Updated

    • Rewrote Current state, Still open, the cross-repo matrix, risks and acceptance entries on#3512; retained every unmet gate and version-scoped historical pass. The title remains accurate.
    • Project1 now has 81 items: added#2001/Action Required: Fix Renovate Configuration #2002 (Todo / ready now) and infra#1735 (Done / done); reconciled 28 field values, including#1990/Action Required: Fix Renovate Configuration #2004 Done / waiting. Tracker and V2 umbrella remain In Progress / blocked. Exact body/title and all81 Project field readbacks passed.
    Run Summary
    • Run: workflow_dispatch /41217471424.
    • Answered: pending mention6545749333 only; one tracker reply.
    • **Evidence:**78 existing Project-derived live states plus3 dependencies; releases, latest successful standalone/router runs and deployment logs, public health, operator acceptance and existing issue triage.
    • Delivery: tracker body and Project updates; no code delivery. Existing working-tree changes preserved; repository tests not applicable to remote tracker changes.
    • Limits: no authenticated production replay. Required marker is the exact preflight snapshot, which predates these reconciliations.
  20. marcusrbrown commented on Oct 31, 2026

    @marcusrbrown
    CollaboratorAuthor

    @fro-bot Gateway is on v0.130.4 (OpenCode V2 2.2.5), and Always is fixed.

    • Rollout: infra#1740 deployed v0.130.4 (router run 41228975081, 18:31Z). The contract is still 1.14.0, so the dashboard (2026.10.78) is unchanged.
      • /readyz reports opencodeVersion 2.2.5.
      • The V2 credential store holds anthropic and openai.
      • There have been 0 OOM kills.
      • Trusted proxies, the :9300 firewall rules and the CA are unchanged.
    • Always (agent#1990): pass.
      • Run b9b9a5b8 (marcusrbrown/infra) used Always, then Confirm always, and succeeded.
      • The next run on the same repo, 1d287ff0, prompted again. I approved it with Once and it succeeded.
      • The trigger only raises one request per run, so I haven't yet observed the step where a matching request later in the same run skips the prompt.
    • Still not safe on V2:
      • Reject (agent#2001).
      • The approval request still lacks the command (agent#2002). The card's "Tool action" region is empty.
      • Check 17 can't be shown on V2 (agent#2007).
    • Runbooks: infra#1741 brings the Always check back into acceptance.
  21. fro-bot commented on Oct 31, 2026

    @fro-bot
    Owner

    @fro-bot Reconciled #3512 and Project 1 for mention6547863042.

    • Verified: latest release v0.130.4 includes Action Required: Fix Renovate Configuration #2004; merged infra#1740 and router41228975081 deployed it by18:31Z. Logs verify both image digests, OpenCode2.2.5 build selection, health1.14.0 and1024MiB/equal swap. Dashboard remains .78; public health is1.14.0. Latest router41229462814 skipped both services.
    • Accepted, operator-reported: Always + Confirm always succeeded on b9b9a5b8; next same-repo run1d287ff0 prompted again and succeeded with Once. Ready/provider-store/zero-OOM/unchanged-network observations remain explicitly operator-reported.
    • Flagged: “Always fixed” closes deployment, confirmation and next-run re-prompt—not the unobserved same-run matching request. Sibling/descendant, partial-match, cleanup/race and old-grant reset gates remain. Reject#2001, empty approval Tool action#2002 and waitReason#2007 stay open. Zero observed OOM does not close sustained-load acceptance. Infra#1741 is open, so runbook delivery is pending.
    • Changed: refreshed current state, open items, all dependency rows, risks and acceptance; updated18 existing Project gates and added agent#2007 plus infra#1740/Action Required: Fix Renovate Configuration #1741 (84 items). Rollout remains In Progress / blocked. No unmet gate removed; no duplicate issue-specific comments.
    Run Summary
    • Run: workflow_dispatch /41232656898; answered only pending mention6547863042, fetched by ID.
    • Evidence: all81 pre-existing Project-linked issue/PR states, three new dependencies, latest releases, successful standalone deploys/router jobs and deployment logs, public health, operator acceptance report.
    • Verification: exact tracker body and all84 Project status/readiness/gate fields read back successfully. Runtime/browser/provider observations were not independently replayed; retained their stated scope.
    • Delivery: GitHub-only tracker/Project updates; repository tests not applicable. One consolidated comment. Supplied preflight marker retained exactly, including its pre-update Project snapshot.
  22. fro-bot commented on Nov 1, 2026

    @fro-bot
    Owner

    @fro-bot Updated #3512 and Project 1 for the release/deployment gap and merged Always runbooks.

    • Release ≠ deployment: latest agent release is v0.131.0; Gateway remains v0.130.4 / OpenCode2.2.5. Router41307433329 skipped both services; infra#1748 updated the Action workflow only. Refreshed current state, dependency rows, deployment acceptance and related Project gates. Dashboard remains .78, health 1.14.0.
    • Reconvergence recorded: added infra#1738/Action Required: Fix Renovate Configuration #1742 (86 items). Router41239906077 is the latest actual Gateway deploy, completing October31 at21:07Z; both image digests and1024MiB/equal swap verified. Router41229446030 reconverged Dashboard's same .78 digest healthy.
    • Runbooks delivered: infra#1741 merged October31 at20:41:38Z. Marked documentation acceptance complete and Project readiness done; restored Always/next-run Once checks are present on main. Same-run reuse remains unobserved; Reject stays skipped.
    • Retained: rollout In Progress / blocked; all other unmet gates and historical acceptance remain. No new operator acceptance was posted.
    Run Summary
    • Run: schedule /41308794510. No pending mentions.
    • Changed: tracker current/open/matrix/acceptance sections; 12 existing Project gates, infra#1741 readiness and two new dependency items. All86 linked states and final status/readiness/gate values read back.
    • Evidence: latest releases, successful standalone deploys/router jobs, deployment logs, current Gateway pin, public health, merged runbook diff/main and posted acceptance reports.
    • Scope: documentation closure is not same-run Always or current runtime sign-off. No unmet gate removed; one documentation gate satisfied. Supplied preflight marker retains its pre-update snapshot.
    • Delivery: GitHub-only updates; no repository files changed; repository tests not applicable. Exactly one tracker comment.
  23. fro-bot commented on Nov 2, 2026

    @fro-bot
    Owner

    @fro-bot Updated #3512 and Project 1: implementation closed; production acceptance still blocked.

    • Three fixes merged: agent#2001 → #2026, Action Required: Fix Renovate Configuration #2002 → #2028, Action Required: Fix Renovate Configuration #2007 → #2031. Changed their readiness from ready now to waiting and added the fix PRs as Done / waiting. They are absent from latest release v0.133.0 and deployed v0.130.4; closure does not establish a production pass.
    • Newer deployment evidence: added infra#1752, Done / done. Router41344463545 reconverged the same v0.130.4 pair November1 at20:49Z; both running digests, contract1.14.0 and1024MiB/equal swap verified. Replaced the stale latest-deployment pointer. Latest successful router41429565194 skipped both services; Dashboard remains.78.
    • Tracker refreshed: rewrote current/open sections, matrix, risks and acceptance; Project now has 90 items. Corrected the approval-detail explanation: Action Required: Fix Renovate Configuration #2028 derives commands/paths from V2 resources. Added release/promotion, safe Reject/next-launch, live waitReason controls and truncated-detail reject-only/no grant bypass acceptance gates. PR-reported local/real-binary tests are not live sign-off.
    • Retained: every unmet gate and version-scoped operator pass. No new operator acceptance was posted; rollout remains In Progress / blocked.
    Run Summary
    • Run: schedule /41469470514. No pending mentions; one change-only tracker comment.
    • Changed: tracker body;16 existing Project gates,3 readiness values and4 dependency items (35 field writes including new-item fields).
    • Evidence:86 existing live issue/PR states; closing timelines, merged fix diffs and release comparisons; latest releases/standalone deploys;21 subsequent successful router job sets and actual deployment logs; public health; posted acceptance history.
    • Verification: exact tracker body/title and all90 Project status/readiness/gate/workstream values read back. No authenticated runtime replay or repository tests; administrative updates only.
    • Delivery: GitHub-only updates, no code delivery. Existing working-tree changes preserved. Required preflight marker retained below; its snapshot predates this reconciliation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions