🌐 Open Knowledge Foundation (OKF) & JSON Schema Architecture
Document ID: TASLEEMAT-GUIDE-12-OPEN-KNOWLEDGE
Version: 2.0
Compliance Standards: Open Knowledge Foundation (OKF) Frictionless Data Package Standard, JSON Schema (Draft 2020-12), FAIR Data Principles
🎯 Executive Overview
Tasleemat (تسليمات) conforms to the Open Knowledge Foundation (OKF) Frictionless Data Package specification using native JSON Schemas, making it one of the world's first fully open, machine-readable, bilingual Project Management Office (PMO) operating frameworks.
By providing a root datapackage.json, Tasleemat enables data scientists, AI engineers, and enterprise architects to query, validate, and integrate all 228 deliverable JSON schemas directly into REST APIs, autonomous AI agent toolchains, and project analytics pipelines.
flowchart TD
subgraph "OKF Frictionless Data Architecture"
DP["<b>datapackage.json</b><br/>(Root Manifest)"]
JS["<b>JSON Schema Standard</b><br/>(Structured Fields, Guidance & Prompts)"]
FAIR["<b>FAIR Principles</b><br/>(Findable, Accessible, Interoperable, Reusable)"]
DP --> JS
DP --> FAIR
end
subgraph "Tasleemat JSON Schema Resources"
EN_RES["114 English JSON Schemas<br/>(forms/en/**/*.json)"]
AR_RES["114 Arabic JSON Schemas<br/>(forms/ar/**/*.json)"]
DP --> EN_RES
DP --> AR_RES
end
subgraph "Enterprise Ingestion & AI Agents"
V["tools/validate_okf.py"]
LLM["Autonomous AI Agent Function Calling"]
API["Enterprise REST APIs & Dashboards"]
EN_RES & AR_RES --> V
EN_RES & AR_RES --> LLM
EN_RES & AR_RES --> API
end
🗂️ The Four Distinct Data & Schema Layers
To prevent architectural conflation between form definitions and runtime project payloads, Tasleemat enforces four distinct data and schema layers:
- Layer 1: Form Section Schemas (
forms/{en,ar}/**/*.json): Form-level section definitions, fields, labels, guidance, and default placeholders used for template scaffolding. - Layer 2: OKF Frictionless Data Package (
datapackage.json): Repository-level open data catalog referencing all 228 bilingual form schema resources. - Layer 3: Draft 2020-12 Companion Schemas (
schemas/completed/PMO-*.schema.json): High-integrity validation contracts covering completed runtime deliverable payloads instrictanddraftmodes. - Layer 4: Runtime Project Payloads: Actual business data submitted by users, CLI scaffolds, or AI agents, validated against Layer 3 companion schemas.
📦 The datapackage.json Specification
Located at the repository root, datapackage.json indexes all 228 deliverable schemas as Frictionless JSON Resources:
{
"profile": "data-package",
"name": "tasleemat-pmo-framework",
"title": "Tasleemat: Enterprise Bilingual (English & Arabic) Project Management Framework",
"version": "2.0.0",
"licenses": [{"name": "MIT", "path": "https://opensource.org/licenses/MIT"}],
"resources": [
{
"name": "en-03-01-project-charter",
"title": "PROJECT CHARTER",
"reference": "PMO-03.01",
"path": "forms/en/03_Initiating/01_Project_Charter/03_01_Project_Charter.json",
"format": "json",
"mediatype": "application/json",
"encoding": "utf-8",
"language": "en",
"direction": "ltr",
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["form_name", "document_reference", "fields"]
}
}
]
}
🛠️ Validating OKF JSON Compliance
The repository includes a dedicated validator script:
# Run the built-in OKF JSON Schema validator
python3 tools/validate_okf.py
💡 Why JSON Schemas in OKF?
- AI Agent Tool Calling: Modern LLMs (Gemini, Claude, GPT-4) consume JSON schemas natively for function calling and structured document generation.
- Hierarchical Field Metadata: Each field carries explicit
section,label,guidance, and targetvalueproperties. - Bilingual Symmetry (en / ar-SA): Preserves bidirectional text orientation flags (
ltrandrtl) and UTF-8 encoding across all 228 schemas.
🤖 Practical LLM Integration with OKF Schemas
1. Function Calling & Tool Definition (OpenAI & Anthropic Claude)
By passing Tasleemat schemas directly into LLM tool definitions, you constrain model responses to guaranteed structured data:
import tasleemat
# 1. Fetch schema definition from Tasleemat
schema = tasleemat.get_artifact_asset("PMO-03.01", role="schema", lang="en")
# 2. Define tool for Claude / OpenAI API
pmo_tool = {
"name": "generate_project_charter",
"description": "Generate a formal PMI PMBOK® Project Charter document payload",
"input_schema": schema # Conforms to Draft 2020-12 / OpenAPI
}
2. In-Context Self-Correction Feedback Loop
When LLMs draft complex project data, schema validation can be coupled with automated retry loops:
import tasleemat
def generate_and_validate(llm_client, user_notes):
# Prompt LLM for structured output
raw_payload = llm_client.generate_json(user_notes)
# Validate against Tasleemat strict companion contract
report = tasleemat.validate_artifact_data("PMO-03.01", raw_payload, mode="strict")
if not report.valid:
# Construct surgical feedback prompt with exact JSON pointer paths
corrections = [f"Field: {err.field_path} -> {err.message}" for err in report.errors]
feedback = f"The generated payload had schema errors:\n" + "\n".join(corrections)
# LLM self-corrects based on exact validation errors
return llm_client.generate_json(feedback)
return raw_payload