fix: tighten internal semantic compose contracts
This commit is contained in:
@@ -52,3 +52,47 @@ Concerns:
|
||||
|
||||
- The model bootstrap waits for Ollama readiness and verifies cache state, but the first real cold-start will still take time to download `qwen3-embedding:0.6b`.
|
||||
- The GPU override requests generic Docker GPU capability only; actual GPU availability remains host/runtime dependent and intentionally stays opt-in.
|
||||
|
||||
## Fix round 1 / 5 — 2026-08-08
|
||||
|
||||
Rulings applied:
|
||||
|
||||
- Kept the Task 1 boundary intact: schema-v3 remains the only operational workspace descriptor shape.
|
||||
- Did not restore any external semantic fallback for schema-v2 live sessions.
|
||||
- Treated `PROJECT_STATE.md` as stale documentation for this point, not runtime truth.
|
||||
|
||||
Focused schema-v2 evidence:
|
||||
|
||||
- Re-ran the existing targeted registry test:
|
||||
- `cd backend && npx vitest run test/workspace-registry.test.ts -t "lists a schema v2 descriptor as migration_required and refuses to acquire it"`
|
||||
- Result: pass.
|
||||
- Evidence from that test:
|
||||
- schema-v2 descriptors list as `migration_required`
|
||||
- `acquireSessionRevision("psd-clinical")` rejects with `code: "workspace_invalid"`
|
||||
- Conclusion: schema-v2 acquisition remains blocked; no external semantic fallback was reintroduced.
|
||||
|
||||
Contract consistency fixes:
|
||||
|
||||
- Updated `harness/tests/test_local_compose_contract.py` to assert the mandatory internal semantic stack, fixed internal core semantic env, private-service topology, persistent volumes, and Ollama health/dependency contract.
|
||||
- Updated shell Compose contracts to require:
|
||||
- Ollama healthcheck on `embedding`
|
||||
- `embedding-model-init` dependency on `embedding: service_healthy`
|
||||
- Updated `scripts/unified-deployment-smoke.sh` rendered-contract helper to expect the mandatory internal semantic topology and internal semantic env names, and to reject retired external semantic bindings.
|
||||
- Updated `scripts/test-task13-runtime-fixtures.sh` to exercise `task13_assert_rendered_contract` for both local and server fixture renders.
|
||||
|
||||
Fix round 1 verification:
|
||||
|
||||
- RED before implementation:
|
||||
- `cd harness && .venv/bin/pytest tests/test_local_compose_contract.py -q` failed because `embedding` had no healthcheck.
|
||||
- `./scripts/test-default-compose.sh` failed because `embedding` had no healthcheck.
|
||||
- `./scripts/test-unified-compose.sh` failed because `embedding` had no healthcheck.
|
||||
- `./scripts/test-task13-runtime-fixtures.sh local` failed because `unified-deployment-smoke.sh` still expected `core,frontend`.
|
||||
- GREEN after implementation:
|
||||
- `./scripts/test-default-compose.sh`
|
||||
- `./scripts/test-unified-compose.sh`
|
||||
- `./scripts/test-internal-semantic-compose.sh`
|
||||
- `cd harness && .venv/bin/pytest tests/test_local_compose_contract.py -q`
|
||||
- `./scripts/test-task13-runtime-fixtures.sh local`
|
||||
- `./scripts/test-task13-runtime-fixtures.sh server`
|
||||
- `cd backend && npx vitest run test/workspace-registry.test.ts -t "lists a schema v2 descriptor as migration_required and refuses to acquire it"`
|
||||
- `docker compose --env-file deploy/env/local.env.example -f compose.yaml -f deploy/compose.local.yaml config --format json`
|
||||
|
||||
Reference in New Issue
Block a user