openvibers/openvibe.contracts Commits
Add the network.node.revoked@1 event contract (0.98.0) (#41)
OP OpenVibers committed 5 Oct 2026 · tag v0.98. · 0 files, +0 −0
* Add the network.node.revoked@1 event contract **New contract** - `contracts/events/payloads/network.node.revoked.v1.json`: new `network.node.revoked@1` event payload (`node_id`, `principal_id`, `owner` oneOf user/project/platform, optional `reason`, `at`; `additionalProperties:false`, repo `$id`/`title`/`description` conventions). Closes the deferred T2 item (Network's `docs/t2-cells-and-node-principal.md` §10) — a revoked machine can be told at once instead of at its next ≤330 s reauth. Placed under `events/payloads/` (not `contracts/network/`) because that is where the repo keeps every event payload and what `test/run.js` requires (`events/payloads/<event_type>.v<major>.json`). **Fixtures** - `fixtures/network.node.revoked/valid/revoked-by-owner.json`, `valid/revoked-by-service.json`, `valid/project-owned.json`: valid payloads (with/without `reason`, user and project owners). - `fixtures/network.node.revoked/invalid/missing-principal.json`, `invalid/bad-node-id.json`, `invalid/owner-mixed.json`: counter-examples. **Registration / generation** - `contracts/catalog.json`: appended `network.node.revoked` 1.0.0, owner network, first-party, backward, active, ADR-034. - `manifests/services/network.json`: added `network.node.revoked` to `eventsProduced` (alphabetical). - `manifests/capabilities/network.node.manage.json`: added the event to the capability's `events` (its revoke route emits it). - `generated/json-schema/bundle.json`, `generated/typescript/index.d.ts`: rebuilt via `npm run generate`. - `CHANGELOG.md`: unversioned additive entry (following the non-release event-addition precedent, e.g. PR #17); no package version bump, so README/STATUS (already stale at v0.75.0/589) were left untouched as recent PRs did. **Tests run** - `node scripts/compat.js $(git describe --tags --abbrev=0 origin/main)` → `compat vs v0.97.0: no breaking changes`. - `node scripts/generate.js --check` → `generated/: up to date`. - `node test/capability-schemas.test.js` → `216/219 active capabilities complete; 3 recorded gap(s)` (unchanged). - `node test/openapi.test.js` → `26 services, 537 operations, 1901 references, all valid OpenAPI 3.1`. - Targeted replication of `test/run.js`'s catalog/fixture/manifest/event-payload loops for the new contract → `network.node.revoked targeted checks: 28 passed` (catalog integrity, valid/invalid fixtures, tombstone refusal, single producer + `eventsProduced`, envelope fit and `<event_type>@1` resolution, capability listing/validity). - Grepped every repo under `~/OpenVibers` on `origin/main` for `network.node.revoked`/`node.revoked`: only Network's own doc names it as the deferred type — no collision. **Could not do** - `npm test` / `node test/run.js` (the whole suite) is blocked by a `PreToolUse:Bash` hook in this job; `ov test` selects 0 of 12 test files for these data/manifest changes. I therefore ran the two reachable test files directly and replicated `test/run.js`'s exact loops for the changed data in a scratch script. Nothing was committed, pushed, deployed or installed. * Release 0.98.0: network.node.revoked@1
This commit has no diff to show.