Skip to content

量化主线进度 #36

Open
Open

Description

@Pigbibi

本议题是量化主线的唯一权威进度清单。本机 _ops/new-register.md 只是工作副本,与本议题冲突时以本议题为准。

每次更新整表替换。kind=production 行必须原样带上所有未关闭项。

milestone repo PR head marker state next
M01 17-item conclusions — — — — open b5-rebaseline-r2 DONE (exit 0): insufficient evidence; historical B5 reject unchanged; 56/76 tests pass; DSR/PBO null. No third rebaseline. Strategy owner may separately authorize fixed-parameter forward paper comparison; no deploy/enablement.
M01 support line UsEquityStrategies UsEquityStrategies#667 a56de0ec358a completed / unresolved=false (bound on PR head); none on merge e1795b9db31b merged MERGED ~03:31 SGT Asia/Singapore (ues667-resolve-merge-r3 MERGED_VERIFIED). Squash merge commit e1795b9db31b. PR head a56de0ec358a had exact-head CLEAN (status=completed, has_unresolved_findings=false); owner-approved present; required checks green before merge. Merge commit lacks binding marker → 待办:merge commit 只读复审 pending. Support line. No deploy.
M01 support line UsEquitySnapshotPipelines UsEquitySnapshotPipelines#551 88bab46426a3 completed / unresolved=false (bound) in review Live Draft OPEN @88bab46426a3 exact-head CLEAN bound; required checks mostly green; Commit message convention fails (type research disallowed); Evaluate PR governance red. Support owner/merge entry resolves commit-check disposition. No merge/deploy. G3 V2 still ungranted.
M02 IBKR #958 deploy adoption InteractiveBrokersPlatform InteractiveBrokersPlatform#968 de9a610e0e6f completed / unresolved=false (bound on PR head); none on merge 95b8f10d3696 merged MERGED 2026-11-04 ~19:22 SGT at merge commit 95b8f10d3696 (two-parent merge, not squash — method deviation noted by ibkr968-sync-resolve-merge-r1). Sync head de9a610e0e6f had exact-head CLEAN marker (status=completed, has_unresolved_findings=false); threads resolved; CI green before merge. Merge commit lacks binding marker → 待办:merge commit 只读复审 pending. No deploy from this row.
M02b IBKR #958 7.5% inverse-peak sizing boundary (3 known failures; split out of r4) InteractiveBrokersPlatform — — — open owner standing Option A: no sizing algorithm change; 3 pre-existing 7.5% cases stay on own card. Analysis prefers keep main explicit DD/binary64 (方案 a). Owner disposition of the separate evidence card still pending; no code change
M03 UES DCA paper qualification — — — — blocked Owner confirmed O1–O9 DEFAULT_SPEC package (t1227s6938 ~03:57 SGT Asia/Singapore): spec frozen only. data-default-spec-r3 MEETS (exit 0; read-only). Confirm ≠ execute/unfreeze; Live/Kelly/stop-loss stay OFF; PAPER/runtime still NOT_PROVEN; G3 V2 TBD. Any PAPER start needs separate scoped owner words.
M04 LongBridge paper LongBridgePlatform LongBridgePlatform#702 / #703 895ae02ce31f / 36677431b24d none on #702 merge head; #703 completed / unresolved=false (bound on PR head) in progress #702 MERGED squash 44a4a811d991 (PR head 895ae02ce31f); merge-commit marker absent → 待办:merge commit 只读复审 pending. Post-merge F1 PAPER WIF Secret-order fix: Draft #703 @36677431b24db5134949912c78fab6cd4cf82a71 exact-head CLEAN (status=completed, has_unresolved_findings=false); CI test green; risk-gate/Evaluate PR governance red (no owner-approved). Late callback fix-lb702-paper-check-r1 exit0 BLOCKED (publication-check; no PR) then superseded by pt1114u + pr-lb702-paper-check-r2 PR_OPENED_AWAITING_REVIEW. Next: owner R2 approval for #703 @36677431 (Secrets-path workflow) then Codex merge entry; no deploy/Secret/IAM.
M05 setup contract real caller QuantPlatformKit QuantPlatformKit#773 b336330f62c4 completed / unresolved=false (bound) in review Live Draft @b336330f62c4 exact-head CLEAN bound; pr-template red (missing AI/What changed/How verified); Evaluate PR governance red. Author then merge entry fills template then disposition. No merge/deploy by this sync.
M06 forward reconciliation BinancePlatform BinancePlatform#481 1e6a9b134116 none on this head blocked Draft @1e6a9b134116 marker none; pr-template + Evaluate PR governance red. Author fills template then @codex review. RUNTIME_TARGET_ENABLED stays false; enablement is separate owner decision. No merge/deploy.
M07 Meridian P1 remaining pages QuantRuntimeSettings QuantRuntimeSettings#1074 af91541d27b2 stale (41e3443e88f5 only); none on current head in progress Draft OPEN @af91541d27b2. Prior CLEAN marker bound only to 41e3443e88f5 → stale. CI: risk-gate red (needs owner-approved); Evaluate PR governance red. Next: Claude FE re-accept on exact new head (incl. browser visual) → then request @codex exact-head review. No merge/deploy.
M07 Research Desk presentation rewrite QuantAdvisorResearch QuantAdvisorResearch#112 7d79ee01855e completed / unresolved=false (bound on PR head); none on merge 9fc9fddd311c merged MERGED ~05:08 SGT Asia/Singapore (qar112-p2-fix-r1 MERGED_VERIFIED). Squash merge commit 9fc9fddd311c397247aaad7b051cf2464129454f. PR head 7d79ee01855e5da04e693086b1ecd4d09f9f18d5 exact-head CLEAN (status=completed, has_unresolved_findings=false); 11/11 checks green; P2 ranking-unknown fix verified (25 focused + 496 full). Merge commit lacks binding marker → 待办:merge commit 只读复审 pending. No deploy.
M07 AiGateway login pages QuantAIService QuantAIService#471 f9fab907c5f7 completed / unresolved=false (bound) in progress Draft @f9fab907c5f7 CLEAN bound + Claude ACCEPTED; pr-template + Evaluate PR governance red. Author fills template then merge entry disposition. No new FE accept on unchanged head. No deploy/OAuth/secret.
M07 Org landing Direction A icons quantstrategylab.github.io quantstrategylab.github.io#6 5195a4551d9e none on this head in progress Draft @5195a4551d9e marker none; hosted check green (not claimed as required membership). Claude FE ACCEPT done. Next: @codex exact-head review. No merge/deploy.
M08 InteractiveBrokersPlatform InteractiveBrokersPlatform#969 253c317264b7 completed / unresolved=false (bound on PR head); none on merge 5a4b6f1791e0 merged ibkr974-merge-adopt-r1 (~16:00 SGT Asia/Singapore, exit 0): BLOCKED_MERGE_POLICY_NO_DEPLOYMENT. InteractiveBrokersPlatform#974 ready (not Draft) @0d882549780a390c750817653d9404256ff5fd51 exact-head CLEAN (completed / unresolved=false) + owner-approved + 11 checks green; normal squash merge refused — branch policy requires conversation resolution; 1 unresolved non-outdated review thread remains; merge SHA none; no --admin bypass. S3+3-peers dry-run/deploy NOT_ATTEMPTED (0). Separate deploy preflight: repo Environment selector var absent; org-level var query 403 → Environment existence UNKNOWN. Prior: #971 MERGED squash 95d20e725e5614f61d062a9287985d82e7aa3bb3; #973 @94f73c91569c CLEAN (…62 name len still blocks ≤46). Next: review-and-merge bot resolves the single thread on unchanged head → normal merge under existing t1235s7090 A / t1235s7098 A / t1236u → re-run S3+3-peers adopt under t1234s7078 B once Environment selector proven; card before any …62 redeploy. No deploy/Secret/IAM/Scheduler/switch.
M08 IBKR paper-redeploy blockers InteractiveBrokersPlatform InteractiveBrokersPlatform#967 44996e709fbc completed / unresolved=false (bound on PR head) merged MERGED. Exact-head marker on 44996e709fbc: status=completed, has_unresolved_findings=false. Stacked into #966 (merged). Redeploy blocked — see #969/P01 (owner-gated warmup).
S04 Delivery/process / relay .<PROJECT_ID> (tooling) — — — fixed, verification open relay-fix-r1 FIXED_WITH_EVIDENCE_PENDING (exit 0, no safety drift): crash repaired; pump restarted; 47 tests PASS; HTTP 3/6 RECEIVED; 3/6 EVIDENCE_PENDING (identity) left quarantined — outcomes already locally consumed. Handler/ACK NOT_PROVEN. Next: producer envelopes must carry repo/base/files_ref/PR identity; no missing-ACK retry.
S05 callback direct_post .<PROJECT_ID> (tooling) — — — fixed, verification open callback.py direct_post READY batches; non-PR received=true proven in relay-fix-r1 batch; PR-type received=true still NOT_PROVEN (identity gate). Keep watching Draft/PR events for received=true proof.
S06 collab governance draft .<PROJECT_ID> (tooling) .<PROJECT_ID>#39 904f393 none on this head open Draft #39 exact-head pre-merge rules + #36 daily brief + #38 retired. Live: risk-gate + Evaluate PR governance red. Batch queue incomplete. No merge/settings change.
M09 website todo QuantRuntimeSettings QuantRuntimeSettings#1052 7e37bd7b0595 none on this head in progress MERGED head has no binding marker → 待办:merge commit 只读复审 pending. fix-qrs1052-readback-array-r1 late webhook (~2026-11-05 17:29 SGT Asia/Singapore) exit 0 BLOCKED: local F1 readback-array repair+focused PASS uncommitted on fix/readback-selector-array-postmerge-review; full-JS exit13 unclassified; publication-check advisory 3944 (pt1114u); no PR; no safety drift. fix-qrs1052-readback-array-r2 LAUNCHED (ops high) for baseline-red classification (t1236u) + Draft PR. Related: .<PROJECT_ID>#41 Draft @3959e8d91777; no marker yet (pr-template/commit-message/risk-gate/governance red).
M10 storage cleanup — — — — open queued; any deletion needs owner's own words
M11 PAS #90 verification PAS (private) #90 (private, no link) 387a9c691711 none on this head blocked MERGED head has no binding marker → 待办 merge-commit 只读复审 pending. (Private repo not re-verified this sync; carried forward.)
M11 PAS #98 KV outage preserve PAS (private) #98 (private, no link) c7877dc7f1fc completed / unresolved=true blocked Late fix-pas90-kv-unavailable-r1 callback (exit0 BLOCKED advisory publication-check=main) already superseded by Draft #98 @c7877dc7f1fc (bound marker completed/unresolved=true; 2×P2 HOL LIMIT + alarm backoff). Launched fix-pas98-kv-findings-r1 (ops medium) 2026-11-05 ~17:25 SGT Asia/Singapore. No public link.
M11 PAS #95 PAS (private) #95 (private, no link) 877e9b1be57d completed / unresolved=true blocked unresolved findings on head; draft; Codex fix needed; live head reconfirmed 877e9b1be57d (Private repo not re-verified this sync; carried forward.)
S02 cutover step 4 QuantAIService QuantAIService#462 0328590d6ad5 none on this head open MERGED head has no binding marker → 待办:merge commit 只读复审 pending. Assemble four authentic Step-4 evidence fields; cutover NO-GO stands
Schwab digest pre-read wait CharlesSchwabPlatform CharlesSchwabPlatform#675 07ab5df950e4 completed / unresolved=false (bound on PR head); none on merge 425ca385f4c4 merged MERGED ~04:55 SGT Asia/Singapore (schwab675-merge-r1): squash 425ca385f4c4ce728380fc4e50720b3a6644ee07; PR head 07ab5df950e4 exact-head CLEAN bound. Does not close P02 production row. Merge-commit marker absent → 待办:merge commit 只读复审 pending. No deploy.
Ops GCP read-only SA gcp-readonly-audit (kept untouched) — — — in progress iam-grant-p02p04-r2 GRANTED_VERIFIED (~05:48 SGT Asia/Singapore). p04-firstrade-attrib-r2 / p02-schwab-field-diag-r2 completed earlier (mutations=0). ibkr62-warmup-pubcheck-r1 reused grok-gcp-ro for …62 candidate readback (mutations=0). No further IAM/Secrets/deploy.
[kind=production] P01 IBKR Russell Top50 heartbeat error: feature snapshot TypeError (unexpected cash_reserve_ratio); execution closed, strategy effectively not running InteractiveBrokersPlatform InteractiveBrokersPlatform#969 253c317264b7 completed / unresolved=false (bound on PR head); none on merge 5a4b6f1791e0 in progress SOURCE MERGED. Serving adoption still blocked. Channel: #971 MERGED @95d20e725e56; #974 ready @0d882549780a exact-head CLEAN + owner-approved + checks green; ibkr974-merge-adopt-r1 BLOCKED_MERGE_POLICY_NO_DEPLOYMENT (1 unresolved review thread blocks normal merge; Environment selector var absent / org 403 → existence UNKNOWN; dry-run/deploy 0). #972 @5e8f0104 CLEAN; #973 @94f73c91569c CLEAN (tag omit; …62 name len 48 blocks ≤46). Next: review-bot resolve thread → merge #974 under t1235s7090 A / t1235s7098 A / t1236u → re-run S3+3-peers adopt under t1234s7078 B once Environment selector proven; card before …62 redeploy. No Secret/IAM.
[kind=production] P02 Schwab execution-receipt check failed + daily candidate not stored ("缺少可接受的执行回执; 1 blocked by risk gate, 3 skipped for time mismatch"; "日报候选记录未确认") CharlesSchwabPlatform CharlesSchwabPlatform#678 / #679 eb7ed11ecd17 / f8ed7a5b5741 completed / unresolved=false (bound on #678+#679) in progress Draft #679 @f8ed7a5b5741 now exact-head CLEAN (completed / unresolved=false bound; presence-based equity selector; focused 74p; full 5182p/1sk introduced=0). Draft #678 @eb7ed11ecd17 exact-head CLEAN still Draft; CI risk-gate+governance red. Prior schwab-equity-provenance-ro-r1 CAUSE_NARROWED_WITH_PROVENANCE_GAPS. Mutations=0. Next: review-bot disposition of CLEAN #678+#679; no deploy/Secret/IAM/switch.
[kind=production] P04 Firstrade heartbeat failures: snapshot_request_http_503 (no retry), candidate_archive_read_failed, no_attributable_runs; IBIT not run in 11-02 daily FirstradePlatform FirstradePlatform#520 / #521 / #522 86427ce2fab5 / e0847694e80b / cc5e7fd7da75 completed / unresolved=false (bound on #520+#521+#522) in progress Draft #522 @cc5e7fd7da75 now exact-head CLEAN (completed / unresolved=false bound; binds two session-renew jobs to required Environment only; full 1813p). risk-gate/governance still red (owner-approved). Environment existence still NOT_PROVEN (prior read-only listing empty) → renew still blocked. Drafts #520 @86427ce2fab5 CLEAN + #521 @e0847694e80b CLEAN still await review-bot; IBIT Nov4 calendar-consistent (days 25–29). Mutations=0; renew NOT_ATTEMPTED. Next: owner confirmation that the required Environment exists with credential readiness → review-bot disposition of #522 → re-dispatch one-shot renew under t1236s7112 A; no Secret/IAM create; no Scheduler expand; no TTL/credential/switch.
[kind=production] P05 LongBridge scheduled checks failing: cloud auth missing provider value (Runtime Target Lifecycle, Runtime Guard), heartbeat scheduler_job_mismatch (PAPER) / scheduler_read_failed (HK/SG), PAPER candidate_projection_failed LongBridgePlatform — — — blocked Codex / owner — Prior readonly-digest-gaps-r1: Nov 3 PAPER stopped at scheduler_validate (scheduler_job_mismatch) before archive; HK/SG scheduler_read_failed. Nov 4 run waiting on PAPER; HK/SG failed at account-snapshot while candidate step marked successful (incomplete run). Auth part still M04 Secret blocker (owner-gated). p02-p08-evidence-checklist-r1 COMPLETE ~21:09 SGT Asia/Shanghai (exit 0 / CHECKLIST_COMPLETE_CLOUD_EVIDENCE_NOT_PROVEN; evidence p02-p08-evidence-checklist-r1/out/{REPORT.md,reply.json}): unified sanitized checklist written; 0 cloud calls; box has no gcloud/ADC; cloud evidence still NOT_PROVEN; production row stays OPEN/unclosed. Next: existing cloud/DIGEST evidence maintainer returns one sanitized evidence bundle via the already-approved authenticated reader (credentials stay on that executor); do not relaunch checklist.
[kind=production] P06 11-02 unified daily summary incomplete: LongBridge, Binance and admin site "未纳入本期汇总"; order and fill counts unknown QuantRuntimeSettings — — — open Codex / owner — Prior binance-switch-audit-r2 DONE (exit 0, PARTIAL/ATTRIBUTION_NOT_VERIFIED): switch false since 11-02 03:01 SGT rollback; operator audit 404; pool files exist but write workflow/run unproven; keep OFF. Overlapping LB/Binance/admin slots covered by checklist. p02-p08-evidence-checklist-r1 COMPLETE ~21:09 SGT Asia/Shanghai (exit 0 / CHECKLIST_COMPLETE_CLOUD_EVIDENCE_NOT_PROVEN; evidence p02-p08-evidence-checklist-r1/out/{REPORT.md,reply.json}): unified sanitized checklist written; 0 cloud calls; box has no gcloud/ADC; cloud evidence still NOT_PROVEN; production row stays OPEN/unclosed. Next: existing cloud/DIGEST evidence maintainer returns one sanitized evidence bundle via the already-approved authenticated reader (credentials stay on that executor); do not relaunch checklist. Counts stay unknown, not 0; no fix/PR.
[kind=production] P07 QuantAIService monitor input adapter and operational diagnosis fail every run: monitor project variable not set QuantAIService QuantAIService#462 0328590d6ad5 none on this head closed Codex — P07 closed: QUANT_MONITOR_GCP_PROJECT_ID set once by r3 (sha256 matches historical PROJECT_A); owner kept value (t1198s6774).
[kind=production] P08 Runtime Artifact Evidence Gate failed (receipt missing) QuantRuntimeSettings — — — blocked owner — Owner approval t1122s6352 (2026-11-04 09:05 SGT) authorizes read-only discovery; qrs-p08-digest-wif-provider-var-r2 remains BLOCKED. Historical gaps: org Actions Variables HTTP 403; successful daily-digest-notify.yml run logs (latest 5 unavailable); gcloud unavailable. Target DIGEST_GCP_WORKLOAD_IDENTITY_PROVIDER still absent; candidates=0; two-source agreement and repository attribute-condition admission NOT_PROVEN. p02-p08-evidence-checklist-r1 COMPLETE ~21:09 SGT Asia/Shanghai (exit 0 / CHECKLIST_COMPLETE_CLOUD_EVIDENCE_NOT_PROVEN; evidence p02-p08-evidence-checklist-r1/out/{REPORT.md,reply.json}): unified sanitized checklist written; 0 cloud calls; box has no gcloud/ADC; cloud evidence still NOT_PROVEN; production row stays OPEN/unclosed. Next: existing cloud/DIGEST evidence maintainer returns one sanitized evidence bundle via the already-approved authenticated reader (credentials stay on that executor); do not relaunch checklist. Maintainer restores approved read-only evidence access, then resumes certainty-gated single-Variable task; repository/config mutations=0; no new corrective checklist.
[kind=production] P09 Weekly all-branch secret scan failed ("Missing comparison commits; refusing an incomplete scan") CharlesSchwabPlatform, FirstradePlatform → shared QuantStrategyLab/.github .gitleaks.toml .<PROJECT_ID>#42 3437c1e completed / unresolved=false (bound) in review Codex — review-stall-diag-r1: Draft #42 @3437c1e0f8d7 CLEAN bound; checks green. t1198s6751 authorized Draft only / explicitly no merge. Owner card required for merge authority (or keep Draft until separate grant). Prior: p09-allowlist-shared-r2 DRAFT_PR_DELIVERED; exact-head CLEAN; Remote CI/runtime adoption NOT_VERIFIED. No Secret/IAM/scan switches.
[kind=production] P10 Notification policy breach: instant non-error messages (healthy empty-account heartbeat, TQQQ rebalance instruction) and legacy-format error heartbeat InteractiveBrokersPlatform InteractiveBrokersPlatform#962 910eb20e0154 none on this head in progress policy: one unified daily report next day; instant only for errors. #962 MERGED; marker absent on merged head → 待办:merge commit 只读复审 pending. notify-unify-plan-r1 PLAN_COMPLETE; owner t1230s6963 A authorized 8-repo Draft batch. Drafts: QPK#774 @aa93e12bfa64431bf71cf59b9b24c0709ca1b76a (marker none); QRS#1075 @7df015142fecc53eb1a50aba3c32c6d0ed066489 (marker none); Schwab#676 @88d85457e68ae55514f2b41098ec889628a6eaf2 (marker none); Firstrade#518 @861b4f540e444f2e3fbf337f6232d829b6a32cc6 (marker none); Binance#485 @cd823114b8a6f60ae7ed29d0934295158acb51a5 (marker none). notify-unify-4-longbridgepl-r5 (2026-11-05 ~09:20 SGT Asia/Singapore, exit 0, no safety drift; owner t1234s7038 A): DRAFT_PR_PUBLISHED_KNOWN_RED. Draft LongBridgePlatform#704 @5e2d1f079802da71afb6ba8f72be858b6e911c10 exact-head marker completed / unresolved=true (bound); 10 files; 21 introduced body regressions fixed; full 3011p with exact baseline 10 failures retained (introduced=0); ordinary frozen renderer lock limitation disclosed; @codex review requested. Evidence notify-unify-4-longbridgepl-r5/{final.txt,out/REPORT.md,out/reply.json}. Prior r4 INTRODUCED_FAILURES(21) superseded. qas-baseline-fix-r1: QAS#472 @b6bca311a7491ee1d5a7f923a9b31dc80ee99f9b CLEAN; QAS#473 @cd5539fe857f58af2077dfc9a64b9d0b9a3fe336 completed/unresolved=true; known-red 25/introduced=0. Next: review-and-merge bot disposition of #704 / #472 / #473 and remaining notify Drafts; Step3 IBKR not launched. No merge/deploy/Secret/IAM. Runtime compliance NOT_PROVEN until after deploy evidence.
[kind=production] P11 IBKR runtime-guard alert: 3 Cloud Run failure records across 2 monitored services (Actions run 41923563918, ~180 min lookback ending 2026-11-04 22:15 UTC) InteractiveBrokersPlatform — — — in progress Adoption channel: #971 MERGED; #974 ready @0d882549780a exact-head CLEAN but ibkr974-merge-adopt-r1 BLOCKED_MERGE_POLICY_NO_DEPLOYMENT (1 unresolved review thread; Environment selector UNKNOWN; dry-run/deploy 0). Next: review-bot resolve thread → merge #974 → re-run four-target adoption under t1234s7078 B once Environment selector proven. Keep A1/A2 separate. No Secret/IAM.

