openvibers/openvibe.work STATUS.json

STATUS.json

main 4.5 KB · 59 lines · json

1{
2 "repository": "OpenVibers/OpenVibe.Work",
3 "stage": "beta",
4 "code": true,
5 "wave": "W20",
6 "plan": "Job listings gathered from open boards with their provenance, search, saved searches with alerts through OpenVibe.Watch, and the agent pillar: tracked applications and help preparing one from the person's OpenVibe.Actor agent. Next: an approval at each step of the agent's help, and more boards.",
7 "runtime": "node 22, express 4, PostgreSQL 18 (openvibe-sdk/db, async) + Valkey 9",
8 "port": "4960",
9 "domain": "openvibe.work",
10 "contracts": "openvibe-contracts v0.419.0",
11 "sdk": "openvibe-sdk v0.161.0",
12 "shared": "openvibe-shared v4.235.0",
13 "packages": [
14 "openvibe-contracts v0.419.0",
15 "openvibe-sdk v0.161.0",
16 "openvibe-shared v4.235.0",
17 "openvibe-publishing v1.7.0"
18 ],
19 "summary": "OpenVibe.Work gathers job listings from five public job boards (Arbeitnow, We Work Remotely, RemoteOK, Hacker News and Remotive) under their terms — four arrive through OpenVibe.Sources, and Remotive is read directly because its robots.txt keeps Sources out — the source is named and the original listing is linked on every page, and only a short excerpt is kept. It searches them with facets, shows one listing with a schema.org JobPosting whose url is the original, and lets a signed-in person keep a search, see what is new since they last looked, get alerts through OpenVibe.Watch, track the jobs they apply to with a status history, and ask their OpenVibe.Actor agent to help prepare an application. Public reads need no token.",
20 "works": [
21 "The ingest: Remotive read directly and Arbeitnow, We Work Remotely, RemoteOK and Hacker News followed from OpenVibe.Sources (WORK_INGEST=on, off in tests and development), with upsert by (source, source_id) and expiry after 30 days unseen",
22 "The listings: provenance kept and shown (source name, link to the original, when it was fetched), a short plain-text excerpt, never the full description",
23 "Search: /jobs?q=&remote=&type=&location= newest first, 30 a page with a cursor, facets for remote and job type",
24 "One listing: /jobs/:id with the board's fields, the excerpt, a 'Read the full listing on <source>' link and a JobPosting JSON-LD whose url is the original",
25 "Saved searches for a signed-in person, each with the count of listings new since they last looked; /saved is where that count is cleared",
26 "The API (/api/v1): jobs, one job, sources with their terms and last fetch, and saved searches",
27 "The pages: home, /jobs, /jobs/:id, /saved, /sources, /docs and /updates — server-rendered, complete without JavaScript",
28 "Discovery: a sitemap carrying the newest listings, llms.txt, robots.txt (saved searches excluded) and JSON-LD",
29 "Per-caller limits on the search and on saved-search writes; problem+json errors with stable codes",
30 "Tests: the ingest, the search, the pages and the saved searches against stand-in boards, on a temp PGlite database with a mock Network",
31 "Account export and deletion (ADR-033): the searches a person saved are exported to OpenVibe.Network on network.account.export_requested and deleted whole on network.account.deleted, with the counts confirmed back; the two Events topics are subscribed at boot (server/identity/account-data.js)"
32 ],
33 "notYet": [
34 "The agent pillar: drafting, tailoring and tracking an application with the person's approval at each step",
35 "Alerts: being told when a listing that fits appears — that comes through OpenVibe.Watch with the agent pillar; today a saved search is a repeatable search plus a count of what is new",
36 "Its service and capability manifests in openvibe-contracts (contracts-service is work): the API is live, but no <work>.jobs.* capability is registered yet, so app and agent tokens cannot call it",
37 "A deployment: the service is not registered with OpenVibe.Services nor deployed by OpenVibe.Host"
38 ],
39 "capabilitiesRegistered": false,
40 "serviceManifestRegistered": true,
41 "deployed": true,
42 "placeholderInSites": false,
43 "features": [
44 "Network sign-in",
45 "job listings with provenance",
46 "search and facets",
47 "saved searches",
48 "sources and their terms",
49 "api",
50 "server-rendered pages",
51 "discovery files",
52 "limits and readiness",
53 "background ingest",
54 "deploy files"
55 ],
56 "deployment": "openvibe-ovh: unit openvibe-work.service on 127.0.0.1:4960 (git checkout /opt/openvibe.work, env /etc/openvibe/work.env, database ov_work), deployed with `sudo ovhost deploy work`; public at https://openvibe.work since 2026-10-08.",
57 "updated": "2026-11-13"
58}
59