Skip to content

Upstream Updates - #4

Merged
mrdjango merged 10 commits into
mrdjango:mainfrom
QuantumNous:main
Aug 29, 2026
Merged

Upstream Updates#4
mrdjango merged 10 commits into
mrdjango:mainfrom
QuantumNous:main

Conversation

@mrdjango

Copy link
Copy Markdown
Owner

⚠️ 提交说明 / PR Notice

English template: .github/PULL_REQUEST_TEMPLATE/en.md

Important

  • 描述可用 AI 辅助。提交前请审阅全文,并声明对其负责,避免未经核对的直接粘贴。
  • 请按本模板填写后再提交。

🔗 关联任务 / Related Issue

  • 新功能请填写下方 Issue 编号;若还没有对应 Issue,请先自行创建。功能讨论请放在 Issue 中进行。

  • 改动较大或方向性变更,请先在关联 Issue 中与维护者达成一致,再提交 PR。

  • Bug 修复请关联对应 Issue。设计取舍、理解偏差或预期不一致,更适合作为讨论或功能请求。

  • Closes #

🚀 变更类型 / Type of change

  • 🐛 Bug 修复 (Bug fix)
  • ✨ 新功能 (New feature)
  • ⚡ 性能优化 / 重构 (Refactor)
  • 📝 文档更新 (Documentation)

📝 变更描述 / Description

(简述做了什么、为什么生效。如果难以简述,建议先拆分范围,或在 Issue 中与维护者对齐。)

📸 运行证明 / Proof of Work

(请写明如何验证:实际步骤与观察结果。UI 变更请附截图或录屏;Bug 修复请说明复现过程与修复后结果。)

✅ 提交前检查项 / Checklist

  • 人工确认: 无论描述是否由 AI 生成,我已审阅全部内容,并声明对其准确性与完整性负责。
  • 非重复提交: 我已搜索现有的 IssuesPRs,确认不是重复提交。
  • 新功能关联 Issue: 若此 PR 标记为 New feature,我已关联对应 Issue;若尚无 Issue,我已先自行创建。
  • 事前沟通: 若改动较大或涉及方向性变更,已在关联 Issue 中与维护者沟通并达成一致。
  • 功能范围: 本 PR 不是 Coding Plan、逆向渠道、第三方封装接口,也不是对 Codex 渠道类型的改动。
  • 范围聚焦: 本 PR 为一项聚焦改动,未包含无关代码。
  • 本地验证: 已在本地运行并通过测试或手动验证,维护者可以据此复核。
  • 安全合规: 代码中无敏感凭据,且符合项目代码规范。

mrdjango added a commit that referenced this pull request Aug 29, 2026
Brings in 9 upstream commits, notably QuantumNous#7076 (sandboxed JS task plugin
system), which rewrites the task submit/billing pipeline that the
TensorGrid billing patches sit on.

Conflicts resolved in 2 files:

controller/relay.go
  Took upstream's executeTaskSubmission wholesale. Its reserve -> insert
  -> settle barrier supersedes our inline "settle then insert" block, and
  it already carries every field our fork added (BillingSource,
  SubscriptionId, TokenId, NodeName, BillingContext). Dropped our
  redundant `relayInfo.PriceData.Quota = result.Quota` — upstream sets it
  in relay/relay_task.go.

service/task_billing.go
  Kept upstream's 3-arg log-only LogTaskConsumption (task param carries
  the tiered-snapshot fields) and moved settlement to the caller, per
  upstream's design. To preserve eaf0871, the structured consume params
  must still reach the TensorGrid wallet so its credit event is complete
  at commit time, so params building is split into
  BuildTaskConsumeLogParams and passed to SettleBilling's variadic
  consumeParams. relay.go builds them once and shares them with settle
  and log, which also avoids emitting the quota-saturation warning twice.

Verified: go build, go vet, go test ./... (39 pkgs), web typecheck, and
web vitest (397 tests) all pass. Upstream's TestLogTaskConsumption* and
our TensorGrid refund/settle tests pass together.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@mrdjango
mrdjango merged commit 1c1f8b1 into mrdjango:main Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants