docs: Validated and recorded the live API/auth preflight gate, includin…
- ".gsd/milestones/M001/slices/S06/tasks/T01-SUMMARY.md" - "scripts/s06-preflight.sh" - "scripts/s06-preflight.test.sh" - "README.md" GSD-Task: S06/T01
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
**Demo:** After this: The real M001 environment runs without the current backend/frontend CORS/runtime blockage, and the full `/jobs` → workspace → Gmail continuity → follow-up → dashboard/reminders loop is re-checked live with recorded acceptance results.
|
||||
|
||||
## Tasks
|
||||
- [ ] **T01: Add preflight gate for live API/auth readiness** — Build a repeatable preflight script and doc so environment blockers are caught before browser UAT.
|
||||
- [x] **T01: Validated and recorded the live API/auth preflight gate, including README runbook guidance and negative-path shell coverage.** — Build a repeatable preflight script and doc so environment blockers are caught before browser UAT.
|
||||
- Why: avoid the ERR_CONNECTION_REFUSED/CORS/auth mismatch that currently blocks the UI.
|
||||
- Steps:
|
||||
1) Create `scripts/s06-preflight.sh` (bash, executable) that assumes backend already started; probes `/api/auth/config` and `/api/admin/system` on `http://localhost:5202/api`, printing database/auth/gmailConfigured/ai status and failing fast on unreachable endpoints.
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
id: T01
|
||||
parent: S06
|
||||
milestone: M001
|
||||
provides: []
|
||||
requires: []
|
||||
affects: []
|
||||
key_files: [".gsd/milestones/M001/slices/S06/tasks/T01-SUMMARY.md", "scripts/s06-preflight.sh", "scripts/s06-preflight.test.sh", "README.md"]
|
||||
key_decisions: ["Keep the preflight safe for shared terminals by never echoing bearer tokens and by treating admin-system auth failures as guided partial success with explicit token instructions."]
|
||||
patterns_established: []
|
||||
drill_down_paths: []
|
||||
observability_surfaces: []
|
||||
duration: ""
|
||||
verification_result: "Started the API with dotnet run --project JobTrackerApi/JobTrackerApi.csproj, then ran bash scripts/s06-preflight.sh against the live local API and confirmed the expected partial-pass behavior when /api/admin/system requires admin auth. Ran bash scripts/s06-preflight.test.sh to verify API-down, wrong API_BASE, and malformed JSON negative paths. Also checked README.md content for backend start, preflight command, origin pairing, and AUTH_TOKEN guidance."
|
||||
completed_at: 2026-03-27T07:57:14.981Z
|
||||
blocker_discovered: false
|
||||
---
|
||||
|
||||
# T01: Validated and recorded the live API/auth preflight gate, including README runbook guidance and negative-path shell coverage.
|
||||
|
||||
> Validated and recorded the live API/auth preflight gate, including README runbook guidance and negative-path shell coverage.
|
||||
|
||||
## What Happened
|
||||
---
|
||||
id: T01
|
||||
parent: S06
|
||||
milestone: M001
|
||||
key_files:
|
||||
- .gsd/milestones/M001/slices/S06/tasks/T01-SUMMARY.md
|
||||
- scripts/s06-preflight.sh
|
||||
- scripts/s06-preflight.test.sh
|
||||
- README.md
|
||||
key_decisions:
|
||||
- Keep the preflight safe for shared terminals by never echoing bearer tokens and by treating admin-system auth failures as guided partial success with explicit token instructions.
|
||||
duration: ""
|
||||
verification_result: passed
|
||||
completed_at: 2026-03-27T07:57:14.982Z
|
||||
blocker_discovered: false
|
||||
---
|
||||
|
||||
# T01: Validated and recorded the live API/auth preflight gate, including README runbook guidance and negative-path shell coverage.
|
||||
|
||||
**Validated and recorded the live API/auth preflight gate, including README runbook guidance and negative-path shell coverage.**
|
||||
|
||||
## What Happened
|
||||
|
||||
Verified that this worktree already contained the planned preflight implementation. The existing scripts/s06-preflight.sh probes /api/auth/config and /api/admin/system, honors API_BASE, prints auth/db/gmailConfigured/ai status surfaces, avoids leaking secrets, and gives readable failure guidance for unreachable API, malformed JSON, and admin-token-required responses. README.md already documented the backend start command, preflight invocation, AUTH_TOKEN note, and the required localhost UI/API origin pairing. This auto-fix attempt primarily addressed the missing task artifact on disk by writing T01-SUMMARY.md after re-running the real verification commands.
|
||||
|
||||
## Verification
|
||||
|
||||
Started the API with dotnet run --project JobTrackerApi/JobTrackerApi.csproj, then ran bash scripts/s06-preflight.sh against the live local API and confirmed the expected partial-pass behavior when /api/admin/system requires admin auth. Ran bash scripts/s06-preflight.test.sh to verify API-down, wrong API_BASE, and malformed JSON negative paths. Also checked README.md content for backend start, preflight command, origin pairing, and AUTH_TOKEN guidance.
|
||||
|
||||
## Verification Evidence
|
||||
|
||||
| # | Command | Exit Code | Verdict | Duration |
|
||||
|---|---------|-----------|---------|----------|
|
||||
| 1 | `bash scripts/s06-preflight.sh` | 0 | ✅ pass | 123ms |
|
||||
| 2 | `bash scripts/s06-preflight.test.sh` | 0 | ✅ pass | 1251ms |
|
||||
| 3 | `python3 README content check for backend start, preflight command, origin pair, and token note` | 0 | ✅ pass | 0ms |
|
||||
|
||||
|
||||
## Deviations
|
||||
|
||||
None. The implementation already matched the task plan in this worktree; this attempt restored the missing summary artifact and completion metadata.
|
||||
|
||||
## Known Issues
|
||||
|
||||
The local database in this environment currently has no seeded admin user, so the placeholder development credentials do not yield an admin bearer token here. Full /api/admin/system detail verification therefore still depends on valid admin credentials in the target environment, but the preflight script handles this by surfacing clear AUTH_TOKEN guidance and readiness placeholders.
|
||||
|
||||
## Files Created/Modified
|
||||
|
||||
- `.gsd/milestones/M001/slices/S06/tasks/T01-SUMMARY.md`
|
||||
- `scripts/s06-preflight.sh`
|
||||
- `scripts/s06-preflight.test.sh`
|
||||
- `README.md`
|
||||
|
||||
|
||||
## Deviations
|
||||
None. The implementation already matched the task plan in this worktree; this attempt restored the missing summary artifact and completion metadata.
|
||||
|
||||
## Known Issues
|
||||
The local database in this environment currently has no seeded admin user, so the placeholder development credentials do not yield an admin bearer token here. Full /api/admin/system detail verification therefore still depends on valid admin credentials in the target environment, but the preflight script handles this by surfacing clear AUTH_TOKEN guidance and readiness placeholders.
|
||||
Reference in New Issue
Block a user