etalon
|
c69c028028
|
feat: seed script, forgot-password, hover cards, shortcuts, OpenAPI docs, runbook (phase 12)
- scripts/seed.go: idempotent demo data per §11.11 (make seed)
- forgot/reset password: SMTP-gated, one-shot TTL tokens, uniform responses
against enumeration, sessions revoked on reset; login page link + pages
- profile hover cards on [data-user-card] elements (§11.13)
- keyboard shortcuts: g b/m/t/h navigation, / focuses search (§10)
- bulk archive endpoint (§11.9)
- hand-written OpenAPI 3.1 covering §6, served at /api/docs + yaml download
- make backup / make restore (mongodump archive via the mongo container)
- README: quick start, demo data, runbook, breaker/job operations, working
Caddy + nginx reverse-proxy samples (WS block, client_max_body_size),
documented later-stubs (§11.24)
- smoke.sh now exercises register → logout → login → me → board → pages
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 20:39:38 +02:00 |
|
etalon
|
f87b954f27
|
feat: atomization pipeline with job queue, atomizer client, WS hub, and board UI (phase 7)
- internal/extsvc: circuit breaker (§11.16) + retrying bearer JSON client
- atomizer client: §5.1 contract incl. defensive coefficient normalization
and extension coefficient range (0,2]
- persisted jobs collection: atomic claim, panic recovery, exponential
backoff (max 3), stale-running requeue, shutdown-safe bookkeeping
- subdivide (async 202, atomizing status, re-run replaces unpublished
children after confirm) and extend (sibling task, source budget)
- failure path reverts status and notifies the consultant on final attempt
- PATCH task editing with bounty recompute, budget cascade to descendants
- publish single + bulk; task detail endpoint role-scoped
- coder/websocket hub: multiplexed channels, origin check, 30s heartbeats;
client ws.js with reconnect + 15s polling fallback
- consultant atomization board: tree by root, coefficient sliders with live
per-parent sum indicator, bounty preview, modals, shimmer, atomizer-down
gating via /api/v1/service-health
- fix: tasks external-ref unique index is partial, not sparse (compound
sparse indexed every task through customerId and broke child inserts)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-12 19:17:09 +02:00 |
|