openvibers/openvibe.search Commits

Docs: STATUS.json and README match production (2026-09-23)

OP OpenVibers committed 23 Sept 2026 · cd8e1ead67 · 2 files, +26 −16


Changes

ddiff --git a/README.md b/README.md
iindex 524ab8e..2af1e2d 100644
---- a/README.md
++++ b/README.md
@@@ -3,8 +3,11 @@
> Permission-aware discovery for the network: the canonical index document, event-fed indexing,
> an ACL-filtered query API, and deletion/visibility propagation.
--**Status:** alpha (roadmap Wave 14). Runs and is tested; not deployed, and no product indexes into it yet.
--**Domain:** `search.openvibe.network` (still a placeholder on OpenVibe.Sites until the launch rule below holds)
++**Status:** alpha (roadmap Wave 14). Deployed internally, not launched: it runs on the production host
++(127.0.0.1:4710 only, since 2026-09-23) and is fed through Events, but the index holds only 10 wiki
++tombstones and 0 public documents.
++**Domain:** `search.openvibe.network` (no vhost installed yet: the name currently falls through to the
++admin.openvibe.network placeholder; it goes public only when the launch rule below holds)
**Plan:** OpenVibe End-to-End Realignment & Implementation Plan, revision 3 — roadmap §4.2 A, §15.12, §29, §32.3.
**License:** AGPL-3.0.
@@@ -100,7 +103,7 @@ outbox relayed to Events when `EVENTS_URL` is set.
## Owns
--- the index document contract (proposed as `search.index-document@1`, [docs/contracts-proposal/](docs/contracts-proposal/))
++- the index document contract (`search.index-document@1`, released in openvibe-contracts v0.12.0; proposal in [docs/contracts-proposal/](docs/contracts-proposal/))
- `documents`, `doc_acl`, `doc_facets`, `fts_public`, `fts_restricted`, `idempotency_receipts`,
`ingest_rejections`, `event_outbox` (SQLite; engine decision in [docs/adr-engine.md](docs/adr-engine.md))
- the query API and its ACL filtering; deletion and visibility-change propagation
@@@ -117,16 +120,16 @@ outbox relayed to Events when `EVENTS_URL` is set.
- OpenVibe.Network (signing key; service principal `search`)
- OpenVibe.Events (index-document deliveries in, `search.document.*` out)
--## Capabilities (proposed, [docs/capabilities-proposal/](docs/capabilities-proposal/))
++## Capabilities (released in openvibe-contracts v0.12.0; proposal in [docs/capabilities-proposal/](docs/capabilities-proposal/))
| Capability | Routes |
|---|---|
| `search.document.write` | `PUT/DELETE /api/v1/documents/:owner/:type/:id`, `/api/v1/owners/:owner/...` (own owner only) |
| `search.query.delegate` | the query routes, acting for `X-OV-Subject` |
--Not in `openvibe-contracts` v0.7.0 yet; [server/auth.js](server/auth.js) decides them with the
--contracts grant rule until a release defines them. CI's `openvibe-contracts-check` step is
--commented out until the service manifest ([docs/service-manifest-proposal.json](docs/service-manifest-proposal.json)) ships.
++Released in `openvibe-contracts` v0.12.0 with the service manifest (this repo pins v0.13.0);
++[server/auth.js](server/auth.js) decides them with the contracts grant rule, and CI runs
++`openvibe-contracts-check --service search`.
## Acceptance (tests)
@@@ -140,8 +143,14 @@ commented out until the service manifest ([docs/service-manifest-proposal.json](
- outbox relay to Events, retry and poison isolation (`test/outbox.test.js`)
- proposals valid against the contracts schemas (`test/proposals.test.js`)
--Not yet demonstrated: an end-to-end run with a real product publishing through a deployed Events
--(no product exists yet; OpenVibe.Sources' `sources/item` documents are the first producer).
++Not yet demonstrated: a document with content indexed end to end in production. The Events
++subscription delivered 20 wiki events; the 10 upserts were rejected (`owner_not_accepted`, since
++fixed) and only the 10 tombstones landed. Wiki pages enter the index once a person reviews them;
++Sources has every seed disabled. Nobody consumes `search.document.removed` yet (no cache, sitemap
++or CDN purge).
++
++Restore drill: `ovhost drill search` passed on the production host on 2026-09-23 (integrity check,
++readiness, identical query answers, row counts; see OpenVibe.Host `docs/restore-drills.md`).
## Launch rule
ddiff --git a/STATUS.json b/STATUS.json
iindex 68dbd93..31f8c14 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -6,13 +6,14 @@
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)",
"runtime": "node 22, express, better-sqlite3 (FTS5)",
"port": 4710,
-- "domain": "search.openvibe.network",
-- "contracts": "openvibe-contracts v0.7.0",
++ "domain": "search.openvibe.network (no vhost installed: the name falls through to the admin.openvibe.network placeholder; the service is reachable on the host only)",
++ "contracts": "openvibe-contracts v0.13.0",
"capabilities": ["search.document.write", "search.query.delegate"],
-- "capabilitiesRegistered": false,
-- "contractsProposed": ["search.index-document@1"],
++ "capabilitiesRegistered": true,
++ "contractsProposed": ["search.index-document@1 (released in openvibe-contracts v0.12.0)"],
"engine": "sqlite-fts5 (docs/adr-engine.md)",
-- "deployed": false,
-- "indexedProducers": [],
-- "updated": "2026-09-22"
++ "deployed": true,
++ "deployment": "Deployed internally, not launched: /opt/openvibe.search at 5a7e59b, unit openvibe-search, 127.0.0.1:4710 only, principal search, Events subscription *.index_document.*, accepted event owners sources, wiki, blog, news, reviews, trade, deals, coupons. Production index: 10 documents, all tombstones (wiki), 0 public. Restore drill passed 2026-09-23.",
++ "indexedProducers": ["wiki (tombstones only so far)"],
++ "updated": "2026-09-23"
}