fix(api): reject ontology removal that strands semantic bindings - #1233
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Clearing ontology authority after a composition has published semantic bindings currently succeeds but leaves a project that cannot reopen. Refuse that unsupported removal before staging, including empty binding participants, and independently enforce the cross-participant requirement during workspace validation. Eligible unbound clear retains its existing publication and retry behavior.
Public tests cover 33/4,097-node constructed CAS parents before/after qualified child construction, nullable properties, exact CURRENT/participant/facade/file preservation, retained snapshots and reopen/export/full verification/clean import. Four subprocess crash/returned-error cases cover supported clear around CURRENT replacement, retry and subsequent mutation. Refusal has zero changed/new durable files or allocated file bytes; source-bound CPU, read/write I/O, RSS and sampled workspace costs are recorded in the assessment and raw evidence. Existing permanent Parquet policy and lifecycle implementations remain intact.
Validation passed: 736 API unit tests; the bound-clear public fixture and four unbound crash/error cases; three multi-ontology certification tests (including cancellation, forged plans and stale parents); workspace Clippy with warnings denied; fast pre-push; gate-registry validation; formatting and diff checks. Required exact-head CI is the remaining merge gate. Independent source review found no actionable issue.
Closes #1230. Canonical #1221 and epic #1194 remain open for their other criteria.
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.