Conversation
…olling recipe Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/0abd7d5b-2744-4269-8039-558fb5331a53 Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
Adds models_fetch_complete to the api-proxy /health response so callers can use a lightweight readiness check (instead of /reflect), and updates documentation/port tables accordingly.
Changes:
- Extend
containers/api-proxy/server.js/healthresponse withmodels_fetch_completeand exporthealthResponsefor testing. - Add a new Jest suite validating
models_fetch_completebehavior on/health. - Fix/expand documentation port tables and add readiness polling guidance in
docs/api-proxy-sidecar.md.
Show a summary per file
| File | Description |
|---|---|
| containers/api-proxy/server.js | Adds models_fetch_complete to /health and exports healthResponse for unit tests. |
| containers/api-proxy/server.test.js | Introduces healthResponse tests covering pre/post model fetch and required fields. |
| docs/api-proxy-sidecar.md | Documents the new /health field and adds a readiness polling recipe; updates ports list. |
| CLAUDE.md | Updates api-proxy port tables to include Gemini (10003). |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 4/4 changed files
- Comments generated: 2
| The `/health` endpoint returns a JSON object that includes a `models_fetch_complete` field, indicating whether the startup model-discovery pass has finished: | ||
|
|
||
| ```json | ||
| { | ||
| "status": "healthy", | ||
| "service": "awf-api-proxy", | ||
| "providers": { "openai": true, "anthropic": false, "gemini": false, "copilot": false }, | ||
| "key_validation": { "complete": true, "results": { "openai": "valid" } }, | ||
| "models_fetch_complete": true, | ||
| ... | ||
| } | ||
| ``` |
| await fetchStartupModels({}); | ||
| const result = healthResponse(); | ||
| expect(result.models_fetch_complete).toBe(true); |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@copilot address the review feedback |
…k docs Agent-Logs-Url: https://github.com/github/gh-aw-firewall/sessions/25b45b00-16c8-494f-b84e-c811d44f6870 Co-authored-by: lpcox <15877973+lpcox@users.noreply.github.com>
Both review items addressed in cb7ecef:
|
|
@copilot update the pr description with all info returned by /reflect highlighting what was added |
PR description updated. It now documents the full |
🔥 Smoke Test: Copilot BYOK (Offline) Mode
Running in BYOK offline mode ( Overall: PASS —
|
|
Smoke Test Results
|
This comment has been minimized.
This comment has been minimized.
Chroot Version Comparison Results
Overall: FAILED — Python and Node.js versions differ between host and chroot.
|
Smoke TestTitles: Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "registry.npmjs.org"See Network Configuration for more information.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS
|
🧪 Smoke Test Results
Overall: PASS PR author:
|
The
/healthendpoint was missingmodels_fetch_complete, forcing callers to hit/reflectjust to check model discovery status. Port 10003 (Gemini) was absent from two port tables inAGENTS.md/CLAUDE.md.Changes
containers/api-proxy/server.js— addmodels_fetch_complete: modelFetchCompletetohealthResponse(); exporthealthResponsefor testabilitycontainers/api-proxy/server.test.js— newhealthResponsesuite (3 tests) covering themodels_fetch_completefield lifecycleCLAUDE.md— add missing port 10003 (Gemini) to both port table entriesdocs/api-proxy-sidecar.mdmodels_fetch_completein the/healthresponse with example JSON/healthresponse now includesmodels_fetch_complete{ "status": "healthy", "providers": { "openai": true, "anthropic": false, ... }, "key_validation": { "complete": true, "results": { "openai": "valid" } }, "models_fetch_complete": true, ... }Callers can now poll
/healthas a lightweight readiness gate without parsing the full/reflectpayload.