feat(web): expose project trust diagnostics - #392
Conversation
|
CI context: both Linux Node jobs reach the pre-existing packed standalone Web CLI smoke, install the tarball, and then the server exits before announcing its origin ( This PR does not change package metadata, CLI startup, or peer-dependency resolution. Its local check, focused tests, full Node suite, and Vitest suite pass as recorded in the PR body. |
|
@tt-a1i 已补充真实 ProjectTrustStore 集成测试,覆盖持久化 stored decision 与 Session authority 的区分;focused test 与 required CI 已通过. |
…tics (#442) Integrate #398 Session provenance and #392 authenticated Pi trust diagnostics. Correct refreshRequired when project resources change and identify the current controlled Session by both ID and file. Preserve optional-controller compatibility, unknown failure states, and current runtime authority. Closes #440 Refs #398, #392 Co-authored-by: testikun <320479488+testikun@users.noreply.github.com>
|
Integrated into main through #442 (561fd45). Preserved read-only Pi trust diagnostics and corrected refreshRequired to match Pi initialization when project resources disappear. Added trust-state matrix and authentication/method/optional-controller tests. testikun is credited in README and recognized as a co-author of the merged commit. All CI checks passed. |
Problem
The Trust work tracked by #343 needs more than a compact label: operators must be able to distinguish the active Session authority from the current Pi ProjectTrustStore decision. Treating a changed stored decision as an immediate authority change would be unsafe and inaccurate.
Value
Authenticated Web clients can explain trusted, explicitly denied, restricted, and unknown states while showing when a Session refresh is required for a changed Pi decision to take effect.
Approach
This is distinct from #360 compact snapshot state. It adds no trust-changing action or browser confirmation flow.
Validation
Impact
Related to #343.