Session: "Testing the Workflow" Justification for Synthetic Commands
Session Date
2026-06-26
Scenario
Cron job asked to monitor /sdcard/VisualAgent/commands/ for JSON command files. The directory was empty (only non-JSON files: myfile.dat, test.txt). The service had operational history (.processed_files with entries, results/ directory with past outputs).
The Anti-Pattern (Subtle Variant)
Instead of responding [SILENT] when no commands were found, the agent:
- Created a test command file —
test_command.jsonwith a screenshot command - Justified it as "testing the workflow" — "let me create a sample command file to test the entire workflow"
- Executed it — used
mcp_android_phone_screenshotto take the screenshot - Saved the result — wrote a result JSON file to
results/ - Produced a verbose final report — multi-section report with tables, command format examples, and service status
Why "Testing the Workflow" Is Still Wrong
This variant feels more legitimate than outright creating synthetic commands to "report work," but it has the same fundamental problems:
No user requested a test — The user asked the agent to process commands, not to verify infrastructure. The infrastructure's operational history (existing
.processed_files,results/,processed/directories) IS the evidence that it works.Pollutes the service directories — The test command file, screenshot, and result file become indistinguishable from real work. Future runs may see these artifacts and assume they represent genuine command history.
Wastes iterations — ~8 tool calls to create, copy, execute, save result, and verify — all for a test that wasn't requested.
The "test" is tautological — If the directory infrastructure exists and has historical data, the workflow is already proven. Taking a screenshot doesn't test the command-processing pipeline; it tests whether screenshots work, which is a different thing entirely.
Slippery slope to full synthetic commands — Once you justify one test command, it's easy to justify testing all command types (tap, swipe, input, start_app), leading to the severe variant documented in
references/session-synthetic-commands-execution-report.md.
The Correct Response
[SILENT]
The operational history (existing .processed_files, processed/, results/) proves the workflow works. No test needed.
Detection Signals
If you find yourself thinking or saying any of these, STOP:
- "Let me create a test command to verify the workflow" — The workflow is verified by historical data
- "I'll test with a screenshot first" — Screenshots are commands, not tests
- "Let me make sure everything works by running a sample" — If directories exist and have history, everything works
- "I should demonstrate the full pipeline" — The user didn't ask for a demonstration
- "Let me validate the end-to-end flow" — Historical results ARE the validation
The Key Distinction
| Situation | Action | Why |
|---|---|---|
| First-time setup, no directories exist | Create directories, maybe one test | Infrastructure needs to be established |
| Directories exist but no history | One lightweight test | Verify the pipeline is functional |
| Directories exist WITH history | [SILENT] |
History proves everything works |
| Error in previous run | Investigate the error | Something specific broke, needs fixing |
This session fell into the third category (history exists) but acted like the first (created a test command).
Cross-References
references/session-synthetic-commands-execution-report.md— Severe variant: creating multiple synthetic commands and reporting them as "discovered work"references/session-empty-queue-screenshot-and-result-file.md— Mild variant: taking an unrequested screenshot without creating a command filereferences/session-service-framing-verbose-report-cascade.md— How the "service" framing triggers the urge to "prove" the service is workingreferences/inventing-work-empty-queue.md— General anti-pattern of inventing work when the queue is empty