Blockers

  • Technical: P01/P11 — #974 ready @0d882549780a exact-head CLEAN + owner-approved + checks green, but 1 unresolved review thread blocks normal merge (ibkr974-merge-adopt-r1 BLOCKED_MERGE_POLICY_NO_DEPLOYMENT). Review-and-merge bot should resolve that thread on the unchanged head, then merge under existing t1235s7090 A / t1235s7098 A / t1236u → re-run S3+3-peers adopt under t1234s7078 B once Environment selector is proven. Card only before …62 redeploy.
  • Owner decision: P01 — Environment selector for IBKR deploy still UNKNOWN (repo var absent; org read 403). Needed before any adopt dry-run/deploy after #974 merges.
  • Owner decision: P01 …62 warmup Draft #973 @94f73c91 exact-head CLEAN (ibkr62-tag-warmup-fix-r1); review-bot disposition; card again before any redeploy (…62 name len 48 still blocks ≤46 total).
  • Owner decision: P09 .<PROJECT_ID>#42 merge authority (Draft-only grant so far).
  • Owner decision: M04 LongBridge #703 @36677431b24d — R2 PAPER WIF Secret-order Draft, exact-head CLEAN; risk-gate red until owner-approved. Default A: approve merge of this head only (no deploy/Secret/IAM) / B keep Draft / C other.
  • Owner decision: M03 any PAPER start; M02b 7.5% evidence card; M10 any deletion; B02 CryptoLivePool backfill.
  • Owner decision: P04 Firstrade — Draft #522 @cc5e7fd7da75 now exact-head CLEAN. Environment existence still NOT_PROVEN. Confirm Environment exists with credential readiness, then review-bot disposition of #522 → re-run renew under t1236s7112 A (default) / B pause renew keep #520/#521 / C other.
  • Technical / data: P02 Draft #679 @f8ed7a5b5741 now exact-head CLEAN; #678 CLEAN awaits disposition. P04 renew blocked until Environment proven + #522 lands. P05/P06/P08 await maintainer sanitized cloud/DIGEST evidence. P10 LongBridge#704 unresolved=true; QAS#473 unresolved=true. Several notify Drafts still lack markers. Multiple merge commits lack binding markers (只读复审 pending).

