Files

44 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Public VCC Plus MCP workflow
The project was connected using C Development → Assistant → Use Project
Makefile + Allow Disposable Playtests → Save Private Connection. Grants stayed
outside the checkout. `tools/vcc_mcp.py` is a normal STDIO JSON-RPC client for
`/Applications/VCC Plus.app/Contents/Helpers/vcc-mcp --grant FILE`; it does not
use a private bridge or debugger memory/register writes.
Live tools were discovered with `tools/list`, followed by `get_capabilities`.
Builds used advertised `disk` actions and `Test`/`Release` configurations.
`start_playtest` booted exact artifact disks on isolated 512 KB MC6809 workers.
Every simulated press used `playtest_input` physical-key plans with separate
release fields. `capture_playtest` supplied the actual 640×480 framebuffer.
PNG pixels were decoded at the game's 320×192 coordinates. Text was matched
against the font bytes in the corresponding linked build, so checks observed
what the guest drew, rather than trusting host quiz variables. Selected-state
pixels were also checked against each state's drawing mask.
VCC Plus protects the approved recipe and source revision. After changing
recipe/support inputs, export a fresh connection. Put captures and test logs
outside the watched project until a run finishes: adding files can advance
the project revision and end its test run. Every intended input needs a fresh
request ID; only identical retries reuse one.
## Limitations and reusable improvements
The public playtest key enum omits **period** and other punctuation. `St Paul`
and mixed-case answers were played in the guest; `St. Paul` was verified by
the shared C logic tests. A reusable improvement is to expose the remaining
physical CoCo punctuation keys (or a documented ASCII-to-key-chord input tool)
with the same field bounds and idempotency receipts.
The approved custom-Make build receipt did not advertise verified C/function
stop lists. A general pause followed by `get_debug_snapshot` returned
`verified_pause_required`. No memory was guessed or modified to work around
that refusal. Gameplay checks used framebuffer captures and ordinary inputs.
A reusable improvement is to expose the native workbench's verified C mapping
and shared globals in custom-Make artifact receipts, or document a public
manifest schema for ordinary, non-banked binaries.
These limits do not prevent building or playing the complete quiz. They limit
the automated punctuation and source-debug inspection coverage described in
TESTING.md. The user's original machine, disks and tape were preserved.