Files
wyndham-ARR/.project-docs/50-evidence/topics/2026-07-29-public-deployment-repository.md
2026-07-29 16:38:05 +08:00

2.6 KiB

Evidence Topic: Controlled public deployment repository

Metadata

  • Date: 2026-07-29
  • Status: Active
  • Scope: Source publication and public-server deployment handoff
  • Confidence: Fact
  • Source: Local candidate snapshot, automated tests and static configuration checks
  • Last verified: 2026-07-29
  • Stale trigger: Any change to Dockerfile, Compose, Caddy, Web processing flags, authentication, dependency pins or public topology

Question

Does the publishable source snapshot open XML processing through an explicit authenticated HTTPS deployment entry without exposing local state, credentials or unfinished report claims?

Evidence

  • Files: Dockerfile, compose.yaml, deploy/Caddyfile, deploy/.env.production.example, deploy/README.md, arr_web/app.py, arr_web/run.py, tests/test_arr_web.py.
  • Deployment command inspection: Compose Web command contains --enable-processing and --secure-cookies; only Caddy maps host ports 80/443, Web and MCP use internal expose ports.
  • Tests: Python 3.12 full discovery ran 259 tests successfully; 2 environment-dependent tests were skipped.
  • Integrity: every entry in CHECKSUMS.sha256 passed and 10 JSON contracts parsed.
  • Snapshot audit: 271 final candidate files, about 2.0 MiB, zero files over 1 MiB, zero symlinks, eight ZIP/XLSX archives inspected and zero detected secret/private-endpoint hits after documented placeholder allowlisting.
  • Configuration: Compose YAML parsed and assertions confirmed both required Web flags. Docker/Caddy executables are absent locally, so no image build or public TLS runtime result is claimed.

Finding

The repository snapshot provides a fail-closed deployment profile that opens XML upload only when the database, guarded OSS and SuperAgent processing runtime initialize. Web traffic is protected by Caddy HTTPS plus Basic Auth, MCP traffic retains application bearer authentication, and application defaults remain closed outside this profile.

Impact

The next test should use the stable deployed domains, not the temporary ngrok endpoint. processing_ready=true is a deployment prerequisite, but business completion still requires SuperAgent tool rediscovery and an MCP committed/already_committed receipt with matching database facts.

Open Items

  • Build and start the containers on the public Linux server; verify DNS, ACME, health and logs.
  • Rebind and republish the SuperAgent MCP configuration against the stable MCP domain.
  • Execute one no-PII XML end-to-end commit test.
  • Implement automatic post-commit monthly dispatch and the required TOTAL PRICE formula in separately authorized work.