feat(ops): display last refreshed time in dashboard#163
Conversation
|
@Oyinkans0la12 is attempting to deploy a commit to the karagoz's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
@Oyinkans0la12 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
Thanks for the Ops dashboard timestamp PR. I reviewed this under the karagozemin account and ran the relevant checks. Passing checks:
Still blocked: the feature is not actually rendered in the dashboard. The PR adds The issue acceptance requires operators to see when the displayed ops data was refreshed. Please render the timestamp near the status area using the existing dashboard style, and adjust the test to assert visible output rather than only inspecting mocked hook state. Once the timestamp is visible, I can re-run and merge if green. |
I have resolved the issues and implemented the updates for the Ops dashboard timestamp. Kindly review and merge please. |
|
Thanks for the PR! The build passes locally ✅, but after other PRs landed on |
Conflicts resolved, please review and merge. |
|
Rechecked: after your latest push CI is still red — the CI job is failing. Could you check the CI logs, fix the errors and push again? Once it goes green I will re-review and merge. |
0e42a20 to
b7f7307
Compare
…gozemin#116) * feat: add dependency badges to Ops Dashboard and health payload * style: remove trailing whitespace
…ragozemin#121) Add scripts/verify-audit-export.ts — a standalone CLI that verifies the integrity of an exported Fortexa audit log JSON file without requiring a database, wallet session, or running Next.js server. - Supports plain-array, scope=mine, and scope=all export formats - Reuses verifyHashChain() from src/lib/audit/hash-chain.ts - Exits 0 (valid), 1 (chain invalid), 2 (usage/file error) - Exports extractExportPayload() for direct unit testing Add scripts/verify-audit-export.test.ts with 10 tests covering: - extractExportPayload() shape variants and error cases - valid chain fixtures (plain array, scope=mine, scope=all) - tamper detection: modified field, deleted entry, reordered entries Add scripts/fixtures/ with 6 JSON fixtures (valid and tampered). Add scripts/generate-audit-fixtures.ts to regenerate fixtures. Widen vitest.config.ts include glob to cover scripts/**/*.test.ts. Document usage in docs/observability.md and README.md. Closes karagozemin#97
Adds a compact table to README section 9 listing every Fortexa environment variable with purpose, required/optional status, and safe local default. Surfaces which vars the runtime actually consumes and the documented defaults so new reviewers can set up locally faster. The existing .env.example reference block stays intact. No code changes; no real secrets included.
Introduce stable error codes for every known agent plan failure mode so the API always returns machine-readable codes instead of raw or generic messages. - Add src/lib/ai/plan-errors.ts with PlanError class and PLAN_ERRORS codes: MALFORMED_JSON, SCHEMA_MISMATCH, EMPTY_RESPONSE, UNSAFE_TOOL, UNSAFE_DOMAIN, PROVIDER_UNAVAILABLE - Update src/lib/ai/groq.ts to throw typed PlanError on every failure path; raw model output is never forwarded to callers - Update src/app/api/agent/plan/route.ts to map PlanError codes to stable client messages (HTTP 422) and log detail server-side - Add src/lib/ai/groq.test.ts covering all six failure modes plus the happy path, using vi.stubGlobal to mock fetch without hitting the real Groq API
b7f7307 to
ea15f52
Compare
i've checked the ci failure, it's due to uninstalled dependencies, which is not from my end, please review and merge. |
Closes #136
Summary
Add a client-side "Last refreshed" timestamp to the Ops dashboard status area.
Changes
Why
Showing when the displayed operational data was last refreshed improves confidence during demos and reviews by making it clear how recent the information is, without requiring any backend changes.
Testing
Covered:
Validation:
npm test npm run lint npm run buildScope
This PR is frontend-only. It does not modify health APIs, metrics APIs, backend endpoints, refresh protocols, or runtime application behavior.