Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-07-29-superagent-manual-xml-run-bypassed-mcp.md
2026-07-31 15:11:42 +08:00

4.3 KiB

Evidence Topic: SuperAgent Manual XML Run Bypassed MCP

Metadata

  • Date: 2026-07-29
  • Status: Historical evidence; production requirement superseded by ADR-002
  • Scope: Manual SuperAgent XML test versus the accepted Web → OSS → Agent → MCP → PostgreSQL flow
  • Confidence: Fact for the exported run; strong inference for the published-Prompt mismatch
  • Source: User-exported XML File Analysis (2).md
  • Last verified: 2026-07-29 19:53 +08:00
  • Stale trigger: None; retain as historical evidence and interpret through ADR-002

Question

Did the exported SuperAgent run exercise the accepted ARR database-ingestion path?

Requirement Correction

The user confirmed that this Agent is dedicated to a fixed business-system entrypoint whose PROGRAM_INPUT is already constrained in code. Direct SuperAgent chat uploads are outside the production contract. Therefore these logs remain factual execution evidence but do not justify input-validation gates in Main Prompt. ADR-002 is the current authority.

Evidence

  • The 249-line export covers a manual XML conversation from 19:13:23 to 19:14:37.
  • The deterministic daily processor succeeded for business date 2026-07-21; it reported 135 source records and 119 retained output rows.
  • Tool-name counts in the complete export were: read_file=10, present_files=1, fetch_oss_file=0, and arr_submit_processing_result=0.
  • The export contains no PROGRAM_INPUT, submission_grant, job_id/attempt submission identity, MCP receipt, or enterprise_mcp_transport_unavailable event.
  • The Agent accepted a chat-uploaded XML, processed a local upload path, and presented generated files. The accepted Main Prompt explicitly rejects chat uploads and forbids present_files on the direct-ingestion path.
  • The Agent's own reasoning says a “main agent prompt file” at a local user path was inaccessible. This is consistent with a Profile containing a file-path reference or an old prompt rather than the full contents of prompts/arr_opera_daily_main_agent_prompt.md.
  • A second 95-line export from 19:46 shows the compact Prompt recognized that direct 0722.XML upload lacked PROGRAM_INPUT. It did not call the Skill, fetch_oss_file, arr_submit_processing_result, or present_files.
  • That run still called read_file once for 20.44 seconds and ask_clarification once before stopping, and it invented the field name fetch_strategy instead of attachment_fetch_policy.
  • A third 376-line export from 20:22 processed the chat path /mnt/user-data/uploads/0721.XML directly with shell tools and then called present_files. It contained zero fetch_oss_file calls, zero arr_submit_processing_result calls, no submission grant and no committed receipt. The Skill succeeded, but no OSS/MCP/database path ran.
  • The third run's reasoning still describes the superseded “validate PROGRAM_INPUT” Prompt and its present_files behavior violates the final controlled Prompt. That session therefore does not prove the latest Profile text was saved/published and selected.
  • The intermediate 3,095-character defensive Prompt was superseded after the user's boundary clarification. The final source is a 1,321-character controlled orchestrator with no duplicated input gates; a regression test caps it below 1,800 characters and preserves one fetch/Skill/MCP plus receipt boundaries. All 12 targeted tests pass. This source change is not evidence that SuperAgent has published it.

Finding

The Skill and its deterministic processor worked, but this run did not fetch the source from ARR-controlled OSS, did not receive an attempt-bound submission grant, did not call ARR MCP, and did not write or prove any database facts. It is a processor-only manual test, not an end-to-end ARR test.

The runs do not prove production Profile correctness because they bypassed the supported entrypoint. A valid E2E must begin with ARR-generated PROGRAM_INPUT and then show fetch_oss_file, the Skill, the MCP submission and a committed database result.

Impact

  • Do not use manual SuperAgent chat uploads as production acceptance tests.
  • Paste and publish the final controlled-orchestration Prompt with the MCP tool loaded.
  • Test through ARR Web so the backend supplies the validated PROGRAM_INPUT and grant.
  • Accept only committed/already_committed plus matching PostgreSQL facts.