ontave 0.1.0-alpha.5 → 0.1.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,16 +21,16 @@ A data layer that adapts as your business changes.
21
21
 
22
22
  Ontave is an Apache 2.0 TypeScript framework for applications that need to adopt unfamiliar information while preserving evidence and existing query contracts. Strict review is the default; alpha.5 adds bounded automatic adoption selected by the host application.
23
23
 
24
- **Developer preview `0.1.0-alpha.5`.** This alpha is intended for developer evaluation. Full MVP qualification remains open, including independent label review, live identity/discovery/publication checks and experimental-provider resource profiling. See the [packaged release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/RELEASE_STATUS.json) and [implementation status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/IMPLEMENTATION_STATUS.md).
24
+ **Developer preview `0.1.0-alpha.6`.** This alpha is intended for developer evaluation. Full MVP qualification remains open, including independent label review, live identity/discovery/publication checks and experimental-provider resource profiling. See the [packaged release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/RELEASE_STATUS.json) and [implementation status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/IMPLEMENTATION_STATUS.md).
25
25
 
26
26
  ## Try Ontave
27
27
 
28
- [Browser sandbox](https://ontave.daltn.tech/playground/) · [Quickstart](https://ontave.daltn.tech/docs/quickstart/) · [API reference](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/API_REFERENCE.md)
28
+ [Browser sandbox](https://ontave.daltn.tech/playground/) · [Quickstart](https://ontave.daltn.tech/docs/quickstart/) · [API reference](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/API_REFERENCE.md)
29
29
 
30
30
  With **Node.js 24** on macOS or Linux:
31
31
 
32
32
  ```sh
33
- npx --yes ontave@0.1.0-alpha.5 playground --install
33
+ npx --yes ontave@0.1.0-alpha.6 playground --install
34
34
  ```
35
35
 
36
36
  Open the localhost URL printed in the terminal. The explicit command prepares a temporary PostgreSQL database and restricted role. `--install` downloads optional platform tooling into a temporary directory if needed. No Docker or model key is required. Ctrl+C stops the playground and removes the temporary database.
@@ -44,18 +44,24 @@ npm install ontave
44
44
  npx ontave help
45
45
  ```
46
46
 
47
- The package is ESM for trusted Node.js 24 servers with a dedicated PostgreSQL 18 database. Qualification uses Node.js 24.22.0, PostgreSQL 18.4 and TypeScript 7.0.2. Browser and edge runtimes are unsupported. The default npm installation selects the current alpha preview. Core imports perform no setup or provider calls. Follow the [package quickstart](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/QUICKSTART.md) for your own data, model and authorization.
47
+ The package is ESM for trusted Node.js 24 servers with a dedicated PostgreSQL 18 database. Qualification uses Node.js 24.22.0, PostgreSQL 18.4 and TypeScript 7.0.2. Browser and edge runtimes are unsupported. The default npm installation selects the current alpha preview. Core imports perform no setup or provider calls. Follow the [package quickstart](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/QUICKSTART.md) for your own data, model and authorization.
48
48
 
49
49
  Build from source:
50
50
 
51
51
  ```sh
52
- git clone --branch v0.1.0-alpha.5 https://github.com/smileplis/ontave.git
52
+ git clone --branch v0.1.0-alpha.6 https://github.com/smileplis/ontave.git
53
53
  cd ontave
54
54
  npm ci
55
55
  npm run playground
56
56
  ```
57
57
 
58
- ## New in alpha.5
58
+ ## Policy safety fix in alpha.6
59
+
60
+ Upgrade with `npm install ontave@latest`. Automatic acceptance now treats existing records as read-only references. A changed quotation currency, supplier, price, quantity, missing field, identifier or existing relationship stays pending for explicit review. Matching references do not add assertions or increment entity revisions. Checks and writes share one transaction with revision checks and row locks; a rejected bundle commits no partial facts.
61
+
62
+ New delivery commitments can still be accepted automatically under the configured additive policy. Earlier alpha.5 decisions remain in the audit history; upgrading does not silently repair already accepted conflicts. See [policy safety and upgrade guidance](docs/POLICY_SAFETY.md).
63
+
64
+ ## Added in alpha.5
59
65
 
60
66
  Persistent local setup and a ready review Studio:
61
67
 
@@ -85,7 +91,7 @@ const receipt = await ontave.ingest(context, {
85
91
  });
86
92
  ```
87
93
 
88
- `ontave` above is a configured server runtime. The receipt preserves evidence and a job; processing and review are separate operations. [Walk through the complete setup](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/QUICKSTART.md).
94
+ `ontave` above is a configured server runtime. The receipt preserves evidence and a job; processing and review are separate operations. [Walk through the complete setup](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/QUICKSTART.md).
89
95
 
90
96
  ## Your infrastructure, explicit boundaries
91
97
 
@@ -125,9 +131,9 @@ npm run dev --prefix website
125
131
 
126
132
  **Alpha.5** adds a [runnable supplier-quotation comparison](examples/supplier-quotes/README.md) against standalone LLM + PostgreSQL. The [benchmark report](docs/SUPPLIER_QUOTATION_BENCHMARK.md) includes shared live predictions, failure history, accepted-data coverage and an exploratory timed review. It makes no framework extraction-uplift or human time-saving claim. Optional models on non-inference services and `reviews.forJob` are available in alpha.5.
127
133
 
128
- The local deterministic benefit harness avoided 400 repeated extraction calls across 500 deliveries of 100 distinct inputs. Another 1,000 structured reads used no model calls. These are operation counts, not human time-saving or live accuracy claims. See [user benefits](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/USER_BENEFITS.md) and the [quality report](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/QUALITY_REPORT.md).
134
+ The local deterministic benefit harness avoided 400 repeated extraction calls across 500 deliveries of 100 distinct inputs. Another 1,000 structured reads used no model calls. These are operation counts, not human time-saving or live accuracy claims. See [user benefits](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/USER_BENEFITS.md) and the [quality report](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/QUALITY_REPORT.md).
129
135
 
130
- Alpha.5 uses a developer-preview release profile with implementation, recovery, consumer, security and exact-revision CI checks, plus a disclosure of every open quality gate. This is separate from full MVP qualification, which requires independent semantic review. See the [versioned release workflow](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/README.md#measured-benefits-and-release-qualification) for the commands and evidence policy belonging to that release.
136
+ Alpha.6 uses a developer-preview release profile with implementation, recovery, consumer, security and exact-revision CI checks, plus a disclosure of every open quality gate. This is separate from full MVP qualification, which requires independent semantic review. See the [versioned release workflow](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/README.md#measured-benefits-and-release-qualification) for the commands and evidence policy belonging to that release.
131
137
 
132
138
  ## Ideas to build on
133
139
 
@@ -139,7 +145,7 @@ Follow the [RSS feed](https://ontave.daltn.tech/feed.xml), use the [JSON feed](h
139
145
 
140
146
  ## References
141
147
 
142
- [Operator runbook](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/OPERATOR_RUNBOOK.md) · [Build report](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/BUILD_REPORT.md) · [Annotation rubric](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/ANNOTATION_RUBRIC.md) · [Architectural source reference](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/SOURCE_REFERENCE.md)
148
+ [Operator runbook](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/OPERATOR_RUNBOOK.md) · [Build report](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/BUILD_REPORT.md) · [Annotation rubric](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/ANNOTATION_RUBRIC.md) · [Architectural source reference](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/SOURCE_REFERENCE.md)
143
149
 
144
150
  Copyright 2026 Ontave contributors. See [Apache 2.0](LICENSE) and [NOTICE](NOTICE). Cover artwork: *Noon, Rest from Work* by Vincent van Gogh. The vector wordmark and painting follow the website’s visual identity.
145
151
 
package/dist/policy.d.ts CHANGED
@@ -9,6 +9,7 @@ export interface AutomationPolicy {
9
9
  maxNewRelations: number;
10
10
  fieldTypes: FieldDefinition["type"][];
11
11
  relationshipTargets: string[];
12
+ /** Allows creating base-model entities; existing records remain reference-only. */
12
13
  allowNewExistingEntities?: boolean;
13
14
  }
14
15
  export declare function additivePolicy(options: {
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,gBAAgB,CAYnB;AACD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,gBAAgB,GACpB,QAAQ,CAAC,gBAAgB,CAAC,CAoF5B;AACD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAyDhC,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,MAAM;IAON,yBAAyB;EAE5B"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE9D,oFAAoF;AACpF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;IACtC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,mFAAmF;IACnF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AACD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,gBAAgB,CAYnB;AACD,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,gBAAgB,GACpB,QAAQ,CAAC,gBAAgB,CAAC,CAoF5B;AACD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC;IAyDhC,IAAI;IACJ,QAAQ;IACR,UAAU;IACV,MAAM;IAON,yBAAyB;EAE5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
package/dist/runtime.d.ts CHANGED
@@ -102,6 +102,11 @@ export declare class Ontave {
102
102
  };
103
103
  private fence;
104
104
  private bundle;
105
+ /** Policy validation and canonical writes share the same transaction and entity locks. */
106
+ private acceptBundle;
107
+ private checkPolicyAcceptance;
108
+ /** Existing records are references, never implicit permission to add or alter accepted assertions. */
109
+ private checkPolicyReference;
105
110
  readonly reviews: {
106
111
  /** Automated acceptance remains a reported claim; policy grants no verification. */
107
112
  acceptByPolicy: (context: unknown, input: {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -598,42 +598,192 @@ export class Ontave {
598
598
  check(r.rows[0], "NOT_FOUND", "Bundle not found");
599
599
  return r.rows[0];
600
600
  }
601
+ /** Policy validation and canonical writes share the same transaction and entity locks. */
602
+ async acceptBundle(context, input, policy) {
603
+ const a = await this.access(context, "review");
604
+ return this.config.storage.transaction(a.workspaceId, async (c) => {
605
+ const digest = hash(input), old = await this.decision(c, a, "accept", input.requestKey, digest);
606
+ if (old)
607
+ return old;
608
+ const b = await this.bundle(c, input.bundleId, true);
609
+ check(b.hash === input.digest &&
610
+ b.current_bundle === b.id &&
611
+ b.state === "waiting_review", "STALE_BUNDLE", "Only the exact current review-ready bundle can be accepted");
612
+ const body = b.body;
613
+ check(body.pending.length === 0 && body.extraction.observations.length === 0, "UNRESOLVED_IDENTITY", "Bundle dependencies remain");
614
+ const active = await this.active(c);
615
+ const previous = await c.query("SELECT definition FROM ontave.versions WHERE id=$1", [b.ontology_id]);
616
+ check(compatible(previous.rows[0].definition, active.definition), "STALE_ONTOLOGY", "Bundle requires renewed interpretation");
617
+ const evidence = await c.query("SELECT * FROM ontave.evidence WHERE id=$1", [b.evidence_id]);
618
+ validateExtraction(body.extraction, evidence.rows[0].payload, active.definition, evidence.rows[0].kind === "json" ? "json" : "text");
619
+ if (policy)
620
+ this.checkPolicyAcceptance(body, evidence.rows[0].source, policy);
621
+ const published = [], changed = [];
622
+ for (const m of body.extraction.entities) {
623
+ const r = body.resolutions[m.mentionId];
624
+ check(r, "UNRESOLVED_IDENTITY", "Missing identity decision");
625
+ const current = await c.query("SELECT * FROM ontave.entities WHERE id=$1 FOR UPDATE", [r.entityId]);
626
+ if (r.mode === "new") {
627
+ check(!current.rows.length, "STALE_BUNDLE", "Proposed identity already exists");
628
+ const concept = active.definition.concepts.find((x) => x.id === m.conceptId);
629
+ for (const f of concept.fields)
630
+ check(f.optional || Object.hasOwn(m.fields, f.id), "VALIDATION_FAILED", "Required field missing");
631
+ await c.query("INSERT INTO ontave.entities(workspace_id,id,concept_id,name) VALUES($1,$2,$3,$4)", [a.workspaceId, r.entityId, m.conceptId, m.name]);
632
+ }
633
+ else {
634
+ check(current.rows[0]?.revision === r.revision &&
635
+ current.rows[0]?.concept_id === m.conceptId, "STALE_BUNDLE", "Entity changed since review");
636
+ if (policy) {
637
+ await this.checkPolicyReference(c, m, r.entityId, active.definition);
638
+ published.push(r.entityId);
639
+ continue;
640
+ }
641
+ await c.query("UPDATE ontave.entities SET revision=revision+1 WHERE id=$1", [r.entityId]);
642
+ }
643
+ published.push(r.entityId);
644
+ changed.push(r.entityId);
645
+ for (const ident of m.identifiers ?? []) {
646
+ const rule = this.config.identifierRules?.find((x) => x.authority === ident.authority && x.kind === ident.kind);
647
+ if (!rule)
648
+ continue;
649
+ const value = rule.lowercase
650
+ ? ident.value.trim().toLowerCase()
651
+ : ident.value.trim();
652
+ const existing = await c.query("SELECT entity_id FROM ontave.identifiers WHERE authority=$1 AND kind=$2 AND normalized=$3", [ident.authority, ident.kind, value]);
653
+ check(!existing.rows.length || existing.rows[0].entity_id === r.entityId, "UNRESOLVED_IDENTITY", "Identifier is already linked elsewhere");
654
+ await c.query("INSERT INTO ontave.identifiers(workspace_id,authority,kind,normalized,entity_id,evidence_id) VALUES($1,$2,$3,$4,$5,$6) ON CONFLICT DO NOTHING", [
655
+ a.workspaceId,
656
+ ident.authority,
657
+ ident.kind,
658
+ value,
659
+ r.entityId,
660
+ b.evidence_id,
661
+ ]);
662
+ }
663
+ for (const [field, f] of Object.entries(m.fields)) {
664
+ const v = f.verification ?? "reported";
665
+ if (v === "verified")
666
+ check(this.config.sourcePolicies?.[evidence.rows[0].source_policy]?.verifiedFields.includes(m.conceptId + "." + field), "VALIDATION_FAILED", "Source verification rule denied");
667
+ const existing = await c.query("SELECT id FROM ontave.assertions WHERE entity_id=$1 AND field_id=$2 AND evidence_id=$3 AND value=$4::jsonb AND verification=$5 AND kind='set'", [r.entityId, field, b.evidence_id, json(f.value), v]);
668
+ if (!existing.rows.length)
669
+ await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,field_id,value,verification,kind,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,$6,'set',$7,$8,$9)", [
670
+ a.workspaceId,
671
+ randomUUID(),
672
+ r.entityId,
673
+ field,
674
+ json(f.value),
675
+ v,
676
+ b.evidence_id,
677
+ b.id,
678
+ json(sourceReference(evidence.rows[0].payload, f, evidence.rows[0].kind === "json" ? "json" : "text")),
679
+ ]);
680
+ }
681
+ }
682
+ for (const relationship of body.extraction.relationships) {
683
+ const s = body.resolutions[relationship.source], t = body.resolutions[relationship.target];
684
+ const def = active.definition.relations.find((x) => x.id === relationship.relationId);
685
+ const existing = await c.query("SELECT a.id,a.target_entity_id,a.evidence_id,EXISTS(SELECT 1 FROM ontave.assertions x WHERE x.target_assertion_id=a.id AND x.kind='retract') AS retracted FROM ontave.assertions a WHERE a.entity_id=$1 AND a.relation_id=$2 AND a.kind='set'", [s.entityId, relationship.relationId]);
686
+ if (def.max === 1)
687
+ check(existing.rows
688
+ .filter((x) => !x.retracted && !body.retractions.includes(x.id))
689
+ .every((x) => x.target_entity_id === t.entityId), "UNRESOLVED_CONFLICT", "Relationship cardinality conflict");
690
+ if (!existing.rows.some((x) => x.target_entity_id === t.entityId &&
691
+ x.evidence_id === b.evidence_id))
692
+ await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,relation_id,target_entity_id,verification,kind,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,'reported','set',$6,$7,$8)", [
693
+ a.workspaceId,
694
+ randomUUID(),
695
+ s.entityId,
696
+ relationship.relationId,
697
+ t.entityId,
698
+ b.evidence_id,
699
+ b.id,
700
+ json(sourceReference(evidence.rows[0].payload, relationship, evidence.rows[0].kind === "json" ? "json" : "text")),
701
+ ]);
702
+ }
703
+ for (const target of body.retractions) {
704
+ const r = await c.query("SELECT * FROM ontave.assertions WHERE id=$1 AND kind='set'", [parseUUID(target)]);
705
+ check(r.rows[0], "NOT_FOUND", "Retraction target not found");
706
+ const x = r.rows[0];
707
+ check(published.includes(x.entity_id), "VALIDATION_FAILED", "Retraction must bind a reviewed entity revision");
708
+ await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,field_id,relation_id,value,verification,kind,target_assertion_id,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,NULL,'unknown','retract',$6,$7,$8,$9)", [
709
+ a.workspaceId,
710
+ randomUUID(),
711
+ x.entity_id,
712
+ x.field_id,
713
+ x.relation_id,
714
+ x.id,
715
+ b.evidence_id,
716
+ b.id,
717
+ json({
718
+ startByte: 0,
719
+ endByte: Buffer.byteLength(evidence.rows[0].payload),
720
+ }),
721
+ ]);
722
+ }
723
+ for (const id of changed)
724
+ await this.project(c, a.workspaceId, id, active.definition);
725
+ await c.query("UPDATE ontave.jobs SET state='completed',updated_at=now() WHERE id=$1", [b.job_id]);
726
+ const result = {
727
+ entityIds: published,
728
+ bundleId: b.id,
729
+ ontologyHash: active.hash,
730
+ };
731
+ await this.record(c, a, "accept", input.requestKey, digest, result, input.reason);
732
+ return result;
733
+ });
734
+ }
735
+ checkPolicyAcceptance(body, source, policy) {
736
+ check(policy.sources.includes(source), "FORBIDDEN", "Source is outside the automation policy");
737
+ if (!policy.allowNewExistingEntities)
738
+ for (const entity of body.extraction.entities)
739
+ if (!entity.conceptId.startsWith(policy.namespace))
740
+ check(body.resolutions[entity.mentionId]?.mode === "link", "FORBIDDEN", "This policy extends existing identities; new base-model entities need explicit handling");
741
+ if (policy.relationshipTargets.length)
742
+ for (const entity of body.extraction.entities)
743
+ if (entity.conceptId.startsWith(policy.namespace) &&
744
+ body.resolutions[entity.mentionId]?.mode === "new")
745
+ check(body.extraction.relationships.some((r) => r.source === entity.mentionId), "FORBIDDEN", "Automatic extension records need an explicit parent link");
746
+ check(body.retractions.length === 0 &&
747
+ body.extraction.entities.every((e) => Object.values(e.fields).every((f) => !f.verification || f.verification === "reported")), "FORBIDDEN", "Automatic acceptance cannot retract or verify assertions");
748
+ for (const rel of body.extraction.relationships) {
749
+ check(body.resolutions[rel.source]?.mode === "new", "FORBIDDEN", "Automatic acceptance cannot change relationships of an existing record");
750
+ const from = body.extraction.entities.find((e) => e.mentionId === rel.source);
751
+ if (from.conceptId.startsWith(policy.namespace)) {
752
+ const target = body.extraction.entities.find((e) => e.mentionId === rel.target);
753
+ check(body.resolutions[rel.target]?.mode === "link" &&
754
+ policy.relationshipTargets.includes(target.conceptId), "FORBIDDEN", "An automatic extension must link to an allowed existing parent identity");
755
+ }
756
+ }
757
+ }
758
+ /** Existing records are references, never implicit permission to add or alter accepted assertions. */
759
+ async checkPolicyReference(c, mention, entityId, definition) {
760
+ const rows = await c.query("SELECT field_id,result FROM ontave.projections WHERE entity_id=$1", [entityId]);
761
+ const concept = definition.concepts.find((x) => x.id === mention.conceptId);
762
+ for (const [field, claim] of Object.entries(mention.fields)) {
763
+ const current = rows.rows.find((x) => x.field_id === field)?.result;
764
+ check(current?.state === "value" &&
765
+ sameValue(current.value, normalizeValue(concept.fields.find((f) => f.id === field), claim.value)), "FORBIDDEN", "Automatic references cannot change protected fields, fill missing values or endorse conflicts; explicit review is required");
766
+ }
767
+ for (const identifier of mention.identifiers ?? []) {
768
+ const rule = this.config.identifierRules?.find((r) => r.authority === identifier.authority && r.kind === identifier.kind);
769
+ if (!rule)
770
+ continue;
771
+ const value = rule.lowercase
772
+ ? identifier.value.trim().toLowerCase()
773
+ : identifier.value.trim();
774
+ const existing = await c.query("SELECT entity_id FROM ontave.identifiers WHERE authority=$1 AND kind=$2 AND normalized=$3", [identifier.authority, identifier.kind, value]);
775
+ check(existing.rows[0]?.entity_id === entityId, "FORBIDDEN", "Automatic references cannot add or rebind identifiers; explicit review is required");
776
+ }
777
+ }
601
778
  reviews = {
602
779
  /** Automated acceptance remains a reported claim; policy grants no verification. */
603
- acceptByPolicy: async (context, input) => {
604
- const a = await this.access(context, "review"), policy = this.automationPolicy;
780
+ acceptByPolicy: (context, input) => {
781
+ const policy = this.automationPolicy;
605
782
  check(policy, "FORBIDDEN", "Automatic acceptance requires an explicit host policy");
606
- await this.config.storage.transaction(a.workspaceId, async (c) => {
607
- const b = await this.bundle(c, input.bundleId);
608
- check(b.hash === input.digest && b.current_bundle === b.id, "STALE_BUNDLE", "Proposal changed");
609
- const evidence = (await c.query("SELECT source FROM ontave.evidence WHERE id=$1", [
610
- b.evidence_id,
611
- ])).rows[0];
612
- check(evidence && policy.sources.includes(evidence.source), "FORBIDDEN", "Source is outside the automation policy");
613
- const body = b.body;
614
- if (!policy.allowNewExistingEntities)
615
- for (const entity of body.extraction.entities)
616
- if (!entity.conceptId.startsWith(policy.namespace))
617
- check(body.resolutions[entity.mentionId]?.mode === "link", "FORBIDDEN", "This policy extends existing identities; new base-model entities need explicit handling");
618
- if (policy.relationshipTargets.length)
619
- for (const entity of body.extraction.entities)
620
- if (entity.conceptId.startsWith(policy.namespace))
621
- check(body.extraction.relationships.some((r) => r.source === entity.mentionId), "FORBIDDEN", "Automatic extension records need an explicit parent link");
622
- check(body.retractions.length === 0 &&
623
- body.extraction.entities.every((e) => Object.values(e.fields).every((f) => !f.verification || f.verification === "reported")), "FORBIDDEN", "Automatic acceptance cannot retract or verify assertions");
624
- for (const rel of body.extraction.relationships) {
625
- const source = body.extraction.entities.find((e) => e.mentionId === rel.source);
626
- if (source.conceptId.startsWith(policy.namespace)) {
627
- const target = body.extraction.entities.find((e) => e.mentionId === rel.target);
628
- check(body.resolutions[rel.target]?.mode === "link" &&
629
- policy.relationshipTargets.includes(target.conceptId), "FORBIDDEN", "An automatic extension must link to an allowed existing parent identity");
630
- }
631
- }
632
- });
633
- return this.reviews.accept(context, {
783
+ return this.acceptBundle(context, {
634
784
  ...input,
635
785
  reason: `Automatic reported-claim acceptance under host policy ${policy.id} (${hash(policy)})`,
636
- });
786
+ }, policy);
637
787
  },
638
788
  /** One transaction for the current proposal and bounded original source. */
639
789
  forJob: async (context, jobId) => {
@@ -694,133 +844,7 @@ export class Ontave {
694
844
  return result;
695
845
  });
696
846
  },
697
- accept: async (context, input) => {
698
- const a = await this.access(context, "review");
699
- return this.config.storage.transaction(a.workspaceId, async (c) => {
700
- const digest = hash(input), old = await this.decision(c, a, "accept", input.requestKey, digest);
701
- if (old)
702
- return old;
703
- const b = await this.bundle(c, input.bundleId, true);
704
- check(b.hash === input.digest &&
705
- b.current_bundle === b.id &&
706
- b.state === "waiting_review", "STALE_BUNDLE", "Only the exact current review-ready bundle can be accepted");
707
- const body = b.body;
708
- check(body.pending.length === 0 &&
709
- body.extraction.observations.length === 0, "UNRESOLVED_IDENTITY", "Bundle dependencies remain");
710
- const active = await this.active(c);
711
- const previous = await c.query("SELECT definition FROM ontave.versions WHERE id=$1", [b.ontology_id]);
712
- check(compatible(previous.rows[0].definition, active.definition), "STALE_ONTOLOGY", "Bundle requires renewed interpretation");
713
- const evidence = await c.query("SELECT * FROM ontave.evidence WHERE id=$1", [b.evidence_id]);
714
- validateExtraction(body.extraction, evidence.rows[0].payload, active.definition, evidence.rows[0].kind === "json" ? "json" : "text");
715
- const published = [];
716
- for (const m of body.extraction.entities) {
717
- const r = body.resolutions[m.mentionId];
718
- check(r, "UNRESOLVED_IDENTITY", "Missing identity decision");
719
- const current = await c.query("SELECT * FROM ontave.entities WHERE id=$1 FOR UPDATE", [r.entityId]);
720
- if (r.mode === "new") {
721
- check(!current.rows.length, "STALE_BUNDLE", "Proposed identity already exists");
722
- const concept = active.definition.concepts.find((x) => x.id === m.conceptId);
723
- for (const f of concept.fields)
724
- check(f.optional || Object.hasOwn(m.fields, f.id), "VALIDATION_FAILED", "Required field missing");
725
- await c.query("INSERT INTO ontave.entities(workspace_id,id,concept_id,name) VALUES($1,$2,$3,$4)", [a.workspaceId, r.entityId, m.conceptId, m.name]);
726
- }
727
- else {
728
- check(current.rows[0]?.revision === r.revision &&
729
- current.rows[0]?.concept_id === m.conceptId, "STALE_BUNDLE", "Entity changed since review");
730
- await c.query("UPDATE ontave.entities SET revision=revision+1 WHERE id=$1", [r.entityId]);
731
- }
732
- published.push(r.entityId);
733
- for (const ident of m.identifiers ?? []) {
734
- const rule = this.config.identifierRules?.find((x) => x.authority === ident.authority && x.kind === ident.kind);
735
- if (!rule)
736
- continue;
737
- const value = rule.lowercase
738
- ? ident.value.trim().toLowerCase()
739
- : ident.value.trim();
740
- const existing = await c.query("SELECT entity_id FROM ontave.identifiers WHERE authority=$1 AND kind=$2 AND normalized=$3", [ident.authority, ident.kind, value]);
741
- check(!existing.rows.length ||
742
- existing.rows[0].entity_id === r.entityId, "UNRESOLVED_IDENTITY", "Identifier is already linked elsewhere");
743
- await c.query("INSERT INTO ontave.identifiers(workspace_id,authority,kind,normalized,entity_id,evidence_id) VALUES($1,$2,$3,$4,$5,$6) ON CONFLICT DO NOTHING", [
744
- a.workspaceId,
745
- ident.authority,
746
- ident.kind,
747
- value,
748
- r.entityId,
749
- b.evidence_id,
750
- ]);
751
- }
752
- for (const [field, f] of Object.entries(m.fields)) {
753
- const v = f.verification ?? "reported";
754
- if (v === "verified")
755
- check(this.config.sourcePolicies?.[evidence.rows[0].source_policy]?.verifiedFields.includes(m.conceptId + "." + field), "VALIDATION_FAILED", "Source verification rule denied");
756
- const existing = await c.query("SELECT id FROM ontave.assertions WHERE entity_id=$1 AND field_id=$2 AND evidence_id=$3 AND value=$4::jsonb AND verification=$5 AND kind='set'", [r.entityId, field, b.evidence_id, json(f.value), v]);
757
- if (!existing.rows.length)
758
- await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,field_id,value,verification,kind,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,$6,'set',$7,$8,$9)", [
759
- a.workspaceId,
760
- randomUUID(),
761
- r.entityId,
762
- field,
763
- json(f.value),
764
- v,
765
- b.evidence_id,
766
- b.id,
767
- json(sourceReference(evidence.rows[0].payload, f, evidence.rows[0].kind === "json" ? "json" : "text")),
768
- ]);
769
- }
770
- }
771
- for (const relationship of body.extraction.relationships) {
772
- const s = body.resolutions[relationship.source], t = body.resolutions[relationship.target];
773
- const def = active.definition.relations.find((x) => x.id === relationship.relationId);
774
- const existing = await c.query("SELECT a.id,a.target_entity_id,a.evidence_id,EXISTS(SELECT 1 FROM ontave.assertions x WHERE x.target_assertion_id=a.id AND x.kind='retract') AS retracted FROM ontave.assertions a WHERE a.entity_id=$1 AND a.relation_id=$2 AND a.kind='set'", [s.entityId, relationship.relationId]);
775
- if (def.max === 1)
776
- check(existing.rows
777
- .filter((x) => !x.retracted && !body.retractions.includes(x.id))
778
- .every((x) => x.target_entity_id === t.entityId), "UNRESOLVED_CONFLICT", "Relationship cardinality conflict");
779
- if (!existing.rows.some((x) => x.target_entity_id === t.entityId &&
780
- x.evidence_id === b.evidence_id))
781
- await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,relation_id,target_entity_id,verification,kind,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,'reported','set',$6,$7,$8)", [
782
- a.workspaceId,
783
- randomUUID(),
784
- s.entityId,
785
- relationship.relationId,
786
- t.entityId,
787
- b.evidence_id,
788
- b.id,
789
- json(sourceReference(evidence.rows[0].payload, relationship, evidence.rows[0].kind === "json" ? "json" : "text")),
790
- ]);
791
- }
792
- for (const target of body.retractions) {
793
- const r = await c.query("SELECT * FROM ontave.assertions WHERE id=$1 AND kind='set'", [parseUUID(target)]);
794
- check(r.rows[0], "NOT_FOUND", "Retraction target not found");
795
- const x = r.rows[0];
796
- check(published.includes(x.entity_id), "VALIDATION_FAILED", "Retraction must bind a reviewed entity revision");
797
- await c.query("INSERT INTO ontave.assertions(workspace_id,id,entity_id,field_id,relation_id,value,verification,kind,target_assertion_id,evidence_id,bundle_id,span) VALUES($1,$2,$3,$4,$5,NULL,'unknown','retract',$6,$7,$8,$9)", [
798
- a.workspaceId,
799
- randomUUID(),
800
- x.entity_id,
801
- x.field_id,
802
- x.relation_id,
803
- x.id,
804
- b.evidence_id,
805
- b.id,
806
- json({
807
- startByte: 0,
808
- endByte: Buffer.byteLength(evidence.rows[0].payload),
809
- }),
810
- ]);
811
- }
812
- for (const id of published)
813
- await this.project(c, a.workspaceId, id, active.definition);
814
- await c.query("UPDATE ontave.jobs SET state='completed',updated_at=now() WHERE id=$1", [b.job_id]);
815
- const result = {
816
- entityIds: published,
817
- bundleId: b.id,
818
- ontologyHash: active.hash,
819
- };
820
- await this.record(c, a, "accept", input.requestKey, digest, result, input.reason);
821
- return result;
822
- });
823
- },
847
+ accept: (context, input) => this.acceptBundle(context, input),
824
848
  reject: async (context, input) => {
825
849
  const a = await this.access(context, "review");
826
850
  return this.config.storage.transaction(a.workspaceId, async (c) => {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
@@ -110,3 +110,10 @@ These additions are available in alpha.5. `openOntave` is exported from `ontave/
110
110
  `advanceAutomatically(runtime,context,jobId)` performs up to four worker/proposal/publication/acceptance transitions and leaves unsupported cases pending with a reason. Local `process()` uses it only when automation is configured. Strict defaults are unchanged.
111
111
 
112
112
  `startStudio({runtime,context,port?,process?})` starts a loopback-only local owner UI. Prefer `app.studio()` for integrated lifecycle handling. It is not a hosted multi-user authentication layer. See [local boundaries](LOCAL_AND_HOSTED.md) and [the adaptation milestone](ADAPTATION_MILESTONE.md).
113
+
114
+
115
+ ## Alpha.6: reference-only automatic acceptance
116
+
117
+ `reviews.acceptByPolicy` validates policy scope and performs acceptance in one transaction. Every existing entity is reference-only: supplied fields must match its current single accepted value, and recognized identifiers must already be bound to that entity. References do not append assertions, add identifiers or increment revisions. The automatic path cannot fill a missing/unknown field, endorse a conflict candidate, change an existing value or add an outgoing relationship to an existing record. Those proposals remain pending for explicit review. `allowNewExistingEntities` permits creation of base-model entities only; it does not grant mutation of existing records.
118
+
119
+ New eligible entities and their allowed relationships can still be accepted automatically. Any protected mutation aborts the entire bundle, including earlier inserts. Concurrent parent changes retain the existing stale-revision behavior. Historical decisions accepted before the patch are not silently altered. See [policy safety](POLICY_SAFETY.md).
@@ -1,6 +1,6 @@
1
1
  # Ontave implementation status
2
2
 
3
- **Developer preview `0.1.0-alpha.5`** is prepared for npm distribution. Its packaged [release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/RELEASE_STATUS.json) records the open full-MVP qualification gates. Earlier GitHub alpha archives remain immutable. npm preview distribution has a separate explicit guard; it does not certify the full MVP.
3
+ **Developer preview `0.1.0-alpha.6`** is prepared for npm distribution. Its packaged [release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/RELEASE_STATUS.json) records the open full-MVP qualification gates. Earlier GitHub alpha archives remain immutable. npm preview distribution has a separate explicit guard; it does not certify the full MVP.
4
4
 
5
5
  Alpha.5 includes: a runnable supplier-quotation example, a standalone LLM + PostgreSQL comparator, optional models on non-inference services and one-transaction review/source snapshots. The [comparison report](SUPPLIER_QUOTATION_BENCHMARK.md) preserves the initial provider failures, the follow-up on reused cases and a completed one-maintainer walkthrough. This does not close independent qualification gates.
6
6
 
@@ -47,3 +47,8 @@ Provider factories now constrain short text quotes to an immutable source anchor
47
47
  ## Alpha.5 additions
48
48
 
49
49
  Persistent local database provisioning, loopback Studio, bounded automatic additive publication/acceptance and a frozen quotation adaptation comparator are implemented. The [milestone report](ADAPTATION_MILESTONE.md) separates the successful development ablation from earlier failed acquisitions. Independent semantic qualification, external developer effort measurements and hosted operations remain open. Earlier published alpha archives remain immutable.
50
+
51
+
52
+ ## Alpha.6 policy safety patch
53
+
54
+ Automatic acceptance treats existing entities as read-only references. It holds protected-field changes, missing/conflicted values, new identifiers and outgoing changes on existing records. Matching references preserve accepted assertions and revisions. Policy validation, locked revision checks and writes occur within one transaction. New additive commitments remain automatic. See [upgrade guidance](POLICY_SAFETY.md).
@@ -1,6 +1,6 @@
1
1
  # Local setup and optional hosting
2
2
 
3
- These APIs are available in **0.1.0-alpha.5**, a developer preview. Install with `npm install ontave` or pin `ontave@0.1.0-alpha.5`. Alpha.4 does not include these exports.
3
+ Use **0.1.0-alpha.6** or newer for the automatic-policy safety fix. Install with `npm install ontave` or pin `ontave@0.1.0-alpha.6`. Local setup APIs were introduced in alpha.5; alpha.4 does not include them.
4
4
 
5
5
  ## Start locally
6
6
 
@@ -45,7 +45,7 @@ const automation = additivePolicy({
45
45
  });
46
46
  ```
47
47
 
48
- The host chooses which sources and extensions can be adopted. The default profile permits one new namespaced concept, eight text/integer/date fields and one relationship per proposal. Existing meanings and field types cannot change. Extension records must link to an existing allowed parent. New base-model identities are held unless the host explicitly opts in. Retractions and assertions marked verified are held. Evidence, reported-claim semantics and existing contract checks still apply.
48
+ The host chooses which sources and extensions can be adopted. The default profile permits one new namespaced concept, eight text/integer/date fields and one relationship per proposal. Existing meanings and field types cannot change. Extension records must link to an existing allowed parent. New base-model identities are held unless the host explicitly opts in. Retractions and assertions marked verified are held. In alpha.6, existing records are read-only references: supplied fields must match a current single accepted value, and supplied trusted identifiers must already bind that record. Matching references add no assertions and do not bump revisions. New identifiers, changed or missing/conflicted field values, and outgoing relationships on an existing record require explicit review. All checks and writes share one transaction; a rejection rolls back the entire bundle. Evidence, reported-claim semantics and existing contract checks still apply.
49
49
 
50
50
  This removes manual review for eligible cases. It cannot guarantee semantic correctness; quoted source evidence and structural validation do not prove that the model interpreted it correctly. Uncertainty, conflicting identity, disallowed sources and changes outside the policy stay pending. Review them as exceptions, or leave them unadopted. Do not automatically apply this profile to payments, permissions or irreversible actions.
51
51
 
@@ -0,0 +1,32 @@
1
+ # Automatic acceptance safety patch: alpha.6
2
+
3
+ Upgrade with `npm install ontave@latest`, or pin `ontave@0.1.0-alpha.6`. This patch tightens automatic acceptance; it does not change the website design or the explicit manual review API.
4
+
5
+ ## Defect in alpha.5
6
+
7
+ An allowed source could reference an existing quotation and supply different supplier or currency values. `acceptByPolicy` validated the source and identity scope but did not restrict field assertions on the linked record. It accepted the new assertions, turning previously usable fields into conflicts. Queries filtering the original currency or supplier could stop returning that quotation. The same gap affected other existing fields and allowed new identifier aliases.
8
+
9
+ The regression suite reproduced the defect in a disposable PostgreSQL database with fictional data and no paid model calls. It failed against the alpha.5 implementation before the fix.
10
+
11
+ ## New boundary
12
+
13
+ - Existing records are read-only references during automatic acceptance, including records in the extension namespace.
14
+ - Every supplied field must match a current single accepted value. Different values, unknown/missing fields and choices from existing conflicts stay pending.
15
+ - Recognized identifiers must already bind to that exact record. Automation cannot add aliases or rebind an identity.
16
+ - A matching reference does not append field assertions, change identifiers, increment the entity revision or rewrite its projection.
17
+ - Automatic relationships may originate only from new entities. Existing outgoing relationships require explicit review.
18
+ - New eligible entities can still link to an allowed existing parent. `allowNewExistingEntities` permits new base-model records; it never grants mutation of an existing record.
19
+
20
+ Policy validation, row locking, revision checks and canonical writes now run in one acceptance transaction. If any part is denied, the whole bundle rolls back and stays pending. Source evidence and the staged proposal remain available for review. A concurrent committed parent revision causes a stale-bundle failure; the automatic operation cannot adopt partially checked data.
21
+
22
+ ## Upgrade and existing data
23
+
24
+ The patch prevents new automatic mutations of protected records. It does not delete or retract claims already accepted by alpha.5. Inspect earlier automatic decisions and any resulting conflicts in your workspace, then use explicit review/correction operations when warranted. Rewriting accepted history without review could discard legitimate business claims.
25
+
26
+ Manual acceptance remains an explicit host-authorized action and may deliberately introduce a reported conflict. Automatic schema publication retains its separately disclosed structural checks and `semanticAccuracyQualified: false`; this patch is not semantic accuracy qualification or full production certification.
27
+
28
+ ## Regression coverage
29
+
30
+ `tests/integration/automatic-policy-boundary.test.mjs` covers quotation currency/supplier changes, missing expiry fills, line quantities and price amount/currency, existing extension records, identifier aliases, prior conflicts, mixed-bundle rollback, reference-only retries, concurrent valid commitments, new-base-record permission boundaries and a real PostgreSQL parent-lock/revision race. It checks frozen quotation queries, accepted values, assertions, identifiers, projections and revisions.
31
+
32
+ Existing automatic-evolution tests continue to exercise source/parent limits and strict defaults. Historical benchmark artifacts remain unchanged; new cached replays test that eligible delivery commitments remain usable with the patch.
@@ -1,6 +1,6 @@
1
1
  # Start with Ontave
2
2
 
3
- Ontave `0.1.0-alpha.5` is a developer preview for Node.js 24 servers. The alpha's open quality gates are recorded in [release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.5/docs/RELEASE_STATUS.json).
3
+ Ontave `0.1.0-alpha.6` is a developer preview for Node.js 24 servers. The alpha's open quality gates are recorded in [release status](https://github.com/smileplis/ontave/blob/v0.1.0-alpha.6/docs/RELEASE_STATUS.json).
4
4
 
5
5
  ## Install the framework
6
6
 
@@ -19,7 +19,7 @@ The package includes the TypeScript declarations, ESM runtime, CLI and internal
19
19
  With Node.js 24 on macOS or Linux:
20
20
 
21
21
  ```sh
22
- npx --yes ontave@0.1.0-alpha.5 playground --install
22
+ npx --yes ontave@0.1.0-alpha.6 playground --install
23
23
  ```
24
24
 
25
25
  Open the localhost URL printed by the command. It creates a temporary PostgreSQL instance and restricted role, then uses the actual SDK to exercise source preservation, model evaluation, identity decisions, fact review and accepted-data queries. `--install` explicitly permits downloading optional local tooling. No Docker or model key is needed. Ctrl+C stops the server and removes the temporary database.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.1.0-alpha.5",
2
+ "version": "0.1.0-alpha.6",
3
3
  "channel": "developer-preview",
4
4
  "fullMvpQualified": false,
5
5
  "intendedUse": "Developer evaluation of evidence-backed records, local setup and bounded policy-authorized additive adaptation",
@@ -32,5 +32,10 @@
32
32
  "manualAdaptationReviews": 0,
33
33
  "hostedServiceLaunched": false,
34
34
  "productionQualified": false
35
+ },
36
+ "policySafety": {
37
+ "existingRecords": "reference-only on automatic acceptance",
38
+ "atomicValidation": true,
39
+ "previouslyAcceptedConflicts": "require explicit review; no silent history rewrite"
35
40
  }
36
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ontave",
3
- "version": "0.1.0-alpha.5",
3
+ "version": "0.1.0-alpha.6",
4
4
  "private": false,
5
5
  "description": "Evidence-backed operational data and governed ontology evolution for TypeScript applications",
6
6
  "license": "Apache-2.0",
@@ -34,7 +34,8 @@
34
34
  "examples/local",
35
35
  "docs/LOCAL_AND_HOSTED.md",
36
36
  "docs/ADAPTATION_MILESTONE.md",
37
- "benchmarks/adaptation-2026-10-23"
37
+ "benchmarks/adaptation-2026-10-23",
38
+ "docs/POLICY_SAFETY.md"
38
39
  ],
39
40
  "exports": {
40
41
  ".": {