Files
makelore/.project-docs/30-worklog/tasks/20260913-agentbus-channels-ml-3ec75b90.md
T
brother7 2e710db0fb
Electron E2E / Electron E2E (macos-latest) (push) Has been cancelled
Electron E2E / Electron E2E (ubuntu-latest) (push) Has been cancelled
Electron E2E / Electron E2E (windows-latest) (push) Has been cancelled
feat(agents): 支持个人微信发布与渠道会话
2026-09-13 16:22:36 +08:00

57 lines
8.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task: Implement MakeLore AgentBus channel publication
## Identity
- Task ID: 20260913-agentbus-channels-ml-3ec75b90
- Mode: Feature
- Branch: codex/20260913-agentbus-channels-ml-3ec75b90-agentbus-channels
- Worktree: C:\Users\7brot\.codex\worktrees\makelore-agentbus-channels-3ec75b90
- Base commit: 03774d0625a5a0d0221dbb9989e88a9406e0fa48
- Owner: codex
- Status: Ready for Integration
## Scope
- Implement the accepted AgentBus personal WeChat publication workflow in the native CloudAgents desktop workspace: connection/QR/verification, self pairing and invitations, same-owner route control, activity and delivery retry, own-session controls/artifacts, and scheduled result notification.
- Main/shared DTO, Host operations, local QR component/dependencies and final publication recovery regression tests are owned by works_square; Renderer publication/connection/access/activity by makelore; own-channel conversations, CloudChat approval reuse, DraftEditor integration, scheduled notifications/costs, enable-budget confirmation, Electron E2E/README and this record by root. The existing authorized Yuxi implementer supplies dedicated own-channel controls and artifact routes. Agents share this worktree and preserve each other's changes.
## Intent And Constraints
- Concurrent and Planning Gates Passed at base 03774d0. Official start/status match this identity. Both peer slices cover all 181 peers: 89 historical records lack Promotion Candidates and 38 have placeholder scope/intent, retained as unknown coordination details; no concrete conflict in readable context affects this isolated scope.
- Loaded startup/task/memory, positioning, integrated state, decisions including the accepted personal-cloud-agent ADR, architecture/module/data flow, domain/success criteria, evidence/reflection/commitments/stale indexes. Placeholder positioning and stale three-module prose are resolved by the accepted ADR and actual README; canonical documents remain untouched.
- User authorized the existing three implementers and one reviewer, client start, and exact nine-record missing-worktree recovery. The shared skill repair passed 17 tests, quick_validate and independent review; official release-missing succeeded for all nine authorized missing records before start. Primary's three untracked documents and unrelated registry ownership remain unchanged.
- Reuse AgentBus routing, shared SSO and individual owner isolation. Main owns credentials/network/recovery/file save; Renderer uses typed Host operations. Creator payment does not grant invited content. No org/pool/Console iframe, no automatic mutation replay, and no verification code persistence.
- No commit, merge, deployment, live WeChat message or paid model call in this implementation turn.
## Outcome
- Native publication is implemented: create/adopt connection, locally generated QR, verification, self pairing/invitation/revocation, enable/pause/switch/disconnect, safe activity and failed-file delivery retry. Main uses typed operations and per-account durable original inputs; verification codes never enter its journal. Implementation, independent review and local combined validation are complete.
- Root added explicit schedule notification selection, preservation/clearing of unavailable targets, channel cost source, and own-channel conversation entry with native control, operation recovery and auto-refreshed output file saving. History follows all native offset pages so recent outputs beyond message 100 remain visible.
- Disabled schedule updates omit unchanged notification configuration: Yuxi exclude_unset preserves the old target without revalidating a disconnected target, so the user can always pause. Explicit target selection/clearing and enabling still send notification config for normal server validation.
- CloudApproval now accepts an explicit submitDecision callback so ordinary conversation behavior is preserved and channel sessions use their dedicated controls with the actual action_requests/decisions protocol. No fallback to ordinary creator run/file endpoints.
- Failed controls transfer to Main's durable recovery record. A rejected new-session operation can be explicitly ignored before stopping an attachment intake that has not become a Run; failure to read the journal preserves the exact in-memory intent. Distinct failed-file parts keep separate account/message/part recovery IDs.
- Provider qrcode_url is a login payload, not an image resource. CloudWechatQr encodes it locally with qrcode 1.5.4 and displays a data SVG; changed values never show the previous code. Enable confirmation shows actual published audience and existing task/daily limits, including zero, with retry for unavailable budget data.
- Publication recovery uses the Main journal alone. Pending or unreadable recovery blocks new mutations; explicit refresh rereads both binding and recovery state. QR presentation starts only after a real result. A verification record cannot be consumed before its target binding is loaded/current. Binding and Provider-generation changes clear ephemeral data and reject late responses. Own route targets follow all list pages; invitations require the saved server policy.
- Activity separates execution and actual WeChat delivery. A known receipt is not delivery confirmation. File-part retry refreshes failed/queued/sent status without rerunning the model; connection health includes its last-confirmed time. The personal WeChat panel appears immediately after the publication overview.
## Verification
- Final pnpm typecheck and build:vite passed. The eight focused client suites passed 81/81: Main, workflows, page, management, own conversations, channel panel, local QR and enable confirmation. Changed source/test ESLint checks passed with three pre-existing CloudChat/CloudCosts warnings; git diff --check passed. Build retains the existing chunk-size/dynamic-import and Browserslist warnings.
- Final Electron run passed 2/2 after the last fixes. The isolated Host fixture covers native approval, automatic PPT exposure and session-scoped save, actual local data-image QR generation, verification, pairing, explicit schedule destination, compact-window overflow and existing draft/leave protection. Screenshots in ignored test-results were visually inspected at 1366×900 and 980×680. These are local fixture tests, not real WeChat/paid-model/production acceptance.
- Existing authorized independent reviewer returned final Standards PASS / Spec PASS with no remaining findings for Main, own sessions/schedules, local QR, enable confirmation and the complete publication panel. The last explicit-refresh increment was independently rerun with Panel 14/14 passing and targeted ESLint passing. Yuxi self bridge, real adoption HTTP contract and offset increments also passed review; latest affected Linux suite 73/73, Ruff and documentation gates passed, and Yuxi task is Ready for Integration.
## Follow-ups
### 2026-09-13 commit handoff
- User authorized committing and merging this reviewed four-repository batch, and explicitly authorized transferring the four previous primary-worktree task registrations while preserving seven unrelated document changes. Earlier no-commit statements describe the implementation turn only.
- Same-task ownership was resumed and verified against the official registry. Planning context and the previous peer-scope assessment remain applicable; no product code changed during this handoff.
- Preserve the final independent Standards PASS / Spec PASS and recorded product-test evidence. The retained feature branch and this committed Ready for Integration record are the source for a separate integration task.
- No remote push, deployment, paid call, real WeChat message or worktree deletion is included in this authorization.
- Integrate the matching AgentBus/Adapter, Works Square, Yuxi and MakeLore worktrees together, then configure/deploy compatible versions and perform real shared-SSO, personal WeChat, attachment/PPT, billing and scheduled-notification acceptance. No production identity linking, provider message, paid call, commit, merge or deployment occurred in this task.
## Promotion Candidates
- Target: personal-cloud-agent ADR, architecture and integrated current-state in a later Integration Gate. Proposal: native personal WeChat publication and own-session operation boundaries, account-scoped durable Main recovery and explicit scheduled notification targets. Evidence: this implementation, tests and matching AgentBus/WS/Yuxi tasks. Future impact: one personal creator workflow with private caller content and recoverable delivery. No conflict with accepted foundations. Product direction is already authorized; live production rollout and canonical promotion require their own actual integration work.