You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Share readable blocked-trust explanations across test preflight output #2618
Use one plain-English explanation for blocked manifest-command trust in workspace test preflight and individual project command diagnostics.
Background
PR #2613 extracted project_test_trust_status() so workspace and individual project tests share trust-identity and status evaluation. Workspace preflight still formats manifest command trust is blocked (<reason>), while print_blocked_command_text() describes missing approval or a changed contract in plain English. The remaining difference is low-priority output polish; trust enforcement is already shared.
Scope
Extract a pure blocked-trust explanation formatter in base_setup.manifest_trust_guidance.
Reuse it from workspace test preflight and the detailed blocked-command renderer.
Preserve each renderer's layout, command review guidance, and trust enforcement.
Acceptance Criteria
Missing approval, changed manifest, and changed declared test requirements produce a shared, readable explanation in both paths.
Workspace output remains concise and individual command output retains its identity and review/allow guidance.
Trust decisions, exit behavior, and structured status fields retain their existing semantics; the existing detail string is presentation text.
Focused validation covers both renderers for the relevant trust reasons and verifies workspace preflight still starts no tests when blocked.
Validation
Run the focused workspace-test and trust-command Python tests.
Run the existing manifest-command-trust BATS coverage and full Base test gate.
Run the Stable compatibility check, relevant Python lint, and git diff --check.
Activity