feat: prepare ARR for controlled public deployment
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user