This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works
Source pet-assistant-service.ts, Destination pet-assistant-memory.ts, Data Completed-turn outcome and message handoff lifecycle remains responsible for model/capability work and terminal events
PetAssistantService depends on PetAssistantMemory
Holds
Uses control-center-preload.cjs as the only bridge to the main process; ipcRenderer is not exposed directly.
nothing in apps/desktop/src/renderer may use ipcRenderer
Holds
webview-session.ts projects resources and owns a document-scoped package-operation-registry.ts for status, recovery and draining without replay.
WebviewSession depends on PackageOperationRegistry
Holds
Drag selects its path at window creation via isEffectiveWaylandBackend() in pet-window.ts (which delegates the pure decision to computeEffectiveWaylandBackend() in wayland-backend.ts): under the forced x11 backend it returns false and the working setBounds drag path is used.
isEffectiveWaylandBackend depends on computeEffectiveWaylandBackend
Holds
resolveRenderableAtlas asks resolveRenderedPetOutfit(petId, wardrobe) for the outfit, which also records the pet for schedule watching.
resolveRenderableAtlas depends on resolveRenderedPetOutfit
Holds
the atlases are bundled in apps/desktop/assets/default-pet-outfits/{id}.webp and the outfits and schedule are declared in packages/pet-format/src/builtin-hoodie-cat.ts (builtInPetWardrobe), shared with the VS Code extension.
Event normalization: normalizePiEvent() wraps raw Pi events into PiEventEnvelope with consistent type/payload structure.
normalizePiEvent depends on PiEventEnvelope
Holds
Expects OpenPetsPiExtensionApi with on(event, handler) and registerCommand(name, spec) methods.
2 rules from this sentence
OpenPetsPiExtensionApi has an on method
checks “OpenPetsPiExtensionApi with on(event, handler)”
Holds
OpenPetsPiExtensionApi has a registerCommand method
checks “OpenPetsPiExtensionApi with”
Holds
The harness creates a mock ctx, starts the plugin, then exposes helpers such as clock.advance, emit, runCommand, fireBubbleAction, and assertion helpers (expectSpoke, expectBubble, expectScheduled, etc.).
7 rules from this sentence
TestHarness has runCommand, emit, fireBubbleAction and 3 morechecks “runCommand”