Repository navigation
feat(assistant): add traceable evidence and recoverable watch alerts - #182
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
Watch requests need trustworthy source times, complete alert conditions, reviewable approvals, and evidence that corresponds to the actual production task. The earlier acceptance summary did not clearly distinguish a successful safety rejection from a fulfilled alert request. Broader review also found parsing gaps, local metadata being treated as undated external evidence, and missing details in the first live approval card.
Changes
Validation
3d1e7ca: 402 passed, with 13 existing warnings, including explicit retries, repeated retries, original expiry, topic boundaries, compression, policy rejection and old approval revalidation. Earlier 392-test evidence retains its original source/run identity.fd533666:pnpm check:ui,pnpm check:i18n,pnpm check:market-colors,pnpm run test --run(230 passed, including empty/dropped approval responses) andpnpm buildpassed. Local runtime was Node 24.19.0 / pnpm 9.15.9; CI uses the repository pin.3d1e7capassed, with the same artifact hash. The 230-test suite was reused by source identity, not reported as newly executed.glm-5.3-flashruntime execution atdb6daf4: all ten listed automatic cases passed (eleven requests), including AND/OR approval and DB readback, rejection, unsupported conditions, monitoring, research history, real announcement content and nested diagnosis. These are finite assertions, not proof of every answer's correctness. Final approval-event changes and frontend labels were separately exercised through a fresh real-model UI task atfd533666; source/version reuse is documented locally.fd533666: first approval displayed every requested field and the local deadline; no rule existed before approval. After approval, the page reached completed automatically without reload or navigation, and exactly one rule (加一个美国夜盘和长桥那边的信息? #9) matched all approved parameters in task 能否优化 ai 添加模型逻辑 #11 atfd533666(runb1a0e22c-d359-4d6d-8f81-2efce5247aa8). The same QA database, credentials and completed objects survived an owned-service restart; authenticated API and page reload were checked.3d1e7ca, runb4de4823-3953-42e3-83a7-5c083285d0b3, task 能否单独设置图像 模型 #13: host snapshot correctly retained the original CN:600519 request and all three unsupported conditions, with zero rule writes and approvals. Fresh live capability-check acceptance failed: the model answered from historical context without calling any tool, leaving structured evidence empty. No claim of a fresh check or fulfilled C15 alert is made. A same-data restart preserved completed tasks, rules and credentials; authenticated API and actual page reload passed.git diff --checkpassed. Current-head CIvalidate,smoke (ubuntu-latest)andsmoke (ubuntu-24.04-arm)all passed; results are recorded in the local report and PR checks.Boundaries and risks
Overall business acceptance is not complete. The latest retry skipped a fresh capability-tool call even though host planning and write guards passed their contracts; this live-path failure remains open. Manual sentence review still found an unsupported “last market / frozen quote feed” inference in the quote answer, despite correct tool fields and explicit snapshot limits. The narrow automated wording check missed this paraphrase; its PASS does not override the manual FAIL. A previous real diagnosis also hit the 120-second tool timeout; a later successful run does not establish reliable latency for larger portfolios or other models.
Confirmed close, moving averages, consecutive sessions and stateful crossings remain unimplemented (C15); the user explicitly deferred this feature, and no C15 implementation is included. Their guardrail PASS means no substitute rule was created, not that the requested alert exists. Persistent research tasks (C08) and hard AI-spend budgets (C18) are also outside this change; the implemented daily quota counts alert triggers.
Notification tests use synthetic QA data and an owned loopback Bark-compatible receiver. They do not establish delivery to a real Feishu/Telegram/phone recipient or human readership. Delivery is at least once and can duplicate after external acceptance but before receipt persistence. Original controlled 503/crash tests retain their original source/run identity; unchanged monitoring code was compared, not presented as a new fault exercise.
Current UI observations are at the browser's actual 1280×720 size, with light/dark, keyboard and scrolling checks. The advertised viewport override did not change actual dimensions, so this audit does not claim a new 390px or physical-device pass. Natural-language parsing and announcement coverage remain bounded. Completed-task persistence is not running-task resume, and client SSE disconnection is not a server network outage.
The consolidated local handoff HTML/ZIP includes the latest status/evidence at
3d1e7caand the intact earlier full audit atfd533666; earlier live-model results and failures keep their original identities. The offline HTML/ZIP and detailed evidence are delivered locally only. Extracted files, hashes and relative assets/links passed validation. The browser rejected file-URL navigation, so report visual rendering is explicitly unexecuted; no workaround was used. No credentials, databases, raw logs or browser storage are attached to this PR; no merge, deployment or release was performed.Follow-up