M-1: _forceTCCStatus harness command (UQ-1 gated, G-003) #103

Open
opened 2026-05-12 19:36:52 +00:00 by KofTwentyTwo · 0 comments
KofTwentyTwo commented 2026-05-12 19:36:52 +00:00 (Migrated from github.com)

Goal

Add Self._forceTCCStatus harness command (UQ-1 gated) that re-emits tccStatusChanged. Downstream subsystems re-probe. Resolves G-003 (synthetic TCC state for tests).

Scope

  • Self._forceTCCStatus(permission: TCCPermission, granted: Bool) gated by JARVIS_HARNESS=1
  • Re-emits tccStatusChanged; downstream subsystems re-probe state
  • No-op in production (env var absent)

Files

  • packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Self+Adapter.swift
  • packages/Harness/Sources/Harness/JarvisTestHarness.swift — injectTCC proxy

Acceptance

  • _forceTCCStatus is no-op when env var absent
  • _forceTCCStatus emits tccStatusChanged when env var set
  • Scenario S-SELF-003 (TCC denied → revoked-event chain) green

Test

S-SELF-003 in both transport modes; assert downstream subsystem re-probe occurs.

Parent epic

#5

Source

.planning/architecture/JARVIS-API-MIGRATION-PLAN.md §2.2 (M-1.4)
G-003 (synthetic TCC)

## Goal Add Self._forceTCCStatus harness command (UQ-1 gated) that re-emits tccStatusChanged. Downstream subsystems re-probe. Resolves G-003 (synthetic TCC state for tests). ## Scope - `Self._forceTCCStatus(permission: TCCPermission, granted: Bool)` gated by `JARVIS_HARNESS=1` - Re-emits `tccStatusChanged`; downstream subsystems re-probe state - No-op in production (env var absent) ## Files - `packages/JarvisAPI/Sources/JarvisAPI/Surfaces/Self+Adapter.swift` - `packages/Harness/Sources/Harness/JarvisTestHarness.swift` — `injectTCC` proxy ## Acceptance - [ ] `_forceTCCStatus` is no-op when env var absent - [ ] `_forceTCCStatus` emits `tccStatusChanged` when env var set - [ ] Scenario `S-SELF-003` (TCC denied → revoked-event chain) green ## Test `S-SELF-003` in both transport modes; assert downstream subsystem re-probe occurs. ## Parent epic #5 ## Source `.planning/architecture/JARVIS-API-MIGRATION-PLAN.md` §2.2 (M-1.4) G-003 (synthetic TCC)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: KofTwentyTwo/Jarvis#103