feat(contracts): expand CGP schema coverage - #47
Conversation
|
Warning Rate limit exceeded@POWERFULMOVES has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 3 minutes and 10 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
There was a problem hiding this comment.
Codex Review: Here are some suggestions.
Reply with @codex fix comments to fix any unresolved comments.
About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you open a pull request for review, mark a draft as ready, or comment "@codex review". If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex fix this CI failure" or "@codex address that feedback".
| "meta": { | ||
| "type": "object" | ||
| "type": [ | ||
| "object", | ||
| "null" | ||
| ], | ||
| "additionalProperties": true | ||
| }, |
There was a problem hiding this comment.
[P1] Keep CGP meta non-null or relax API model
The schema now allows meta to be null and adds additionalProperties at the root, but the gateway still validates requests with CGP.meta: Dict[str, Any] (see gateway/api/chit.py). Any client using the schema to validate and sending "meta": null will pass schema validation but FastAPI/Pydantic rejects the payload with a 422 because the field is not optional. Either revert the schema to require an object or update the API model to accept None to keep the contract consistent.
Useful? React with 👍 / 👎.
…-register-topic feat(contracts): expand CGP schema coverage
Updated submodule pointers to latest commits on PMOVES.AI-Edition-Hardened: - PMOVES-BoTZ (fb97c0b): CodeRabbit PR #47 review fixes - REQUEST_LATENCY histogram with context manager - POST path normalization helper - Dependency pinning (>= to ==) - Tool-call tracking helper extraction - Prometheus startup logging - PMOVES-DoX (e90010c): Health endpoint standardization - Fixed /healthz path for PMOVES.AI compliance - Added USER directive to frontend Dockerfile - PMOVES-ToKenism-Multi (a3f041e): Submodule update - Updated PMOVES-Firefly-iii integration SHA - PMOVES-Wealth (81b28f0a): Health endpoint addition - Added /healthz endpoint for PMOVES.AI compliance - Pmoves-Health-wger (8fefff17f): Observability endpoints - Added /healthz and /metrics endpoints - PMOVES.AI compliance improvements Also added comprehensive audit documentation and sync script updates. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
Testing
import json
from jsonschema import validate
from pathlib import Path
schema = json.loads(Path('pmoves/contracts/schemas/geometry/cgp.v1.schema.json').read_text())
packet = json.loads('{"type":"geometry.cgp.v1","data":{"spec":"chit.cgp.v0.1","super_nodes":[{"constellations":[{"id":"c.test.1","summary":"beat-aligned hook","spectrum":[0.05,0.1,0.2,0.3,0.2,0.1,0.03,0.02],"points":[{"id":"p.test.1","modality":"video","ref_id":"yt123","t_start":12.5,"frame_idx":300,"proj":0.8,"conf":0.9,"text":"chorus line"}]}]}]}}')
validate(instance=packet['data'], schema=schema)
print('validation ok')
PY
https://chatgpt.com/codex/tasks/task_b_68ce3b127c1483249fee2e282ecda0a9