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.

412 lines (384 loc) 10.3 kB
# Artifact Indexing and Addressing Schema # Based on REF-009 Neural Turing Machines # Issues: #186, #187 $schema: "https://json-schema.org/draft/2020-12/schema" $id: "https://aiwg.io/schemas/artifact-indexing/v1" title: "Artifact Indexing and Hybrid Addressing Schema" description: | Schema for optimizing .aiwg/ directory structure with metadata indexing and hybrid location/content-based addressing per REF-009 Neural Turing Machines. type: object required: - version - index_config - addressing properties: version: type: string pattern: "^\\d+\\.\\d+\\.\\d+$" default: "1.0.0" index_config: $ref: "#/$defs/IndexConfig" addressing: $ref: "#/$defs/AddressingConfig" $defs: IndexConfig: type: object description: "Artifact index configuration" properties: enabled: type: boolean default: true storage: type: object properties: index_path: type: string default: ".aiwg/.index/" metadata_file: type: string default: "metadata.json" embeddings_path: type: string default: "embeddings/" auto_update: type: object properties: enabled: type: boolean default: true watch_paths: type: array items: type: string default: - ".aiwg/requirements/" - ".aiwg/architecture/" - ".aiwg/testing/" - ".aiwg/security/" debounce_ms: type: integer default: 1000 performance_targets: type: object properties: query_time_ms: type: integer default: 50 index_build_time_per_100: type: integer default: 500 AddressingConfig: type: object description: "Hybrid addressing configuration" properties: modes: type: array items: type: string enum: [location, semantic, tag, dependency] default: [location, semantic, tag, dependency] syntax: type: object properties: location: type: string default: "@path/to/file.md" description: "Direct file path" semantic: type: string default: "@?\"query text\"" description: "Semantic search query" tag: type: string default: "@#tag1,tag2" description: "Tag-based filter" hybrid: type: string default: "@path/**/?\"query\"" description: "Location + semantic combined" semantic_search: type: object properties: embedding_model: type: string default: "text-embedding-3-small" similarity_threshold: type: number default: 0.7 max_results: type: integer default: 10 # Index structure schema index_structure: description: "Directory structure for artifact index" paths: root: ".aiwg/.index/" metadata: ".aiwg/.index/metadata.json" by_phase: requirements: ".aiwg/.index/requirements.json" architecture: ".aiwg/.index/architecture.json" testing: ".aiwg/.index/testing.json" security: ".aiwg/.index/security.json" deployment: ".aiwg/.index/deployment.json" by_type: ".aiwg/.index/by-type.json" tags: ".aiwg/.index/tags.json" dependencies: ".aiwg/.index/dependencies.json" embeddings: ".aiwg/.index/embeddings/" # Metadata entry schema metadata_entry: type: object required: - path - type - phase properties: path: type: string description: "Relative path from project root" type: type: string enum: - use-case - user-story - nfr - adr - sad - component-design - test-plan - test-case - threat-model - risk-entry - deployment-plan - runbook phase: type: string enum: [requirements, architecture, construction, testing, deployment] title: type: string tags: type: array items: type: string created: type: string format: date-time updated: type: string format: date-time author: type: string dependencies: type: array items: type: string description: "Paths to artifacts this depends on" dependents: type: array items: type: string description: "Paths to artifacts that depend on this" checksum: type: string description: "SHA256 hash for change detection" embedding_id: type: string description: "Reference to semantic embedding" summary: type: string maxLength: 500 description: "Brief content summary for search" # Query interface schema query_interface: type: object properties: find_artifacts: description: "Primary query method" parameters: path: type: string description: "Glob pattern for location-based" semantic_query: type: string description: "Natural language query" type: type: string description: "Artifact type filter" phase: type: string description: "SDLC phase filter" tags: type: array items: type: string updated_after: type: string format: date depends_on: type: string description: "Find artifacts depending on this path" depended_by: type: string description: "Find artifacts this depends on" limit: type: integer default: 20 offset: type: integer default: 0 get_dependencies: description: "Traverse dependency graph" parameters: path: type: string required: true direction: type: string enum: [upstream, downstream, both] default: both depth: type: integer default: 3 # Query result schema query_result: type: object properties: query: type: object description: "Original query parameters" results: type: array items: type: object properties: path: type: string type: type: string title: type: string relevance: type: number description: "Relevance score (0-1)" match_type: type: string enum: [location, semantic, tag, dependency, hybrid] snippet: type: string description: "Relevant content excerpt" total: type: integer query_time_ms: type: number # Agent protocol agent_protocol: build_index: description: "Build or rebuild artifact index" triggers: - startup - manual_request - artifact_created - artifact_modified steps: - scan_aiwg_directories - for_each_artifact: - extract_metadata - compute_checksum - generate_embedding - extract_dependencies - build_phase_indexes - build_type_index - build_tag_index - build_dependency_graph - persist_indexes query_artifacts: description: "Execute artifact query" steps: - parse_query_syntax - determine_addressing_modes - if_location_mode: - resolve_glob_patterns - filter_by_existence - if_semantic_mode: - generate_query_embedding - compute_similarities - rank_by_relevance - if_tag_mode: - lookup_tag_index - if_dependency_mode: - traverse_dependency_graph - combine_results - apply_additional_filters - sort_and_limit - return_results update_on_change: description: "Incremental index update" triggers: - file_created - file_modified - file_deleted steps: - identify_changed_artifact - if_deleted: - remove_from_indexes - update_dependents - else: - reindex_artifact - update_dependency_links - persist_changes # CLI commands cli_commands: index_build: command: "aiwg index build" description: "Build artifact index" options: - name: "--force" description: "Force full rebuild" - name: "--verbose" description: "Show indexing progress" index_query: command: "aiwg index query <query>" description: "Query artifact index" options: - name: "--type" description: "Filter by artifact type" - name: "--phase" description: "Filter by SDLC phase" - name: "--tags" description: "Filter by tags" - name: "--semantic" description: "Use semantic search" - name: "--json" description: "Output as JSON" index_deps: command: "aiwg index deps <path>" description: "Show dependency graph" options: - name: "--direction" description: "upstream, downstream, or both" - name: "--depth" description: "Maximum traversal depth" index_stats: command: "aiwg index stats" description: "Show index statistics" # Performance targets (from REF-009) research_targets: content_addressable: "Enable retrieval by content similarity" location_addressable: "Support direct path navigation" hybrid_queries: "Combine both addressing modes" query_performance: "<50ms for indexed queries" # Storage storage: index_root: ".aiwg/.index/" backup_path: ".aiwg/.index/backup/" cache_path: ".aiwg/.index/cache/" # References references: research: - "@.aiwg/research/findings/REF-009-neural-turing-machines.md" implementation: - "#186" - "#187" related: - "@agentic/code/frameworks/sdlc-complete/schemas/flows/semantic-agent-discovery.yaml" - "@.claude/rules/mention-wiring.md"