Build canonical Patrol attention workbench

This commit is contained in:
rcourtman 2026-07-19 03:35:59 +01:00
parent 93dbdd91cf
commit 07a4d05ca3
46 changed files with 4122 additions and 36 deletions

View file

@ -384,7 +384,7 @@ else
# mock run) must NOT win here, or real mode would keep reading the mock dir.
HOT_DEV_MOCK_FLAG=""
if [[ -f "${ROOT_DIR}/tmp/dev-config/.env" ]]; then
HOT_DEV_MOCK_FLAG="$(grep -E '^[[:space:]]*PULSE_MOCK_MODE=' "${ROOT_DIR}/tmp/dev-config/.env" | tail -1 | cut -d= -f2 | tr -dc 'a-z')"
HOT_DEV_MOCK_FLAG="$(grep -E '^[[:space:]]*PULSE_MOCK_MODE=' "${ROOT_DIR}/tmp/dev-config/.env" | tail -1 | cut -d= -f2 | tr -dc 'a-z' || true)"
fi
if [[ -z "${HOT_DEV_MOCK_FLAG}" ]]; then
HOT_DEV_MOCK_FLAG="${PULSE_MOCK_MODE:-}"

View file

@ -59,6 +59,11 @@ class AIRuntimeDocsPolicyTest(unittest.TestCase):
self.assertIn("privacy-allowlisted community evidence export", normalized_content)
self.assertIn("Every active finding shown or returned to a Patrol run", content)
self.assertIn("Silence is not an all-clear signal", normalized_content)
self.assertIn("### The Patrol attention queue", content)
self.assertIn(
"it cannot create lifecycle truth, invent action authority, or hide uncertainty",
normalized_content,
)
self.assertIn(
"The Assistant model matrix below proves Assistant orchestration only",
normalized_content,

View file

@ -12,7 +12,9 @@ RECOVERY_PRODUCT_SURFACE_EXACT_FILES = [
]
PATROL_PAGE_AND_STATE_EXACT_FILES = [
"frontend-modern/src/api/__tests__/patrolAttention.test.ts",
"frontend-modern/src/components/Brand/__tests__/PulsePatrolLogo.test.tsx",
"frontend-modern/src/features/patrol/__tests__/PatrolAttentionWorkbench.test.tsx",
"frontend-modern/src/features/patrol/__tests__/PatrolIntelligenceHeader.test.ts",
"frontend-modern/src/features/patrol/__tests__/patrolControlPresentation.test.ts",
"frontend-modern/src/features/patrol/__tests__/patrolInvestigationContextModel.test.ts",
@ -24,6 +26,7 @@ PATROL_PAGE_AND_STATE_EXACT_FILES = [
"tests/integration/tests/18-patrol-runtime-state.spec.ts",
"tests/integration/tests/73-patrol-assistant-operator-briefing.spec.ts",
"tests/integration/tests/78-monitor-first-patrol-workbench.spec.ts",
"tests/integration/tests/91-operational-trust-attention-workbench.spec.ts",
]
PLATFORM_CONNECTIONS_WORKSPACE_EXACT_FILES = [
@ -2970,8 +2973,8 @@ class SubsystemLookupTest(unittest.TestCase):
{
"heading": "## Shared Boundaries",
"path": "internal/api/access_control_handlers.go",
"line": 1244,
"heading_line": 155,
"line": 1247,
"heading_line": 157,
}
],
)

View file

@ -129,6 +129,16 @@ test_hot_dev_keeps_backend_launch_errors_in_debug_log() {
assert_contains "backend LOG_FILE follows debug log override" "${output}" "LOG_FILE=\"\${BACKEND_DEBUG_LOG}\""
}
test_hot_dev_tolerates_missing_mock_mode_setting() {
local output
output="$(sed -n '360,420p' "${HOT_DEV}")"
assert_contains \
"hot-dev falls back when the canonical dev env has no mock-mode setting" \
"${output}" \
"tr -dc 'a-z' || true"
}
test_hot_dev_preserves_proxmox_guest_docker_env() {
local output
output="$(sed -n '1,760p' "${HOT_DEV}")"
@ -328,6 +338,7 @@ test_pulse_process_count_handles_zero_matches_under_pipefail
test_pulse_process_count_counts_matching_processes
test_hot_dev_uses_resilient_backend_process_count
test_hot_dev_keeps_backend_launch_errors_in_debug_log
test_hot_dev_tolerates_missing_mock_mode_setting
test_hot_dev_preserves_proxmox_guest_docker_env
test_hot_dev_avoids_self_killing_npm_wrapper
test_hot_dev_network_defaults_are_local_first_with_explicit_lan_opt_in