feat: Azure-native Python backend agent with AustLII integration

↗ view on GitHub · Ben Opit · 2026-05-07 · 10b1c82e

- Add backend-agent/ Python FastAPI app replacing TypeScript backend
  - Azure AI Foundry Hosted Agents (Responses + Invocations protocols)
  - Semantic Kernel with AzureChatCompletion
  - Entra External ID JWT auth middleware
  - asyncpg connection pool for Azure PostgreSQL
  - Azure Blob Storage layer replacing Cloudflare R2
  - Full CRUD routes: chat, documents, projects, tabular, workflows, user, downloads

- Add Australian legal plugins for Semantic Kernel
  - austlii.py: AustLII SINO search engine integration
    - 90+ database mask_path values (all courts/tribunals across 9 jurisdictions)
    - 21 known Commonwealth Acts with consol_act identifiers
    - search_austlii, get_austlii_document, browse_legislation, lookup_act tools
    - Correct sinosrch.cgi endpoint + browser User-Agent (required to avoid 403)
  - australian_legislation.py: All 13 APPs + legislation.gov.au + APP compliance checker

- Add Dockerfile and agent.yaml for Foundry Hosted Agent deployment
- Add azure-approval-request.html for Azure resource provisioning request

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Repository ExigoTech-Beno/mikeoss
Author Ben Opit <ben.opit@exigotech.com.au>
Authored
Parents d9690965
Stats 29 files changed , +1818 , -25
Part of Azure-native Python backend with AustLII / Australian legal plugins

Capture this commit into my fork

Download a Markdown prompt that tells Claude how to port this exact commit into your working tree. Run it via claude -p < capture-commit-10b1c82e.md from inside the repo you want the change in.

⬇ Download capture-commit-10b1c82e.md