Releases: Loom-AI-Labs/ai-fabric-framework
Release list
AI Fabric Framework 0.4.0
AI Fabric 0.4.0 Release Notes
- Status: Released
- Release date: 2026-07-25
- Version:
0.4.0 - Tag:
ai-fabric-framework-v0.4.0 - Release branch:
main - Release scope: typed entity annotations, canonical projection, transaction-aware indexing,
migration/data-sync convergence, real apps, and public documentation.
AI Fabric 0.4.0 is a breaking lifecycle release. It replaces the permissive 0.3 annotation and queue
model with one typed, validated, durable entity-indexing contract.
Highlights
- Required stable
@AICapable.entityType. - Typed
@AIProcess.operation; Java method names no longer imply lifecycle behavior. - Explicit
@AIIdentityplus supported JPA and custom identity resolution. - Typed searchable/context destinations, data types, preprocessing, required fields, and projection
priority. - One immutable descriptor and one canonical, destination-specific
AIIndexDocument. - Fail-closed required-field and requested PII projection.
- Source-transaction-aware queue insertion and provider execution only after commit.
- Durable sync, async, and batch strategies with retry and dead-letter evidence.
- Commit-owned synchronous dispatch that cannot race with retry workers, plus bounded recovery of
abandoned post-commit dispatch. - Per-entity ordering state that rejects stale update/delete work.
- Immediate and scheduled synchronous dispatch both honor non-terminal predecessor ordering.
- Entity-level
indexing.enabled: falsedisables annotation lifecycle dispatch without failing the
domain write. - Separate dependent analysis work instead of hidden duplicate indexing.
- Migration, trusted push data sync, and Spring AI document ingestion converged on the same projected
indexing gateway. - Sanitized
aifabricEntitiesactuator diagnostics and bounded-cardinality Micrometer metrics. - Complete startup validation for entity contracts, process methods, and queue schema.
Breaking Changes
There are no compatibility aliases for the 0.3 lifecycle. Applications must:
- replace old annotation booleans and string values with typed contracts;
- replace
AISearchable.weightwith projectionpriorityonly where ordering/retention is intended; - replace
processEntityForAI(...)and paired raw lifecycle calls with
AIEntityIndexingGateway; - replace old entity YAML with typed indexing/analysis policy;
- replace old queue tables and rebuild generated vectors from authoritative source records.
Read the full
0.4 lifecycle migration guide
before upgrading.
Transaction Semantics
The source change and approved projected queue row commit together when they use the same transaction
manager. Provider/vector work never runs for a rolled-back source transaction.
SYNC means AI Fabric attempts provider work after commit and returns observable final status when
possible. A provider failure does not roll back already committed business data; the durable row is
scheduled for retry. ASYNC and BATCH use the same execution path through workers.
A fresh transactional SYNC row is stored as COMMIT_PENDING. Only the originating post-commit
callback may claim it immediately; retry workers lease PENDING work only. If the process dies
between source commit and callback dispatch, cleanup releases the orphan after
syncCommitRecoveryTimeout (10 minutes by default), records
SYNC_COMMIT_DISPATCH_TIMEOUT, and preserves the provider retry budget. Optional analysis work is a
separate worker-owned dependency and cannot run before its primary indexing row completes.
Data Sync HTTP Semantics
Push data sync now returns:
400 PROJECTION_REJECTEDfor invalid approved projections;503 INDEXING_RETRYABLEwhen work is durable but synchronous provider execution needs retry;500 INDEXING_PERMANENTwhen synchronous work exhausted its retry policy and requires operator
review;500 INDEXING_SUBMISSION_FAILEDwhen durable handoff itself fails.
The API never reports provider failure as a successful vector update.
Release Gate Evidence
Release-candidate verification completed on 2026-07-24:
ai-fabric-core: 615 tests passed.ai-fabric-indexing: 65 tests passed, including real transaction ownership, retry exclusion,
orphan recovery, stale ordering, and dependent-analysis behavior.ai-fabric-data-sync: 36 tests passed.- The full 35-project infrastructure reactor was verified through a clean framework/unit build and
an explicit ONNX-enabled integration tail. - Current infrastructure reports contain 1,553 tests across 356 suites: zero failures, zero errors,
and 9 intentional provider/environment connectivity skips. - The integration-test module passed 94 tests; 6 provider/environment-dependent cases were
intentionally skipped and are not represented as live-provider passes. - Relationship-query, chat-session, and behavior integration modules passed 1, 23, and 15
integration tests respectively. Their two connectivity-only tests were intentionally skipped
outside a keyed live-provider profile. - The full 21-module real-app reactor passed
clean verify: 278 tests in 94 suites, with zero
failures, errors, or skips. - Live Data Sync passed 11 application tests and 12 shared smoke tests. Its complete annotation
lifecycle was repeated five times without sleeps to exercise scheduler concurrency. - The external AI Fabric course support app passed 71 tests against
0.4.0. - The packaged Live Data Sync JAR passed health, initial
6/6/6source/vector/synchronized counts,
update to revision 2, workspace-filtered retrieval, delete to5/5/5, and reset to6/6/6. - The release-candidate Docker image
sha256:94f9d5aa8abcbce5f2a02b949fba539c99e619aba2b7a0cf9b426d127381241e
passed the same lifecycle smoke. - A live OpenAI proof used
text-embedding-3-smallandgpt-4o-mini; semantic retrieval selected
the updated NovaBook evidence and generation returnedINFORMATION_PROVIDEDwith five documents. - Removed-API, stale-configuration, stub, secret, and diff-quality scans found no release blocker.
- Manual and keyed provider workflows now install the framework with
-DskipITs, prepare ONNX
assets explicitly for ONNX selections, and execute only the selected provider integration suite
after provider configuration.
The default Docker target intentionally resolves AI Fabric as a Maven Central consumer. The
source-built release-candidate target records the exact pre-publication proof; the default target is
the post-publication consumer smoke for the immutable 0.4.0 artifacts.
AI Fabric Framework 0.3.3
AI Fabric 0.3.3 Release Notes
- Released: 2026-07-10
- Version:
0.3.3 - Release tag:
ai-fabric-framework-v0.3.3 - Release branch:
main - Maven version:
0.3.3 - Release scope: open-source Java framework, curated prompt modules, examples, and public framework documentation.
AI Fabric 0.3.3 is a patch release for curated prompt quality and external-user documentation.
It keeps framework APIs stable while improving the default prompt bundle and adding a dedicated
support curated pack overlay.
What Changed
- Added the default prompt overlay
v1-default-optimizedand enabled it from
ai-fabric-curated-default. - Improved default prompt guidance for:
- recent conversation follow-ups;
- backend-owned identifiers;
- policy/runbook text as guidance rather than executable schema;
- evidence-grounded RAG answers;
- action-result summarization without leaking raw internal payloads;
- behavior-analysis delta handling.
- Added
ai-fabric-curated-supportprompt overlayv1-support, backed by the default prompt bundle. - Added tests proving default/support pack overlay registration and prompt resolution.
- Added the LLM-friendly Getting Started docs and context pack for coding-assistant sessions.
- Updated real-app examples and Docker defaults to use AI Fabric
0.3.3.
Migration Notes
Applications using 0.3.2 can move to 0.3.3 by updating the BOM version:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.loom-ai-labs</groupId>
<artifactId>ai-fabric-bom</artifactId>
<version>0.3.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>There are no required Java API migrations in this patch.
Applications using ai-fabric-curated-default get the new v1-default-optimized prompt overlay
automatically through the default curated pack.
Applications using custom prompt overlays should keep their domain-specific overlay first and add
general default optimizations only when they want the fallback behavior explicitly. For example:
ai:
prompts:
bundle:
overlays:
- v1-my-domain
- v1-default-optimizedApplications using ai-fabric-curated-support should now depend on 0.3.3 so the support overlay
and default prompt resources are available together.
Verification
Targeted local verification:
mvn -pl curated/ai-fabric-curated-default test
mvn -pl curated/ai-fabric-curated-support test
mvn -pl curated/ai-fabric-curated-default,curated/ai-fabric-curated-support,curated/ai-fabric-curated-commerce testRelease gate verification:
.github/scripts/validate-framework-release-guards.sh
mvn -B -V --no-transfer-progress -f ai-infrastructure-module/pom.xml \
-Dai.vector-db.lucene.cleanup-on-close=true \
-Prelease \
-pl '!integration-Testing/testcontainers-support,!integration-Testing/integration-tests,!integration-Testing/relationship-query-integration-tests,!integration-Testing/chat-session-integration-tests,!integration-Testing/behavior-integration-tests' \
install
mvn -B -V --no-transfer-progress -f examples/minimal-spring-boot/pom.xml compile
mvn -B -V --no-transfer-progress -f examples/real-apps/pom.xml installAI Fabric Framework 0.3.2
AI Fabric 0.3.2 Release Notes
- Released: 2026-07-03
- Version:
0.3.2 - Release tag:
ai-fabric-framework-v0.3.2 - Release branch:
main - Maven version:
0.3.2 - Release scope: open-source Java framework only. Hosted Platform/Product control-plane workflows are not part of this framework release.
AI Fabric 0.3.2 is a patch release for governed action confirmation and parameter validation.
It keeps hard validation fail-closed while making user-visible provenance enforcement configurable.
What Changed
- Added
ai.orchestration.action-param-provenance-modewithWARNas the default. - Supported modes:
WARN: report user-visible provenance gaps in result metadata without blocking.BLOCK: preserve strict blocking for user-visible provenance gaps.OFF: skip user-visible provenance checks.
- Required params that are missing, blank, placeholder-like, hidden/system-owned, or evidence-bound without trusted evidence still block in every mode.
- Pending confirmation turns now trust the already-stored, user-visible, non-
evidenceBoundaction params when the user confirms with a short reply such asYes, confirm. - Account Resolver real app explicitly uses
WARNso confirmation flows can proceed while exposing validation diagnostics. - Real app examples and Docker defaults now point at AI Fabric
0.3.2.
Migration Notes
Applications using 0.3.1 can move to 0.3.2 by updating the BOM version:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.loom-ai-labs</groupId>
<artifactId>ai-fabric-bom</artifactId>
<version>0.3.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>The default provenance policy is now WARN. If an application needs the previous strict behavior for
user-visible string params, configure:
ai:
orchestration:
action-param-provenance-mode: BLOCKDo not use provenance WARN as a substitute for trusted resource resolution. Hidden/system params and
evidenceBound resource handles still require trusted backend, pinned target, attachment, or resolver evidence.
Verification
Targeted local verification:
mvn -pl ai-fabric-core -Dtest=ActionParamValidationSupportTest,IntentHandlingStepPendingConfirmationLoopBreakerTest testRelease gate verification used for this patch:
.github/scripts/validate-framework-release-guards.sh
mvn -B -V --no-transfer-progress -f ai-infrastructure-module/pom.xml -Prelease \
-Dai.vector-db.lucene.cleanup-on-close=true \
-pl '!integration-Testing/testcontainers-support,!integration-Testing/integration-tests,!integration-Testing/relationship-query-integration-tests,!integration-Testing/chat-session-integration-tests,!integration-Testing/behavior-integration-tests' \
install
mvn -B -V --no-transfer-progress -f examples/real-apps/pom.xml installThe real-app reactor was resumed in chunks on the local machine because disk space was constrained; each resumed
module completed tests and packaging successfully.
AI Fabric Framework 0.3.1
AI Fabric 0.3.1 Release Notes
- Released: 2026-06-28
- Version:
0.3.1 - Release tag:
ai-fabric-framework-v0.3.1 - Release branch:
main - Maven version:
0.3.1 - Release scope: open-source Java framework only. Hosted Platform/Product control-plane workflows are not part of this framework release.
AI Fabric 0.3.1 is a patch release for the 0.3.x line. It keeps the 0.3.0 API surface and focuses on
release hygiene, capability discovery accuracy, and example configuration correctness.
What Changed
- Maven Central release workflow now excludes
integration-Testing/vector-contract-tests, matching
the existing exclusion of other integration-test modules. - Release workflow policy now checks that Maven Central deploy commands do not publish integration
test modules. - Provider registry distinguishes modeled compatibility entries from executable provider support:
Cohere chat/embeddings and Anthropic embeddings remain modeled, but are disabled in registry
discovery because they are not active in the Spring AI provider path. - Provider configuration workflow choices now match executable Spring AI support.
- Sub-management real apps now use OpenAI as the live Spring AI LLM example provider instead of the
inactive Cohere path. - Spring AI action-tool documentation now states the confirmation boundary explicitly: unconfirmed
actions can execute through provider-native tool callbacks, while guarded actions return
CONFIRMATION_REQUIREDand continue through AI Fabric's confirmation flow. - Release docs now document the immutable Maven Central/tag rule for patch releases.
Migration Notes
Applications using 0.3.0 can move to 0.3.1 by updating the BOM version:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.loom-ai-labs</groupId>
<artifactId>ai-fabric-bom</artifactId>
<version>0.3.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>No code migration is expected for applications already using active Spring AI provider paths:
openai, azure, anthropic chat, gemini, onnx, or spring-ai-onnx.
If an application was relying on provider registry output to treat Cohere or Anthropic embeddings as
enabled, update that discovery logic. Those entries remain modeled for compatibility, but they are
not executable in the AI Fabric Spring AI provider path.
Verification
Local release gate completed successfully on 2026-06-28 from main:
.github/scripts/validate-framework-release-guards.sh
mvn -B -V --no-transfer-progress -f ai-infrastructure-module/pom.xml \
-Dai.vector-db.lucene.cleanup-on-close=true \
-Prelease \
-pl '!integration-Testing/testcontainers-support,!integration-Testing/integration-tests,!integration-Testing/relationship-query-integration-tests,!integration-Testing/chat-session-integration-tests,!integration-Testing/behavior-integration-tests' \
install
mvn -B -V --no-transfer-progress -f examples/minimal-spring-boot/pom.xml compile
mvn -B -V --no-transfer-progress -f examples/real-apps/pom.xml installAI Fabric Framework 0.3.0
AI Fabric 0.3.0 Release Notes
- Released: 2026-06-27
- Version:
0.3.0 - Current branch reviewed:
Spirng-AI-Integration - Compared against:
origin/mainat1122bc6 - Maven version:
0.3.0 - Release scope: open-source Java framework only. Hosted Platform/Product control-plane workflows are not part of this framework release.
This release is a large framework hardening and enablement release. It moves commodity LLM and
embedding execution to Spring AI, keeps AI Fabric-owned orchestration, action safety, RAG policy,
provider fallback, transient input safety, and vector lifecycle/admin contracts, and adds much
stronger release verification around real apps, vector providers, and RealAPI provider lanes.
The branch diff is intentionally broad. The main external migration cost is provider dependency
replacement and runtime baseline alignment.
Highlights
- Spring AI-backed cloud LLM and embedding execution.
ai-fabric-provider-spring-ainow provides
OpenAI, Azure OpenAI, Anthropic, and Gemini chat providers through Spring AI, plus OpenAI, Azure
OpenAI, Gemini, and optional Spring AI ONNX embeddings. - Native cloud provider modules removed. The previous native OpenAI, Azure OpenAI, Anthropic,
Gemini, and Cohere provider modules are removed from the reactor. Use the Spring AI provider for
commodity model execution. - Native ONNX remains.
ai-fabric-onnx-starterremains the local/offline embedding path and is
separate from the optionalspring-ai-onnxembedding provider. - Java and Spring baseline raised. The framework now targets Java 21, Spring Boot 4.1.x, and
Spring AI 2.0.x. - Vector lifecycle/admin contract hardened. Vector providers now expose typed capabilities,
readiness evidence, diagnostics, exact lifecycle methods, metadata-filter mode evidence, and
shared contract tests across Docker-backed providers. - RAG and indexing now use selected Spring AI pieces. The framework adds Spring AI document
ingestion helpers and opt-in Spring AI RAG evaluation helpers while keeping AI Fabric RAG policy
and vector providers. - Actions are safer and more connected. Connector-backed actions, DB-backed action registry,
Customer Connector API relay, retrieval connector, Spring AI tool callbacks, and MCP action bridge
paths are hardened and tested. - Real app release proof expanded. The examples now prove product-shaped workflows for chat,
action confirmation/interceptors, data sync, privacy deletion, RAG quality, behavior signals,
relationship query, and migration/backfill. - CI is now release-oriented. New guard scripts reject skipped-test release examples, obvious
production placeholder markers, vector documentation overclaims, and missing provider/vector
readiness proof.
Breaking Changes And Compatibility Notes
1. Runtime Baseline
External applications should run on:
- Java 21
- Maven 3.9+
- Spring Boot 4.1.x
- Spring AI 2.0.x
If your application is still on an older Spring Boot line, plan the Spring/Spring Security/Jakarta
dependency upgrade before adopting this release.
2. Provider Module Replacement
Removed native provider modules:
ai-fabric-provider-openaiai-fabric-provider-azureai-fabric-provider-anthropicai-fabric-provider-geminiai-fabric-provider-cohere
Use:
ai-fabric-provider-spring-aifor cloud LLMs and cloud embeddingsai-fabric-onnx-starterfor native local ONNX embeddings
Provider support in this release:
| Provider id | Chat | Embeddings | Implementation path | Notes |
|---|---|---|---|---|
openai |
Yes | Yes | Spring AI | Default cloud LLM path when enabled and credentials are present. |
azure |
Yes | Yes | Spring AI Azure OpenAI | Requires endpoint and deployment names. |
anthropic |
Yes | No | Spring AI | Select another embedding provider. |
gemini |
Yes | Yes | Spring AI Google GenAI | Uses Gemini chat and text embedding models. |
onnx |
No | Yes | AI Fabric native ONNX starter | Local/offline embedding path. |
spring-ai-onnx |
No | Yes | Spring AI Transformers | Optional Spring AI ONNX embedding path. |
cohere |
No | No | Not active | Configuration shape remains modeled, but execution is not wired in this provider path. |
Cohere configuration objects still exist in core provider configuration for compatibility of modeled
settings, but Cohere is not active in the Spring AI execution path in this release.
3. Spring AI Provider Behavior
AI Fabric now uses Spring AI for commodity provider calls, but AI Fabric still owns:
- provider selection and fallback
- orchestration and intent extraction
- action authorization and confirmation
- transient file input policy
- RAG retrieval policy
- response normalization
- usage and safety metadata
- vector lifecycle/admin behavior
SpringAiModelResolver caches Spring AI chat and embedding model clients by connection identity. It
also supports request-scoped endpoint/model overrides for trusted server-side callers.
4. Embedding Provider Defaults
The default embedding provider remains native onnx when no embedding provider is configured.
Supported embedding choices in this branch:
onnx: native AI Fabric ONNX provider fromai-fabric-onnx-starteropenai: Spring AI OpenAI embeddingsazure: Spring AI Azure OpenAI embeddingsgemini: Spring AI Gemini embeddingsspring-ai-onnx: optional Spring AI Transformers ONNX embeddings
Anthropic and Cohere embeddings are not available through this Spring AI provider path.
5. Cache Names Are Namespaced
Framework-owned Spring cache regions now use explicit AI Fabric names:
ai-fabric-embeddingsai-fabric-vector-searchai-fabric-text-searchai-fabric-generationai-fabric-validationai-fabric-retention-statusai-fabric-behavior-retentionai-fabric-access-decisions
If an external application, metrics dashboard, cache manager, or Redis/Ehcache integration refers to
old generic names such as embeddings, vectorSearch, textSearch, aiGeneration,
aiValidation, retentionStatus, behaviorRetention, or accessDecisions, update those names.
The previous helper native cache beans named embeddingCache, searchCache, and generationCache
are no longer exposed as separate Spring beans by the default cache auto-configuration.
6. Vector Provider Semantics Are Stricter
Vector providers now advertise separate search/admin capabilities:
- similarity-search metadata filtering
- scan/admin metadata filtering
- exact fetch by id
- clear by entity type
- efficient entity-type counts
- hybrid/keyword support
- durability and production-profile posture
Portable metadata filters are exact scalar filters over strings, booleans, and integer/long values.
Unsupported filter shapes fail closed instead of broadening results.
If you switch embedding dimensions, for example from OpenAI default dimensions to ONNX 384, rebuild
or clear existing Lucene indexes before running mixed provider tests or production traffic.
The in-memory vector provider is for demos/tests unless an operator explicitly acknowledges its use
under production profiles with ai.vector-db.memory.allow-in-production=true.
7. Data Sync And Runtime Auth Are More Explicit
ai-fabric-data-sync now has stricter request normalization and verified-auth handling. The new
property:
ai:
data-sync:
allow-trusted-platform-internal-sync-bypass: falsedefaults to false. Enable it only behind a trusted backend/runtime boundary that injects verified
system auth context with the expected data-sync scope.
8. Confirmation Routing Is LLM-Structured, Not Backend Text Matching
Pending action confirmation now relies on LLM-produced structured intent or a dedicated
confirmation-resolution LLM prompt. The backend accepts only canonical confirmation decisions:
POSITIVENEGATIVEUNKNOWN
Natural-language decision labels or synonyms in model output fail closed as UNKNOWN. If you
customized confirmation prompts, update them to output those exact enum values.
9. Relationship Query Is More Tolerant Of Real Model Output
Relationship query planning now tolerates null optional fields and unknown JSON properties from
provider output. Blank queries and execution failures return structured unsuccessful RAGResponse
results with error metadata instead of ambiguous failures.
10. Relay Packaging Is Now Runtime-Proved
ai-fabric-relay now builds as an executable Spring Boot jar, ships Docker improvements, and adds a
Helm chart under:
ai-infrastructure-module/ai-fabric-relay/deploy/helm/ai-fabric-relay
The packaged relay local smoke proves API-key rejection, action forwarding, idempotent replay,
idempotency conflict handling, retrieval forwarding, and documents-only retrieval enforcement.
New And Improved Areas
Spring AI Provider
- New Spring AI provider module for cloud chat and embeddings.
- Dynamic model resolver/cache for provider endpoint/model overrides.
- Spring AI
ChatClientexecution path withChatClientBuilderCustomizersupport. - Redacted Spring AI observation diagnostics.
- Request-scoped Spring AI advisors for trusted Java callers.
- Guarded AI Fabric action tool callbacks exposed through Spring AI.
- Spring AI MCP action bridge for connector-backed
mcp-toolactions.
Core Orchestration And Provider Runtime
- Shared structured JSON extraction is used by core intent parsing and Spring AI structured output
support. AICoreServicenow has stronger provider-purpose routing and content validation tests.- Provider availability checks and startup validation are more explicit.
- Transient input policy remains an AI Fabric policy layer and is verified independently of Spring AI.
- Confirmation routing now uses canonical structured decisions only.
Vector Providers
VectorDatabaseServiceexposes lifecycle/admin capabilities an...