Initial public ModelForge release

This commit is contained in:
Jens
2026-09-01 21:30:16 +02:00
commit 7082ab955a
490 changed files with 104252 additions and 0 deletions
@@ -0,0 +1,14 @@
suite:
id: examplerag-retrieval-v1
capability: rag.embedding
version: 1
purpose: Compare embedding deployments against representative ExampleRAG retrieval cases.
dataset_revision: pending-curated-fixture
runnable: false
metrics:
required: [recall_at_5, recall_at_10, mrr, ndcg_at_10]
performance:
capture: [latency_p50, latency_p95, peak_vram_mb, throughput_items_per_second]
release_policy:
forbid_unexplained_regression_percent: 2.0
requires_project_owner_review: true
@@ -0,0 +1,13 @@
suite:
id: examplevision-card-retrieval-v1
capability: vision.embedding
version: 1
purpose: Rank the correct Pokémon card among visually similar catalog candidates.
dataset_revision: pending-curated-fixture
runnable: false
metrics:
required: [recall_at_1, recall_at_5, recall_at_10, mrr]
performance:
capture: [latency_p50, latency_p95, peak_vram_mb]
release_policy:
requires_project_owner_review: true
@@ -0,0 +1,35 @@
capability: assistant.general
version: 1
description: General local text and multimodal assistant workloads.
input_schema:
type: object
required: [messages]
properties:
messages: {type: array, minItems: 1}
response_schema: {type: object}
output_schema:
type: object
required: [content]
properties:
content: {type: string}
structured_output: {type: object}
tool_calls: {type: array}
modalities: {input: [text, image], output: [text, json, tool_call]}
languages: [nl, en]
streaming: true
structured_output: true
quality_metrics: [task_success, instruction_following, structured_output_validity]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: keep_warm
estate:
category: ASSISTANTS
purpose: Future local general assistant contract; not an M9 executable baseline.
stability: planned
resource_class: EXCLUSIVE_GPU
evaluation_type: llm
consumers: [example-ops]
payload_limits: {max_bytes: 262144, max_batch_count: 1}
@@ -0,0 +1,24 @@
capability: assistant.vision
version: 1
description: Visual question answering and structured image reasoning.
input_schema: {type: object, required: [image, prompt], properties: {image: {type: string}, prompt: {type: string}}}
output_schema: {type: object, required: [content], properties: {content: {type: string}, structured_output: {type: object}}}
modalities: {input: [image, text], output: [text, json]}
languages: [nl, en]
streaming: false
structured_output: true
quality_metrics: [task_success, structured_output_validity]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: load_on_demand
estate:
category: ASSISTANTS
purpose: Future local image reasoning contract; not an M9 executable baseline.
stability: planned
resource_class: EXCLUSIVE_GPU
evaluation_type: llm
consumers: [examplevision, example-ops]
payload_limits: {max_bytes: 8388608, max_batch_count: 1, max_width: 4096, max_height: 4096}
+38
View File
@@ -0,0 +1,38 @@
capability: document.ocr
version: 1
description: OCR and structured document extraction.
input_schema:
type: object
additionalProperties: false
required: [content_base64, media_type]
properties:
content_base64: {type: string, minLength: 4, maxLength: 11184812}
media_type: {enum: [image/png, image/jpeg]}
language_hint: {enum: [nl, en, auto]}
output_schema:
type: object
additionalProperties: false
required: [text, pages]
properties:
text: {type: string}
pages: {type: array, minItems: 1, maxItems: 1}
blocks: {type: array}
confidence: {type: [number, 'null']}
modalities: {input: [image, document], output: [text, json]}
languages: [nl, en]
structured_output: true
quality_metrics: [cer, wer, field_accuracy, layout_accuracy]
upgrade_class: schema_breaking
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: restricted, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: background
default_residency: load_on_demand
estate:
category: DOCUMENT
purpose: Offline text extraction from bounded local document images.
stability: experimental
resource_class: MEDIUM
evaluation_type: ocr
consumers: [examplerag, examplevision, example-ops]
payload_limits: {max_bytes: 8388608, max_batch_count: 1, max_width: 4096, max_height: 4096, max_pages: 1}
+40
View File
@@ -0,0 +1,40 @@
capability: rag.embedding
version: 1
description: Multilingual text embeddings for semantic retrieval.
input_schema:
type: object
additionalProperties: false
required: [input]
properties:
input:
oneOf:
- {type: string, minLength: 1, maxLength: 8192}
- {type: array, items: {type: string, minLength: 1, maxLength: 8192}, minItems: 1, maxItems: 8}
output_schema:
type: object
additionalProperties: false
required: [vectors, dimension, normalized, embedding_space_id]
properties:
vectors: {type: array, minItems: 1, maxItems: 8, items: {type: array, minItems: 1024, maxItems: 1024, items: {type: number}}}
dimension: {const: 1024}
normalized: {const: true}
embedding_space_id: {type: string, format: uuid}
modalities: {input: [text], output: [vector]}
languages: [nl, en]
vector: {dimensionality: 1024, normalized: true, cross_deployment_compatible: false}
slo: {latency_p95_ms: 15000, availability_percent: 99.0, max_concurrency: 1}
quality_metrics: [recall_at_5, recall_at_10, mrr, ndcg_at_10]
upgrade_class: requires_reindex
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: production
default_residency: keep_warm
estate:
category: RAG
purpose: Multilingual semantic retrieval for local knowledge projects.
stability: stable
resource_class: MEDIUM
evaluation_type: retrieval
consumers: [examplerag, portfolio-assistant]
payload_limits: {max_bytes: 65536, max_batch_count: 8}
+54
View File
@@ -0,0 +1,54 @@
capability: rag.reranking
version: 1
description: Second-stage ranking of retrieved text candidates.
input_schema:
type: object
additionalProperties: false
required: [query, documents, top_n]
properties:
query: {type: string, minLength: 1, maxLength: 4000}
documents:
type: array
minItems: 1
maxItems: 40
items:
type: object
additionalProperties: false
required: [id, text]
properties:
id: {type: string, minLength: 1, maxLength: 255}
text: {type: string, minLength: 1, maxLength: 16384}
top_n: {type: integer, minimum: 1, maximum: 10}
output_schema:
type: object
additionalProperties: false
required: [results]
properties:
results:
type: array
maxItems: 10
items:
type: object
additionalProperties: false
required: [id, score, rank]
properties:
id: {type: string}
score: {type: number}
rank: {type: integer, minimum: 1, maximum: 10}
modalities: {input: [text], output: [score]}
languages: [nl, en]
quality_metrics: [mrr, ndcg_at_10, ranking_accuracy]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: production
default_residency: load_on_demand
estate:
category: RAG
purpose: Evidence-gated second-stage ranking for retrieval pipelines.
stability: experimental
resource_class: MEDIUM
evaluation_type: retrieval
consumers: [examplerag]
payload_limits: {max_bytes: 262144, max_batch_count: 40}
@@ -0,0 +1,39 @@
capability: speech.transcription
version: 1
description: Offline bounded speech-to-text transcription.
input_schema:
type: object
additionalProperties: false
required: [audio_base64, media_type]
properties:
audio_base64: {type: string, minLength: 4, maxLength: 22369624}
media_type: {const: audio/wav}
language: {enum: [nl, en, fr, auto]}
output_schema:
type: object
additionalProperties: false
required: [text, language, duration_seconds]
properties:
text: {type: string}
language: {type: string}
duration_seconds: {type: number}
segments: {type: array}
modalities: {input: [audio], output: [text, json]}
languages: [nl, en, fr]
streaming: false
structured_output: true
quality_metrics: [wer, real_time_factor]
upgrade_class: behavioral
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: restricted, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: background
default_residency: load_on_demand
estate:
category: AUDIO
purpose: Private local transcription of bounded WAV audio without cloud fallback.
stability: experimental
resource_class: HEAVY
evaluation_type: asr
consumers: []
payload_limits: {max_bytes: 16777216, max_batch_count: 1, max_duration_seconds: 120}
@@ -0,0 +1,39 @@
capability: vision.embedding
version: 1
description: Image/text embeddings for visual retrieval.
input_schema:
type: object
additionalProperties: false
required: [items]
properties:
items:
type: array
minItems: 1
maxItems: 4
items:
oneOf:
- {type: object, additionalProperties: false, required: [image_base64, media_type], properties: {image_base64: {type: string}, media_type: {enum: [image/png, image/jpeg]}}}
- {type: object, additionalProperties: false, required: [text], properties: {text: {type: string, minLength: 1, maxLength: 4096}}}
output_schema:
type: object
required: [vectors]
properties:
vectors: {type: array, items: {type: array, items: {type: number}}}
modalities: {input: [image, text], output: [vector]}
languages: [nl, en]
vector: {dimensionality: null, normalized: null, cross_deployment_compatible: false}
quality_metrics: [recall_at_1, recall_at_5, recall_at_10, mrr]
upgrade_class: requires_reindex
fallback: {allowed: false, mode: hard_fail}
privacy: {classification: confidential, allow_persistence: false, allow_logging_payloads: false, allow_network_egress: false}
resources: {accelerator_required: true, cpu_fallback_allowed: false}
production_priority: interactive
default_residency: load_on_demand
estate:
category: VISION
purpose: Shared image and text vector space for local visual retrieval.
stability: experimental
resource_class: HEAVY
evaluation_type: visual-retrieval
consumers: [examplevision]
payload_limits: {max_bytes: 8388608, max_batch_count: 4, max_width: 4096, max_height: 4096}
+97
View File
@@ -0,0 +1,97 @@
# Seed discovery list only. Nothing in this file is implicitly production-approved.
# Exact upstream IDs, revisions, licenses, runtimes and hardware compatibility must be verified.
candidates:
- id: qwen-general
display_name: Qwen3.5-9B
source: Qwen/Qwen3.5-9B
intended_capabilities: [assistant.general, assistant.vision]
proposed_role: General and vision assistant candidate
preferred_runtime: vllm
- id: gpt-oss-reasoning
display_name: gpt-oss-20b
source: openai/gpt-oss-20b
intended_capabilities: [assistant.reasoning]
proposed_role: Reasoning and tool-use candidate
preferred_runtime: vllm
- id: qwen-coder
display_name: Qwen2.5-Coder-14B-Instruct
source: Qwen/Qwen2.5-Coder-14B-Instruct
intended_capabilities: [assistant.coding]
proposed_role: Coding assistant candidate
preferred_runtime: vllm
- id: qwen-embed-fast
display_name: Qwen3-Embedding-0.6B
source: Qwen/Qwen3-Embedding-0.6B
intended_capabilities: [rag.embedding.fast]
proposed_role: Latency-oriented embedding candidate
- id: qwen-embed-quality
display_name: Qwen3-Embedding-4B
source: Qwen/Qwen3-Embedding-4B
intended_capabilities: [rag.embedding.quality]
proposed_role: Quality-oriented embedding candidate
- id: qwen-reranker-fast
display_name: Qwen3-Reranker-0.6B
source: Qwen/Qwen3-Reranker-0.6B
intended_capabilities: [rag.reranking.fast]
proposed_role: Latency-oriented reranking candidate
- id: qwen-reranker-quality
display_name: Qwen3-Reranker-4B
source: Qwen/Qwen3-Reranker-4B
intended_capabilities: [rag.reranking.quality]
proposed_role: Quality-oriented reranking candidate
- id: bge-m3
display_name: BGE-M3
source: BAAI/bge-m3
intended_capabilities: [rag.hybrid_embedding]
proposed_role: Hybrid retrieval reference candidate
- id: paddleocr-vl
display_name: PaddleOCR-VL
source: PaddlePaddle/PaddleOCR-VL-1.5
intended_capabilities: [document.ocr, document.layout]
proposed_role: OCR and document-layout candidate
- id: siglip2
display_name: SigLIP2 So400m
source: google/siglip2-so400m-patch14-384
intended_capabilities: [vision.embedding]
proposed_role: Visual retrieval candidate
- id: sam21
display_name: SAM 2.1 Large
source: facebook/sam2.1-hiera-large
intended_capabilities: [vision.segmentation]
proposed_role: Image segmentation candidate
- id: dinov3
display_name: DINOv3 ViT-L
source: facebook/dinov3-vitl16-pretrain-lvd1689m
intended_capabilities: [vision.features]
proposed_role: Visual feature extraction candidate
- id: whisper-turbo
display_name: Whisper large-v3-turbo
source: openai/whisper-large-v3-turbo
intended_capabilities: [speech.transcription]
proposed_role: Speech transcription candidate
- id: chatterbox
display_name: Chatterbox Multilingual
source: ResembleAI/chatterbox
intended_capabilities: [speech.synthesis]
proposed_role: Speech synthesis candidate
- id: flux-klein
display_name: FLUX.2 klein 4B
source: black-forest-labs/FLUX.2-klein-4B
intended_capabilities: [image.generation, image.editing]
proposed_role: Image generation and editing candidate
preferred_runtime: diffusers
+24
View File
@@ -0,0 +1,24 @@
security:
trust_remote_code: false
prefer_safetensors: true
require_exact_revision_for_approval: true
require_artifact_digest: true
inference_network_egress: false
expose_runtime_workers: false
lifecycle:
automatic_production_promotion: false
require_local_benchmark_for_stable: true
retain_previous_stable_as_rollback_target: true
destructive_cleanup_requires_explicit_approval: true
scheduler:
priority_order: [production, interactive, background, benchmark, maintenance]
reserve_vram_mb: 1024
default_warm_ttl_seconds: 900
benchmark_may_disrupt_production: false
upgrades:
default_behavioral_change_class: behavioral
vector_producer_default_change_class: requires_reindex
schema_change_requires_contract_version_bump: true
+15
View File
@@ -0,0 +1,15 @@
project:
id: example-ops
name: ExampleOps
description: Deterministic network configuration generation from structured requirements.
bindings:
assistant.general:
contract_version: 1
channel: stable
priority: interactive
benchmark_suites: [netops-requirements-extraction-v1]
notes:
- LLM output must be normalized into a validated intermediate representation.
- Final device CLI must be generated by deterministic logic, not direct unconstrained LLM output.
+24
View File
@@ -0,0 +1,24 @@
project:
id: examplerag
name: ExampleRAG
description: Central retrieval-augmented-generation platform.
bindings:
rag.embedding:
contract_version: 1
channel: stable
priority: production
migration_support: reindex
benchmark_suites: [examplerag-retrieval-v1]
rag.reranking:
contract_version: 1
channel: stable
priority: production
benchmark_suites: [examplerag-reranking-v1]
document.ocr:
contract_version: 1
channel: stable
priority: background
optional: true
+34
View File
@@ -0,0 +1,34 @@
project:
id: examplevision
name: ExampleVision
description: Pokémon card collection, recognition and value tracking.
bindings:
vision.embedding:
contract_version: 1
channel: experimental
priority: interactive
migration_support: reindex
benchmark_suites: [examplevision-card-retrieval-v1]
document.ocr:
contract_version: 1
channel: experimental
priority: interactive
benchmark_suites: [examplevision-card-ocr-v1]
speech.transcription:
contract_version: 1
channel: experimental
priority: interactive
benchmark_suites: [examplevision-spoken-card-search-v1]
assistant.vision:
contract_version: 1
channel: stable
priority: interactive
benchmark_suites: [examplevision-card-reasoning-v1]
notes:
- Vision embedding and speech transcription are shadow integrations; neither changes the production recognizer.
- Document OCR remains experimental until a safe candidate passes the project quality gate.
@@ -0,0 +1,23 @@
{
"schema_version": 1,
"reviewed_at": "2026-09-01",
"review_reference": "docs/quality/V1_2_1_RELEASE_VERIFICATION.md",
"vulnerabilities": [
{"vulnerability_id": "CVE-2026-41992", "package": "gzip", "installed_version": "1.13-1", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-54369", "package": "libacl1", "installed_version": "2.3.2-2+b1", "severity": "HIGH"},
{"vulnerability_id": "CVE-2025-69720", "package": "libncursesw6", "installed_version": "6.5+20250216-2", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-11822", "package": "libsqlite3-0", "installed_version": "3.46.1-7+deb13u1", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-11824", "package": "libsqlite3-0", "installed_version": "3.46.1-7+deb13u1", "severity": "HIGH"},
{"vulnerability_id": "CVE-2025-69720", "package": "libtinfo6", "installed_version": "6.5+20250216-2", "severity": "HIGH"},
{"vulnerability_id": "CVE-2025-69720", "package": "ncurses-base", "installed_version": "6.5+20250216-2", "severity": "HIGH"},
{"vulnerability_id": "CVE-2025-69720", "package": "ncurses-bin", "installed_version": "6.5+20250216-2", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-13221", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "CRITICAL"},
{"vulnerability_id": "CVE-2026-42496", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "CRITICAL"},
{"vulnerability_id": "CVE-2026-8376", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "CRITICAL"},
{"vulnerability_id": "CVE-2026-42497", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-48962", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-57432", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-57433", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "HIGH"},
{"vulnerability_id": "CVE-2026-9538", "package": "perl-base", "installed_version": "5.40.1-6", "severity": "HIGH"}
]
}