Skip to content

docs: manual test plan + full test-run results (10 findings)#78

Merged
uzyn merged 2 commits into
mainfrom
docs/manual-test-plan
Apr 17, 2026
Merged

docs: manual test plan + full test-run results (10 findings)#78
uzyn merged 2 commits into
mainfrom
docs/manual-test-plan

Conversation

@uzyn

@uzyn uzyn commented Apr 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • Executed every phase of docs/manual-test.md (T0–T13) end-to-end against agent.zeroshot.lol and recorded each acceptance bullet's PASS / FAIL / DEVIATION with evidence in docs/manual-test-results.md.
  • Uncovered 10 findings ranked by severity; three are P0-class.

Top findings

Findings #3 and #6 are cross-referenced in the doc (#6 is the externally-observed symptom of #10; #3 is a plan-wording nit about forwarded messages).

Deviations (non-defects)

  • Tests ran against an existing install rather than a fresh VPS; T1 validated as re-entrance (with T13 covering the dedicated re-entry check).
  • [LOCAL] tests (T6, T7) ran on the VPS because claude + codex are installed there.
  • Plugin layouts differ slightly from plan wording (.claude-plugin/plugin.json; ~/.codex/skills/aimx/ vs ~/.codex/plugins/aimx/).

Side-effects left on the VPS

  • /etc/aimx/config.toml mode 06400644 (workaround for finding [Sprint 3] MCP Server #4).
  • [mailboxes.test] has a trust + on_receive trigger config from T8.
  • Root-owned /tmp/aimx-trigger-*.flag artifacts from T8/T9 still present; clean with sudo rm /tmp/aimx-trigger*.flag /tmp/aimx-trigger.log.

Test plan

uzyn added 2 commits April 17, 2026 12:08
Full execution of docs/manual-test.md against agent.zeroshot.lol.
10 findings recorded with severity and fix direction, notably:

- P0 DKIM key on disk does not match DNS TXT (root cause of
  outbound dkim=fail at Gmail)
- P0 Shell injection in on_receive cmd template expansion
- P1 MCP write ops (email_mark_read, etc.) fail when MCP runs
  as non-root due to root:root 0644 mailbox files
…lans

Code-review-backed fix plans for each of the 10 findings, with file:line
refs, effort estimates, and a priority order. No code changes yet —
this consolidates the investigation so fixes can be sequenced.

- #10 DKIM mismatch: not a code bug; DNS republish + optional startup check
- #9 shell injection: pass trigger vars via env, not string substitution
- #8 MCP writes: route state mutations through daemon UDS
- #7 claude-code hint: print `claude mcp add` command post-install
- #4 send config read: move mailbox resolution to daemon side
- #2 SPF: plumb envelope MAIL FROM from smtp session through ingest
- #5 wildcard send: remove wildcard branch from resolve_from_mailbox
- #1 mailbox create: add restart hint (or route via daemon)
- #3 plan wording: clarify "compose new" in docs/manual-test.md
@uzyn uzyn merged commit d5875be into main Apr 17, 2026
2 checks passed
@uzyn uzyn deleted the docs/manual-test-plan branch April 17, 2026 15:33
uzyn added a commit that referenced this pull request Apr 21, 2026
* docs: add manual test results with findings

Full execution of docs/manual-test.md against agent.zeroshot.lol.
10 findings recorded with severity and fix direction, notably:

- P0 DKIM key on disk does not match DNS TXT (root cause of
  outbound dkim=fail at Gmail)
- P0 Shell injection in on_receive cmd template expansion
- P1 MCP write ops (email_mark_read, etc.) fail when MCP runs
  as non-root due to root:root 0644 mailbox files

* docs: add Recommended fixes section with per-finding implementation plans

Code-review-backed fix plans for each of the 10 findings, with file:line
refs, effort estimates, and a priority order. No code changes yet —
this consolidates the investigation so fixes can be sequenced.

- #10 DKIM mismatch: not a code bug; DNS republish + optional startup check
- #9 shell injection: pass trigger vars via env, not string substitution
- #8 MCP writes: route state mutations through daemon UDS
- #7 claude-code hint: print `claude mcp add` command post-install
- #4 send config read: move mailbox resolution to daemon side
- #2 SPF: plumb envelope MAIL FROM from smtp session through ingest
- #5 wildcard send: remove wildcard branch from resolve_from_mailbox
- #1 mailbox create: add restart hint (or route via daemon)
- #3 plan wording: clarify "compose new" in docs/manual-test.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant