surfaces/.planning/phases/05-mvp-deployment/05-04-SUMMARY.md
Mikhail Putilovskij 380961d6e9 docs(05-04): complete split deployment artifacts plan
- add phase summary for split deployment artifacts
- update state with phase 05 completion context
2026-04-28 01:18:47 +03:00

93 lines
4.1 KiB
Markdown
Raw 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.

---
phase: 05-mvp-deployment
plan: 04
subsystem: infra
tags: [docker-compose, matrix, deployment, agents, docs]
requires:
- phase: 05-03
provides: "Shared /agents attachment contract and path normalization for Matrix runtime"
provides:
- "docker-compose.prod.yml bot-only deployment handoff artifact"
- "docker-compose.fullstack.yml internal E2E harness with health-gated platform-agent startup"
- "README and deploy architecture docs aligned to the split compose contract"
affects: [mvp-deployment, operator-handoff, internal-e2e]
tech-stack:
added: [Docker Compose]
patterns: [split-compose-by-operational-intent, shared-agents-volume-contract]
key-files:
created: [docker-compose.prod.yml, docker-compose.fullstack.yml]
modified: [.env.example, README.md, docs/deploy-architecture.md]
key-decisions:
- "Split Compose artifacts by runtime intent: bot-only prod handoff vs internal full-stack verification."
- "Document /agents as the bot-side shared volume root while internal platform-agent keeps /workspace on the same volume."
patterns-established:
- "Production operators use docker-compose.prod.yml and provide an external AGENT_BASE_URL."
- "Internal verification uses docker-compose.fullstack.yml with service_healthy gating instead of sleep-based startup."
requirements-completed: [PH05-05]
duration: 3 min
completed: 2026-04-27
---
# Phase 05 Plan 04: Split deployment artifacts Summary
**Bot-only production compose handoff plus a separate health-gated full-stack harness aligned to the shared `/agents` volume contract**
## Performance
- **Duration:** 3 min
- **Started:** 2026-04-27T22:12:42Z
- **Completed:** 2026-04-27T22:16:09Z
- **Tasks:** 2
- **Files modified:** 5
## Accomplishments
- Added `docker-compose.prod.yml` as the operator-facing bot-only runtime artifact.
- Added `docker-compose.fullstack.yml` for internal E2E runs with `platform-agent` health-gated startup.
- Updated env and deployment docs so `/agents` and the split compose flow are explicit without relying on the old root compose file.
## Task Commits
Each task was committed atomically:
1. **Task 1: Create split prod and fullstack compose artifacts** - `df6d8bf` (feat)
2. **Task 2: Update deployment docs and operator guidance for the split artifacts** - `22a3a2b` (docs)
**Plan metadata:** pending final docs commit after state updates
## Files Created/Modified
- `docker-compose.prod.yml` - bot-only deployment handoff with `/agents` volume contract
- `docker-compose.fullstack.yml` - internal harness extending the bot service and adding health-checked `platform-agent`
- `.env.example` - Phase 05 runtime variables for prod handoff and internal full-stack defaults
- `README.md` - operator-facing instructions for choosing the correct compose artifact
- `docs/deploy-architecture.md` - deployment topology and shared-volume guidance aligned to the split artifacts
## Decisions Made
- Split deployment packaging by operational intent instead of overloading one compose file for both prod handoff and internal testing.
- Kept the bots absolute shared path rooted at `/agents` in docs and env examples while letting the internal `platform-agent` consume the same named volume at `/workspace`.
## Deviations from Plan
None - plan executed exactly as written.
## Issues Encountered
- The docs verification grep treated `deploy` inside the filename `docs/deploy-architecture.md` as a false positive when root compose was still named explicitly. The fix was to remove the literal root compose filename from deploy-path wording while keeping the deprecation clear.
## User Setup Required
None - no external service configuration required beyond populating `.env` from `.env.example`.
## Next Phase Readiness
- Operators now have a bot-only compose artifact for handoff, and developers have a separate internal E2E harness.
- Remaining Phase 05 work can rely on the split runtime contract without reinterpreting deployment docs.
## Self-Check: PASSED
- Summary file exists at `.planning/phases/05-mvp-deployment/05-04-SUMMARY.md`
- Commit `df6d8bf` found in git history
- Commit `22a3a2b` found in git history
---
*Phase: 05-mvp-deployment*
*Completed: 2026-04-27*