_Synced: 2026-11-05 17:29 SGT Asia/Singapore (fix-qrs1052-readback-array-r1 BLOCKED late webhook; r2 LAUNCHED baseline-red+Draft).

Activity

  1. Pigbibi commented on Nov 3, 2026

    @Pigbibi
    ContributorAuthor

    协调指令与回复统一放在 #38(本议题只记进度,不记协调过程)。

    #38 第六节列了三项待答:R01 部署路径归属、R02 部署 workflow 的 Secret 名字对不上、R03 ENABLE_MAIN_PUSH_CLOUD_RUN_AUTOMATION 与实际路径矛盾。三项都阻塞今晚部署。

  2. Pigbibi commented on Nov 3, 2026

    @Pigbibi
    ContributorAuthor

    M02b / #958: Option A applies under the owner standing rule (2026-11-04): no sizing algorithm change. The three pre-existing 7.5% inverse-peak sizing cases remain on a separate card; no sizing job. r4 changes only the drawdown cache, and native explicit 0.2 must remain bit-equal. The #958 r4 waiter after P01 continues.

    IBKR #966 is CLEAN at 3cd0a3de. Native governance still requires the owner-approved label; merge waits for that owner label and the #967 warmup fix. Agents add no label. No merge, deploy, Secret or IAM change is authorized by this note.

  3. Pigbibi commented on Nov 4, 2026

    @Pigbibi
    ContributorAuthor

    Governance change notice — read before I touch anything in this org

    I am the Qoder session that finished the unified risk-gate rollout in the personal and
    GdeiAssistant repositories. Nothing in this organization has been changed yet, and
    nothing will be changed until you reply here.

    Proposal for this org (27 public repos, all with risk-gate in the required contexts):

    1. Replace the current .github/workflows/risk-gate.yml variant with the canonical
      hardened file. The org copy still hard-codes the approver login in the workflow,
      has no RISK_GATE_OWNER repository variable, no second approval label, and
      publishes no ai-review context — so today a Codex review is decorative: nothing
      on the required-context list reads the codex-review-state:v1 receipt.
    2. Publish ai-review from the receipt on the current head, with base drift judged
      by Git ancestry, and add ai-review to the required contexts once every repo
      carries the new file.
    3. Stop treating a third-party review app as an approver for high-risk paths
      (BinancePlatform currently lets its APPROVED review clear protected paths).
      Reviewer availability is not approval authority.
    4. Adopt the two-label model: the owner label claims a human confirmed the change;
      the agent label claims an agent cleared it, and the status description then reads
      NOT confirmed by the owner. Both labels are backed by one repository variable for
      the approver login, set once at organization level.
    5. Keep the SHADOW central engine (governance-acceptance.yml) exactly as it is:
      report-only, pinned, never blocking, never a merge authority.

    Per-repo change shape: one PR per repository touching only
    .github/workflows/risk-gate.yml plus the policy paragraphs that describe it, no
    protection or ruleset edits in the same PR. Settings changes (required context,
    organization variable) come as a separate, separately reviewed change.

    What I need from you

    Reply in this thread with anything in flight that touches these files, so we do not
    collide. From a read-only survey, these look like governance edits in progress — I have
    not opened, closed or commented on any of them:

    • .github ci: enable coderabbit approval for high-risk prs #27 — adds a third-party review app as a high-risk approver and a
      pr-review-signal.yml; conflicts directly with item 3 and with the retired
      CodeRabbit policy. Recommend closing or re-scoping rather than merging.
    • .github feat: Draft exact-head collaboration review prerequisites #39 — edits governance-acceptance.yml and the governance docs.
    • PoliticalEventTrackingResearch #88 — report-only central governance pilot.
    • QuantAIService #450 — SHA-bound review plus owner override, touches the
      third-party review config and .github/governance/.
    • LongBridgePlatform #483 — opened by the cross-repository automation identity.

    Also confirm two things I should not assume:

    1. Which merge entry is authoritative per repository. The survey shows every author and
      every merge executed under the shared owner login, so the GitHub record cannot tell
      an agent action from a human one; that is exactly why the label names and the status
      description have to carry the distinction.
    2. Whether you want the required-context addition handled per repository or through one
      organization-level ruleset.

    I will hold until you answer. If the answer is that this org keeps its own mechanism,
    say so and I will treat these repositories as out of scope.

    中文摘要

    本人(Qoder 会话)已完成个人与 Gdei 仓库的统一闸门铺开,quant 组织暂时一行未改,等你回复后再动。计划是:把组织内旧版 risk-gate.yml 换成加强版(批准人改读仓库变量、补 ai-review 读 Codex 回执、按祖先关系判 base 漂移、共用 head 失败关闭),并把第三方 review 应用从高风险放行资格里撤掉;中心 SHADOW 引擎保持只读不阻塞。改动按每仓一个 PR,只碰 workflow 与策略文档,保护设置另开 PR。请在 #36 这条评论下回复在飞改动(尤其 .github #27、#39、QuantAIService #450、PoliticalEventTrackingResearch #88、LongBridgePlatform #483)、确认各仓合并入口,以及必需检查是用逐仓保护还是组织级 ruleset。

  4. Pigbibi commented on Nov 4, 2026

    @Pigbibi
    ContributorAuthor

    Architecture milestone inventory sync — 2026-11-05

    Goal: record the replacement architecture inventory and its acceptance boundaries. These rows synchronize the local proposal; they do not authorize implementation or dispatch. Historical evidence is identified as such and is not a fresh remote acceptance claim.

    Milestone Status Evidence and acceptance boundary Owner / next concrete step Effort
    Architecture replacement baseline (NEW-ARCH-01..05) INVENTORY_COMPLETE; NO_NEW_IMPLEMENTATION_BATCH arch-top5-reaudit/out/REPORT.md; original October 31 definitions remain unrecovered. Architecture coordinator: record the replacement baseline without renaming old identifiers. 0.5 engineering day for documentation
    Core runtime import boundary (NEW-ARCH-01; ARCH-03A/B) MERGED; CONSUMER_ADOPTION_NOT_PROVEN QPK #767 later merged readback; historical API correction preserves 31 exports and core-wheel recording without numerical extras. Earlier tests do not qualify later heads automatically. Existing QPK owner: retain completion; only a demonstrated consumer gap can justify a separately scoped follow-up. No new implementation proposed
    Reporting method identity (NEW-ARCH-02) STOP_DUPLICATE_ARCHITECTURE_IMPLEMENTATION arch02-scoping/out/REPORT.md; B9 evidence and merged QRS #1056 cover the concrete stale-label defect. Historical #758 overlaps response composition. Existing B9/QRS reporting owner: retain ownership of remaining method/calendar decisions. 0.5 day handoff
    Configuration characterization (NEW-ARCH-03) TESTS_MERGED; INJECTION_DEFERRED LongBridge #694 merged; characterization only, not environment injection. Config/startup overlap: historical #664/#665/#670/#674; ambient shared parsers prevent a proven single-repo closure. Existing configuration owner: no implementation dispatch; any future brief must first establish helper closure and fresh path ownership. About 1 day scoping if separately authorized; original implementation estimate 3–5 days
    Startup and execution ownership (NEW-ARCH-04/05) DEFERRED; NO_QUALIFIED_SMALL_BATCH arch-top5-reaudit/out/REPORT.md; startup replay and execution event-order equivalence remain unproved. Existing startup/execution owners: preserve the hold; do not change entrypoints, risk controls or fingerprints. Original evidence estimates: 3–5 / 5–10 days; not scheduled
    Lifecycle projection (ARCH-04A) DELIVERED_AT_RECORDED_TREE; CURRENT_PR_STATE_UNKNOWN Firstrade #513; recorded 1800 tests / 118 subtests, ordinary and instrumented, with independent acceptance. Established review-and-merge bot: read current #513 state/head only if disposition is still outstanding. 0.5 day readback
    Micro-extractions (ARCH-04B/C/D; ARCH-05A) STOPPED Parameter/ownership vetoes and owner pullback; no new implementation candidate qualified. Architecture coordinator: retain stopped outcomes; do not revive display/telemetry helpers. 0 new implementation days
    Import provenance and alert configuration (ARCH-06 / ARCH-08) MERGED_WITH_STATED_LIMITS Firstrade #511 / Schwab #668; Firstrade #499 / Schwab #655. Historical missing scan evidence remains missing; selected parser lanes do not prove runtime adoption. Existing maintainers: retain completion; avoid duplicate CI/governance work. 0 new implementation days
    Legacy numbering gaps (ARCH-02/05 parent definitions; ARCH-07) INSUFFICIENT_EVIDENCE Recovery report does not recover parent meanings; no attributable ARCH-07 definition found. Coordinator: attach authentic existing references if available; do not invent requirements or block the replacement baseline. At most 0.5 day link reconciliation

    Confirmed mainline evidence

    • UES#667 is MERGED at squash commit e1795b9db31b (fresh <PROJECT_ID> readback: merged at 2026-11-04 19:31:36 UTC). This is an M01 support-line result; it does not prove consumer adoption, runtime acceptance or deployment. The existing merge-commit review status remains unchanged.
    • O1–O9 DEFAULT_SPEC was confirmed as one package by owner reference t1227s6938 at 2026-11-05 03:57 SGT, as recorded in the approval register. The specification is frozen only. Collection, deployment, orders, unfreezing and any PAPER start require separate scoped approval. Live, Kelly and every stop-loss switch remain OFF as required invariants; no production inspection is claimed. G3 V2 remains TBD; PAPER/runtime acceptance remains NOT_PROVEN.

    Blockers: unrecovered legacy definitions and missing consumer/runtime evidence retain the limitations in the rows above. No governance-file changes or changes to issues/PRs #27 or #39 are included. Existing production rows are unchanged.

    Next step: the architecture coordinator retains these recorded outcomes; any future implementation requires a separately scoped brief justified by a demonstrated gap.

    Source: arch-inventory-r1/out/milestone-36-proposal.md.

  5. Pigbibi commented on Nov 4, 2026

    @Pigbibi
    ContributorAuthor

    Canonical risk-gate rollout opened for review

    The owner directed continuation after the 2026-11-04 notice.

    • Set the organization variable RISK_GATE_OWNER to the owner login. It is configuration, not a credential.
    • Opened one PR per repository: replace risk-gate.yml with the canonical tested gate and update the AGENTS.md approval paragraph. No branch protection, ruleset, secret or deployment setting is touched, and I have not labeled or merged any PR. risk-gate stays red until owner-approved is applied, as designed.

    Excluded, as listed in the notice: .github (#27, #39), QuantAIService #450, PoliticalEventTrackingResearch #88, LongBridgePlatform #483, BinancePlatform (custom gate and third-party approver), quantstrategylab.github.io (no workflow) and gcp-readonly-audit (empty).

    PRs:

    • QuantRuntimeSettings#1076
    • QuantPlatformKit#775
    • FirstradePlatform#519
    • CharlesSchwabPlatform#677
    • QuantAdvisorResearch#113
    • InteractiveBrokersPlatform#970
    • SchwabTokenAutoRefresher#103
    • UsEquityStrategies#717
    • UsEquitySnapshotPipelines#578
    • AlpacaPlatform#31
    • QuantStrategyPlugins#114
    • QmtPlatform#92
    • CryptoLivePoolPipelines#243
    • IBKRGatewayManager#199
    • CryptoStrategies#306
    • HkEquitySnapshotPipelines#111
    • ResearchSignalContextPipelines#81
    • MarketSignalSources#58
    • HkEquityStrategies#276
    • CnEquityStrategies#368
    • CnEquitySnapshotPipelines#67

    Adding ai-review to the required contexts remains a separate protection change, to be made only after every repository carries the new file.

  6. Pigbibi commented on Nov 5, 2026

    @Pigbibi
    ContributorAuthor

    Canonical risk-gate rollout — heads ready for the merge entry

    Twenty-one pull requests are open, one per repository, replacing the organization risk-gate.yml with the canonical gate and updating the approval paragraph in AGENTS.md. FirstradePlatform also fixes dot-review-submit.yml: the gate's post-push and scheduled sweeps dispatch per-PR evaluations that complete as default-branch runs, where the dot review selector cannot recover a PR head.

    Every head below carries a current codex-review-state:v1 marker with has_unresolved_findings: false. risk-gate is red on all of them because the label is the remaining input — this is the old organization gate, which requires a live owner-approved added by the owner identity for protected paths. Workers do not label or merge here.

    The organization variable RISK_GATE_OWNER is set to Pigbibi, so the canonical gate keeps that attribution after it lands.

    repo PR head codex-review-state:v1 risk-gate
    QuantRuntimeSettings #1076 d32a53f6 completed unresolved=False current failure
    QuantPlatformKit #775 653e6827 completed unresolved=False current failure
    FirstradePlatform #519 2255c915 completed unresolved=False current failure
    CharlesSchwabPlatform #677 2e5862b5 completed unresolved=False current failure
    QuantAdvisorResearch #113 706d8a23 completed unresolved=False current failure
    InteractiveBrokersPlatform #970 2d0b4667 completed unresolved=False current failure
    SchwabTokenAutoRefresher #103 4ad0076e completed unresolved=False current failure
    UsEquityStrategies #717 956924de completed unresolved=False current failure
    UsEquitySnapshotPipelines #578 15ca522b completed unresolved=False current failure
    AlpacaPlatform #31 74bbfb3c completed unresolved=False current failure
    QuantStrategyPlugins #114 13ede1a5 completed unresolved=False current failure
    QmtPlatform #92 2df03e6b completed unresolved=False current failure
    CryptoLivePoolPipelines #243 4d27eda1 completed unresolved=False current failure
    IBKRGatewayManager #199 01b0310d completed unresolved=False current failure
    CryptoStrategies #306 61fec1ea completed unresolved=False current failure
    HkEquitySnapshotPipelines #111 39d9c6c2 completed unresolved=False current failure
    ResearchSignalContextPipelines #81 275ca956 completed unresolved=False current failure
    MarketSignalSources #58 751b8534 completed unresolved=False current failure
    HkEquityStrategies #276 a6923b5d completed unresolved=False current failure
    CnEquityStrategies #368 9683bae9 completed unresolved=False current failure
    CnEquitySnapshotPipelines #67 11749e41 completed unresolved=False current failure

    After these merge, risk-gate also reads ai-review from the receipt on the current head, so a head without a completed review shows pending or failure by design rather than passing silently.

    Nothing else in this rollout touches branch protection, secrets, deployments or runtime settings; those would be separate, owner-approved changes.

  7. Pigbibi commented on Nov 5, 2026

    @Pigbibi
    ContributorAuthor

    Canonical risk gate — remaining repositories and one shared fix

    Continuation of the 21-PR rollout. Three more repositories now carry the canonical gate, and a P2 that Codex found on PoliticalEventTrackingResearch#89 was fixed in the shared file and pushed to every rollout branch.

    The shared fix. refreshCollidedSiblings() used to run only after evaluate() resolved. A synchronize that moved a pull request off a shared head could then leave the released sibling on a stale collision error until its own event or the six-hour sweep, because SHARED_HEAD (or an API error) threw first. The refresh now runs from a finally block; a refresh failure is logged as a warning and never replaces the evaluation error. The gate file on all 24 branches is byte-identical after the fix.

    The Codex thread on PoliticalEventTrackingResearch#89 is outdated on the new head. BinancePlatform#486 also raised a dead allowlist: its Dependabot exemption read .github/scripts/dependabot-policy.json, which did not exist. The branch now adds that file with the same two workflows scripts/dependabot_auto_merge_gate.py already treats as eligible.

    Every head below carries a current codex-review-state:v1 marker with status: completed and has_unresolved_findings: false. risk-gate stays red on all of them because the label is the remaining input — the base gate is the old organization gate, which requires a live owner-approved added by the owner identity for protected paths. Workers do not label or merge here.

    repo PR head marker
    CharlesSchwabPlatform #677 59c9035c51d7 CLEAN
    InteractiveBrokersPlatform #970 755c6c6bbb30 CLEAN
    FirstradePlatform #519 da99150555fa CLEAN
    LongBridgePlatform #705 c59f0d96ab9d CLEAN
    CnEquitySnapshotPipelines #67 29e5d1175160 CLEAN
    CnEquityStrategies #368 7fa93e486a6c CLEAN
    HkEquityStrategies #276 1a3662780ecf CLEAN
    MarketSignalSources #58 0f6c3c03816f CLEAN
    ResearchSignalContextPipelines #81 4217573938a4 CLEAN
    HkEquitySnapshotPipelines #111 713dcb31095c CLEAN
    CryptoStrategies #306 c1d250a13264 CLEAN
    IBKRGatewayManager #199 4d160ab98cc1 CLEAN
    CryptoLivePoolPipelines #243 0ac7b96e0900 CLEAN
    QmtPlatform #92 3d329a2bfa07 CLEAN
    QuantStrategyPlugins #114 c71b77aa05ce CLEAN
    AlpacaPlatform #31 94c699ce8b0f CLEAN
    UsEquitySnapshotPipelines #578 56d901346711 CLEAN
    SchwabTokenAutoRefresher #103 7261132c451a CLEAN
    QuantAdvisorResearch #113 8309b137fa61 CLEAN
    QuantPlatformKit #775 c5713be8f032 CLEAN
    QuantRuntimeSettings #1076 292f213d3a84 CLEAN
    UsEquityStrategies #717 eb3b115ae8d7 CLEAN
    BinancePlatform #486 38b8c14c8948 CLEAN
    PoliticalEventTrackingResearch #89 cc7fb22d29ad CLEAN

    What is new in this batch beyond the earlier 21:

    • LongBridgePlatform#705 — same old gate. Also fixes dot-review-submit.yml the way FirstradePlatform#519 does: the gate's push and scheduled sweeps dispatch evaluations that complete as workflow_dispatch runs with no PR in the payload, so the dot review selector now admits only pull_request_target runs.
    • PoliticalEventTrackingResearch#89 — same old gate. Its draft #88 adds a report-only shadow workflow and no gate file, so there is no file conflict.
    • BinancePlatform#486 — replaces a repository-specific variant. It drops the CodeRabbit approval path and the workflow_run trigger on PR review signal; CodeRabbit is not installed on this organization, so that path never produced an approval, and review acceptance now comes from the Codex receipt on the current head. pr-review-signal.yml stays in place as a required context that always reports success and can be retired separately once the required-check list changes. It adds the Dependabot policy file described above.

    Left untouched, with the reason:

    • .github — #27 (open, not draft) rewrites risk-gate.yml and adds .coderabbit.yaml; #39 is a governance draft. Editing the same file now would conflict with that work. #27 also reintroduces a CodeRabbit approval path, which conflicts with the decision to standardize on the Codex receipt; the merge entry may want to close it instead.
    • QuantAIService — #450 (draft) replaces the gate with .github/governance/gate.cjs, a policy file and a review-signal workflow. That supersedes a workflow-only replacement.
    • quantstrategylab.github.io — no risk-gate.yml, and no gate is wired into its required checks; it deploys Pages from pages.yml. Adopting the gate there is a new surface, not a replacement, so it needs a decision.
    • gcp-readonly-audit — empty repository.

    Outside the organization, the same shared fix is open on Pigbibi/PhotoStory#83 (78e17842), current-head CLEAN. Its gate path is protected, so it needs owner-approved from the owner; no agent added that label. Pigbibi/12345HotlineBots has the same gate on main but an open gate PR #235 is changing it, so I left that repository alone; the finally change applies there after #235 settles.

    The organization variable RISK_GATE_OWNER remains Pigbibi. ai-review is published but is not yet in any required-check list; adding it is a settings change for the owner.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions