Use when operating reviewer-account browser rehearsals that require BYOK unlock, memory-only decrypted information, and same-session client navigation.
Resources
4Install
npx skillscat add hushh-labs/hushh-research/reviewer-app-testing Install via the SkillsCat registry.
SKILL.md
Hussh Reviewer App Testing Skill
Purpose and Trigger
- Primary scope:
reviewer-app-testing - Trigger on reviewer Playwright flows, BYOK unlock continuity, protected route chains, or cold-session re-unlock proof.
- Avoid overlap with
security-audit,pkm-upgrade-rehearsal, andfrontend-cache-coherence.
Coverage and Ownership
- Role:
spoke - Owner family:
security-audit
Owned repo surfaces:
.codex/skills/reviewer-app-testinghushh-webapp/scripts/testing/reviewer-test-identity.mjshushh-webapp/scripts/testing/verify-signed-in-routes.mjs
Non-owned surfaces:
consent-protocol/hushh_mcp/vaulthushh-webapp/lib/pkmscripts/ci/pkm-upgrade-gate.sh
Do Use
- Canonical reviewer identity, authentication, passphrase-wrapper unlock, and vault-key integrity proof.
- Same-browser-context protected flows where decrypted information and keys must remain memory-only.
- Separate cold-context reauthentication and re-unlock proof after the same-session route chain.
- Shared Playwright helpers used by domain-specific reviewer rehearsals.
Do Not Use
- Vault cryptography or PKM storage implementation changes; use
security-audit. - PKM restructuring, preservation, scope, rollback, or payload acceptance; use
pkm-upgrade-rehearsal. - Generic public-route browser checks that do not depend on an unlocked vault.
- Shared reviewer mutation without explicit operator authority for the current task.
Read First
.codex/skills/reviewer-app-testing/references/byok-reviewer-browser-contract.md.codex/skills/reviewer-app-testing/references/reviewer-rehearsal-preflight.mdhushh-webapp/scripts/testing/reviewer-test-identity.mjshushh-webapp/lib/testing/native-test.tshushh-webapp/components/app-ui/native-test-bootstrap.tsxhushh-webapp/components/app-ui/native-test-router.tsxhushh-webapp/lib/utils/browser-navigation.ts
Workflow
- Classify the run as read-only or explicitly mutation-authorized; ordinary review is read-only.
- Run the executable preflight before Chromium; it resolves the canonical reviewer without printing secrets and proves review mode is enabled.
- For local runs, use
scripts/env/reviewer_mode.sh; restart the backend after enabling and disabling it. - Let the default network guard block unapproved state-changing requests. A block is a failure, never a reason to weaken the guard.
- Prove a cold authenticated entry visibly hard-gates on the vault before supplying any passphrase.
- Unlock, verify
vaultKeyHash, then use Next client navigation and assertvault_unlockedafter every protected transition. - Fail on critical API 5xx, a blocked mutation, identity mismatch, or any loss of vault continuity.
- Close the context, then prove cold-session authentication and re-unlock separately.
- For Agent Chat changes, run
verify-reviewer-agent-chat.mjswith explicitREVIEWER_ALLOW_SHARED_MUTATIONS=true; it must complete a real prompt turn and prove
consumer-safe errors, profile-only avatars, idle-status removal, and overflow safety. - Trusted Devices:
verify-reviewer-trusted-devices.mjs(read-only). Always composecreateReviewerSessionHarness; never hand-roll one (see the preflight reference). - Wallet, consent lifecycle from chat, large Memory imports:
verify-reviewer-wallet.mjs,verify-reviewer-consent-chat.mjs,verify-reviewer-memory-import.mjs(mutation-authorized; the preflight reference states what each proves). - Physical native reviewers hand off to
mobile-parity-auditand itsreferences/physical-reviewer-preflight.md; browser authorization does not enable XCTest or unlock a device.
Local enablement and identity reconciliation follow.codex/skills/reviewer-app-testing/references/reviewer-rehearsal-preflight.md.
Handoff Rules
- Vault and encrypted-storage implementation work routes to
security-audit. - PKM upgrade and exact payload rehearsal routes to
pkm-upgrade-rehearsal. - Cache behavior proof routes to
frontend-cache-coherence; broad security work returns tosecurity-audit.
Required Checks
./scripts/ci/reviewer-app-testing-check.sh
./bin/hushh codex route-task reviewer-app-rehearsal --text
node .codex/skills/reviewer-app-testing/scripts/reviewer-rehearsal-preflight.mjs --help
consent-protocol/.venv/bin/python .codex/skills/reviewer-app-testing/scripts/reconcile-reviewer-identity.py --help