UNPKG

aiwg

Version:

Cognitive architecture for AI-augmented software development with structured memory, ensemble validation, and closed-loop correction. FAIR-aligned artifacts, 84% cost reduction via human-in-the-loop, standards adopted by 100+ organizations.

374 lines (341 loc) 9.09 kB
# PROV-JSON Export Schema # Based on REF-062 W3C PROV-DM # Issue: #138 $schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://aiwg.io/schemas/prov-json/v1" title: "W3C PROV-JSON Export Schema" description: | Schema for exporting AIWG provenance as W3C PROV-JSON format. Enables interoperability with standard provenance tools. type: object required: - prefix - entity properties: prefix: type: object description: "Namespace prefixes" properties: prov: type: string const: "http://www.w3.org/ns/prov#" aiwg: type: string const: "https://aiwg.io/provenance/" xsd: type: string const: "http://www.w3.org/2001/XMLSchema#" additionalProperties: type: string entity: type: object additionalProperties: $ref: "#/$defs/Entity" description: "PROV entities (artifacts, documents)" activity: type: object additionalProperties: $ref: "#/$defs/Activity" description: "PROV activities (workflow executions)" agent: type: object additionalProperties: $ref: "#/$defs/Agent" description: "PROV agents (users, AI agents)" wasGeneratedBy: type: object additionalProperties: $ref: "#/$defs/Generation" description: "Entity generated by activity" used: type: object additionalProperties: $ref: "#/$defs/Usage" description: "Activity used entity" wasAttributedTo: type: object additionalProperties: $ref: "#/$defs/Attribution" description: "Entity attributed to agent" wasAssociatedWith: type: object additionalProperties: $ref: "#/$defs/Association" description: "Activity associated with agent" wasDerivedFrom: type: object additionalProperties: $ref: "#/$defs/Derivation" description: "Entity derived from entity" actedOnBehalfOf: type: object additionalProperties: $ref: "#/$defs/Delegation" description: "Agent acted on behalf of agent" $defs: Entity: type: object properties: "prov:type": type: string "prov:value": type: string "prov:generatedAtTime": type: string format: date-time "prov:invalidatedAtTime": type: string format: date-time "aiwg:version": type: string "aiwg:artifactType": type: string enum: - UseCase - UserStory - Requirement - Architecture - SourceCode - Test - Documentation - Research additionalProperties: true Activity: type: object properties: "prov:type": type: string "prov:startedAtTime": type: string format: date-time "prov:endedAtTime": type: string format: date-time "aiwg:phase": type: string enum: [concept, inception, elaboration, construction, transition] "aiwg:workflow": type: string "aiwg:iteration": type: integer additionalProperties: true Agent: type: object properties: "prov:type": type: string enum: - "prov:Person" - "prov:SoftwareAgent" - "aiwg:AIAgent" "aiwg:role": type: string "aiwg:model": type: string description: "AI model if applicable" additionalProperties: true Generation: type: object required: - "prov:entity" - "prov:activity" properties: "prov:entity": type: string description: "Generated entity ID" "prov:activity": type: string description: "Generating activity ID" "prov:time": type: string format: date-time Usage: type: object required: - "prov:activity" - "prov:entity" properties: "prov:activity": type: string description: "Using activity ID" "prov:entity": type: string description: "Used entity ID" "prov:time": type: string format: date-time Attribution: type: object required: - "prov:entity" - "prov:agent" properties: "prov:entity": type: string description: "Attributed entity ID" "prov:agent": type: string description: "Responsible agent ID" Association: type: object required: - "prov:activity" - "prov:agent" properties: "prov:activity": type: string description: "Associated activity ID" "prov:agent": type: string description: "Associated agent ID" "prov:plan": type: string description: "Plan entity ID" Derivation: type: object required: - "prov:generatedEntity" - "prov:usedEntity" properties: "prov:generatedEntity": type: string description: "Derived entity ID" "prov:usedEntity": type: string description: "Source entity ID" "prov:activity": type: string description: "Deriving activity ID" "prov:type": type: string enum: - "prov:Revision" - "prov:Quotation" - "prov:PrimarySource" - "aiwg:Implementation" - "aiwg:Test" Delegation: type: object required: - "prov:delegate" - "prov:responsible" properties: "prov:delegate": type: string description: "Delegate agent ID" "prov:responsible": type: string description: "Responsible agent ID" "prov:activity": type: string description: "Associated activity ID" # AIWG to PROV-JSON mapping mapping: artifacts_to_entities: use_case: "aiwg:UseCase" user_story: "aiwg:UserStory" requirement: "aiwg:Requirement" architecture: "aiwg:Architecture" source_code: "aiwg:SourceCode" test: "aiwg:Test" documentation: "aiwg:Documentation" research: "aiwg:Research" workflows_to_activities: sdlc_phase: "aiwg:SDLCPhase" ralph_iteration: "aiwg:RalphIteration" agent_invocation: "aiwg:AgentInvocation" agents_to_agents: human_user: "prov:Person" ai_agent: "aiwg:AIAgent" tool: "prov:SoftwareAgent" # Export formats export_formats: prov_json: extension: ".prov.json" mime_type: "application/json" description: "Standard PROV-JSON" prov_n: extension: ".prov.n" mime_type: "text/provenance-notation" description: "PROV-N notation" graphviz_dot: extension: ".dot" mime_type: "text/vnd.graphviz" description: "GraphViz DOT for visualization" # Agent protocol agent_protocol: export_workflow: description: "Export provenance as PROV-JSON" steps: - load_provenance_records - build_entity_map - build_activity_map - build_agent_map - build_relationships - validate_prov_json - write_output validation: description: "Validate PROV-JSON conformance" checks: - required_fields_present - entity_references_valid - activity_references_valid - agent_references_valid - timestamps_valid # Visualization visualization: graphviz: node_styles: entity: "shape=ellipse, color=yellow" activity: "shape=box, color=blue" agent: "shape=house, color=green" edge_styles: wasGeneratedBy: "color=blue" used: "color=blue, style=dashed" wasAttributedTo: "color=green" wasDerivedFrom: "color=red" # Examples examples: simple_derivation: prefix: prov: "http://www.w3.org/ns/prov#" aiwg: "https://aiwg.io/provenance/" entity: "aiwg:artifact/UC-001.md": "prov:type": "aiwg:UseCase" "aiwg:version": "1.0" "prov:generatedAtTime": "2026-01-25T10:00:00Z" "aiwg:artifact/src/auth/login.ts": "prov:type": "aiwg:SourceCode" "aiwg:version": "1.0" activity: "aiwg:workflow/construction-001": "prov:type": "aiwg:SDLCPhase" "aiwg:phase": "construction" "prov:startedAtTime": "2026-01-25T11:00:00Z" "prov:endedAtTime": "2026-01-25T12:00:00Z" agent: "aiwg:agent/software-implementer": "prov:type": "aiwg:AIAgent" "aiwg:role": "SoftwareImplementer" wasGeneratedBy: "_:wGB1": "prov:entity": "aiwg:artifact/src/auth/login.ts" "prov:activity": "aiwg:workflow/construction-001" wasDerivedFrom: "_:wDF1": "prov:generatedEntity": "aiwg:artifact/src/auth/login.ts" "prov:usedEntity": "aiwg:artifact/UC-001.md" "prov:type": "aiwg:Implementation" # References references: research: - "@.aiwg/research/findings/REF-062-w3c-prov.md" implementation: - "#138" related: - "@agentic/code/frameworks/sdlc-complete/schemas/provenance/prov-record.yaml" - "@agentic/code/frameworks/sdlc-complete/schemas/provenance/derivation-graph.yaml" external: - "https://www.w3.org/TR/prov-json/" - "https://www.w3.org/TR/prov-dm/"