docs: sync remaining .md to 4000s infra
This commit is contained in:
@@ -532,3 +532,7 @@ Verified:
|
||||
- ML service health: <actual result if run>
|
||||
- classifyImage against running ML service: <actual result if run>
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -631,3 +631,7 @@ Open `/dashboard`. Confirm the image classification form renders. If no database
|
||||
- Spec coverage: backend TFJS inference, uploader integration, DB persistence, API routes, shared types, frontend upload/result/history, and verification are covered.
|
||||
- Placeholder scan: no TBD/TODO/fill-later placeholders remain; every file and route has explicit behavior.
|
||||
- Type consistency: `ImageClassificationRecord`, `PredictionProbability`, and `UploaderMetadata` are defined once in shared and used consistently across API and web.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -289,6 +289,8 @@ git commit -m "feat: add ML service Docker image"
|
||||
|
||||
## Task 5: Add production Docker Compose
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
**Files:**
|
||||
- Create: `docker-compose.yml`
|
||||
|
||||
|
||||
@@ -802,3 +802,7 @@ If no fixes were required, do not create an empty commit.
|
||||
- Spec coverage: shared contract, backend schema/routes, frontend pages/manual flow, error states, and verification are all covered.
|
||||
- Placeholder scan: no TBD/TODO/fill-later placeholders are present. Task 4 uses explicit behavior requirements for page files because page markup is lengthy, but all required states and wiring are specified.
|
||||
- Type consistency: shared names (`DiseaseSlug`, `DiseaseCatalogItem`, `ManualClassificationRequest`, `ManualClassificationRecord`, `DashboardSummary`) are consistent across tasks.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -1323,3 +1323,7 @@ git commit -m "Document fullstack app commands"
|
||||
- Placeholder scan: no TBD/TODO placeholders are present; deferred features are explicitly listed in the design and not implemented.
|
||||
- Type consistency: `AppStatus`, `createAppStatus`, route paths, package names, and project paths are consistent across tasks.
|
||||
- Known execution note: Task 4 requires adding `@radix-ui/react-slot` because the shadcn-style `Button` uses `Slot` for `asChild` support.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -197,3 +197,7 @@ Do not claim completion unless the final verification command passed.
|
||||
- Spec coverage: The plan updates only JS/TS manifests, regenerates `bun.lock`, allows minimal compatibility refactors, and verifies with `bun run typecheck` and `bun run build`.
|
||||
- Placeholder scan: No TODO/TBD placeholders remain.
|
||||
- Scope check: Python/ML dependencies are explicitly out of scope and verified unchanged.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -581,3 +581,7 @@ Verified:
|
||||
```
|
||||
|
||||
Expected: final response only claims checks that were actually run.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -2490,3 +2490,7 @@ Spec coverage:
|
||||
Red-flag scan: no unresolved planning markers are intentionally present. The only implementation choice left to workers is resolving compile errors revealed by real typecheck output, which must be fixed directly before completing each task.
|
||||
|
||||
Type consistency: shared DTO names are introduced first and reused by backend/frontend tasks. Diagnosis status strings match the design spec.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -220,6 +220,8 @@ curl -X POST http://localhost:8001/predict -F "file=@/path/to/corn-leaf.jpg"
|
||||
|
||||
## Docker Deployment
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
File `docker-compose.yml` di root menyiapkan tiga service produksi:
|
||||
|
||||
- `web` untuk frontend
|
||||
|
||||
@@ -1474,6 +1474,8 @@ git commit -m "test: add ONNX parity validation script"
|
||||
|
||||
## Task 10: Update Docker image for Rust ML service
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
**Files:**
|
||||
- Modify: `apps/ml-service/Dockerfile`
|
||||
|
||||
|
||||
@@ -99,3 +99,7 @@ Required verification after implementation:
|
||||
- Exercise `classifyImage(file)` against the running ML service with a local image file or synthetic image and confirm it returns `predictedDiseaseSlug`, `confidence`, and sorted probabilities.
|
||||
|
||||
If full API route testing is blocked by external database or upload service requirements, report that explicitly and include the lower-level verification evidence.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -88,3 +88,7 @@ The implementation should pass:
|
||||
- `bun run build`
|
||||
|
||||
Manual verification should launch API and web locally, open the dashboard, select an image, submit it, and verify that uploader/model/database success or structured error states render without crashing.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -48,6 +48,8 @@ Each image will also receive a SHA tag for traceability.
|
||||
|
||||
## Compose deployment
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
The VPS will run `docker compose` from `/opt/ZeaVis-Edu`.
|
||||
|
||||
The compose file will define:
|
||||
|
||||
@@ -68,3 +68,7 @@ The implementation should pass:
|
||||
- `bun run build`
|
||||
|
||||
Because this includes frontend behavior, the app should also be launched locally and the main pages/manual flow should be checked in a browser if the environment allows it.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -74,3 +74,7 @@ No test framework is added in this scaffold. Tests should be introduced with the
|
||||
- Real dashboard data.
|
||||
- Database migrations for domain entities.
|
||||
- Deployment configuration.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -33,3 +33,7 @@ If either command fails due to dependency updates, fix the underlying compatibil
|
||||
- ML pipeline changes
|
||||
- UI redesigns or feature additions
|
||||
- Database schema changes unless a dependency update requires a generated type/config compatibility fix
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -82,3 +82,7 @@ Manual verification for the initial implementation:
|
||||
- Call `POST /predict` with a real image file when an example corn leaf image is available.
|
||||
|
||||
The repository does not currently have a Python test suite for this new service. Automated tests can be added later if the service grows beyond the initial capstone scope.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -283,3 +283,7 @@ Manual error path:
|
||||
2. Call a diagnosis endpoint while logged out and confirm unauthorized response.
|
||||
3. Access expert review as a non-expert and confirm forbidden response.
|
||||
4. Temporarily omit Google OAuth env and confirm Google login is hidden.
|
||||
|
||||
---
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
@@ -143,6 +143,8 @@ The repository has no existing global test suite, so the Rust service checks bec
|
||||
|
||||
## Documentation and deployment updates
|
||||
|
||||
> Catatan (2026-08-02): port produksi sekarang API 4006, nginx 4011, ML 4012; deploy Nix+systemd+Caddy.
|
||||
|
||||
Update documentation so runtime serving no longer describes FastAPI/TensorFlow as the production ML service. Keep Python/TensorFlow documentation for training and export.
|
||||
|
||||
Update:
|
||||
|
||||
Reference in New Issue
Block a user