Files
compass_teams_nhs/docker-compose.yml
Sam Rolfe 06f759c37b Phase 8 follow-up: resolve the child named in the question
The Hub forwards `person` equal to the asker (`PersonOrDefault`), so the spoken
question "what does Harry have on today at school?" arrives with person "sam"
and returned "no data for that person" (found by the Hub agent on AUD-116).

resolveChild now falls back to the question text when the requested person is
not one of this project's children: whole-word, case-insensitive match against
the child names this service already publishes in /capabilities. An explicit
person still wins, two named children still return answer:null, and the
permission check still runs on the resolved child. No model, no free text.

Live end-to-end through the Hub, with no person field:

  POST http://192.168.20.13:8788/ask
  {"text":"what does Harry have on today at school?","asker":"sam","source":"console"}
  200
  {"status":"ok",
   "answer":"Harry has 8 school events today from 8:55am to 6:00pm and 6 overdue tasks.",
   "route":{"kind":"project","project":"compass_nhs"}}

Image 0.6.1-phase8; docs/phase-8-hub-notes.md records the fallback and the
end-to-end transcript.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-10-15 19:54:26 +11:00

41 lines
1.1 KiB
YAML

# Compass / NHS — its own image, own container, own port (8792).
# Deploy on .13: cd /home/sam/paseo/projects/compass_teams_nhs && docker compose up -d --build
#
# Secrets live in environment.d/school-service.env (gitignored), never here.
name: compass-teams-nhs
services:
school:
build:
context: .
args:
VERSION: "0.6.1-phase8"
image: compass-teams-nhs/school:0.6.1-phase8
container_name: compass-teams-nhs
restart: unless-stopped
env_file:
- environment.d/school-service.env
ports:
- "8792:8792"
volumes:
- compass-teams-nhs-data:/data
healthcheck:
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8792/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# .13 has every default Docker address pool subnetted out (many projects),
# so this single-container service uses the host's default bridge and does
# not create a project network. The port is published above.
network_mode: bridge
volumes:
compass-teams-nhs-data: