Skip to content

fix(api): reject ontology removal that strands semantic bindings - #1233

Merged
DecisionNerd merged 2 commits into
mainfrom
fix/1230-bound-ontology-clear
Sep 10, 2026
Merged

fix(api): reject ontology removal that strands semantic bindings#1233
DecisionNerd merged 2 commits into
mainfrom
fix/1230-bound-ontology-clear

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

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.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@coderabbitai

coderabbitai Bot commented Sep 10, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 2b884f31-b01a-479b-9920-12b02466e677

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added core Core source code changes documentation Improvements or additions to documentation labels Sep 10, 2026
@DecisionNerd
DecisionNerd merged commit 4e397d2 into main Sep 10, 2026
23 checks passed
@DecisionNerd
DecisionNerd deleted the fix/1230-bound-ontology-clear branch September 10, 2026 10:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core source code changes documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(api): reject ontology removal that strands semantic bindings

1 participant