{
  "schema_version": "1.0",
  "audit_id": "AUD-SUBSTRATE-PARITY-2026-07-15",
  "title": "AI-Collab shipped capability parity against PRD Plugin 0.15.5",
  "audited_at": "2026-07-15",
  "source_versions": {
    "ai_collab": {"version": "1.0.0", "commit": "ba0e33e5"},
    "prd_plugin": {"version": "0.15.5", "commit": "d91a5ff"}
  },
  "scope": "Every shipped AI-Collab subsystem and agent-facing capability group is classified against the PRD Plugin adapter, deterministic workflows, config, skills, hooks, UTCP/MCP surfaces, and downstream delivery. Deliberate exclusions remain visible rather than being silently omitted.",
  "sources": [
    "D:/Projects/AI-Collab-v3/docs/ai-collab-v3-ingest-manual.html",
    "D:/Projects/AI-Collab-v3/utcp.json",
    "D:/Projects/AI-Collab-v3/tools/conduit/toolkit.mjs",
    "D:/Projects/AI-Collab-v3/tools/hub/catalog.mjs",
    "D:/Projects/AI-Collab-v3/tools/repo-indexer.mjs",
    "D:/Projects/AI-Collab-v3/tools/knowledge/",
    "D:/Projects/AI-Collab-v3/web/src/components/KnowledgePanel.tsx",
    "scripts/prd_substrate.py",
    "scripts/prd_test_scope.py",
    "scripts/prd_reporting.py",
    "scripts/prd_workflows.py",
    "templates/workflows.json",
    "templates/config.json",
    "skills/",
    "utcp.json",
    "mcp/server.cjs"
  ],
  "summary": {
    "substrate_subsystems_reviewed": 24,
    "fully_aligned": 0,
    "partially_aligned": 7,
    "missing_integration": 14,
    "deliberate_discovery_only": 3,
    "chml": {"critical": 0, "high": 4, "medium": 10, "low": 5},
    "conclusion": "AI-Collab has a shipped, evidence-backed runtime and knowledge surface, but PRD Plugin exposes only a local projection contract. The claimed runtime command does not exist, most coordinate capabilities have no executor, and workflows do not consume the Substrate. Synchronization requires one versioned executable bridge, capability negotiation, intent-to-tool mappings, safe fallbacks, and downstream parity enforcement; it does not require a second runtime or index."
  },
  "capability_matrix": [
    {
      "id": "CAP-001",
      "substrate_capability": "Identity, workspace/repository access, RLS and signed caller context",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["whoami", "conduit.setup", "participant_repo_access", "resolveKnowledgeRepos"],
      "gap": "PRD handshake has no runtime endpoint, workspace binding, caller identity, authorization scope, or negotiated runtime version; repo_id is supplied ad hoc per call.",
      "target": "Versioned connection/identity section with fail-closed workspace and repository binding."
    },
    {
      "id": "CAP-002",
      "substrate_capability": "Conduit MCP and Tool Hub capability discovery",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["100 committed UTCP tools", "hub.list", "hub.search", "hub.call"],
      "gap": "PRD publishes its own UTCP manual but never discovers or calls the Substrate catalog; skills contain generic discovery prose without executable tool mappings.",
      "target": "Runtime capability inventory and guarded discover-then-call action."
    },
    {
      "id": "CAP-003",
      "substrate_capability": "Canonical PRD record retrieval across repositories",
      "substrate_state": "shipped consumer path",
      "prd_state": "partial",
      "evidence": ["tracking", "decisions", "compliance.claims", "prd_substrate snapshot"],
      "gap": "AI-Collab reads PRD JSON directly while PRD also defines a snapshot contract; the two read paths have different schemas, filtering, validation, and authorization.",
      "target": "One adapter-owned read contract consumed by AI-Collab, with direct-file fallback explicitly bounded and audited."
    },
    {
      "id": "CAP-004",
      "substrate_capability": "Causal graph, event provenance and counterfactual reasoning",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["why", "replay_capsule", "counterfactual", "prd_substrate graph"],
      "gap": "Graph export exists, but events are advertised as an observe capability with no event export action; PRD workflows never query causal provenance.",
      "target": "Implement or remove the events claim, and map causal queries to debugging/review only when a bus capsule exists."
    },
    {
      "id": "CAP-005",
      "substrate_capability": "Repository indexing, CINT code recall, callers and references",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["index_status", "index_repo", "code_recall", "native caller/reference graph"],
      "gap": "PRD emits structural requests inside a verification plan but has no runtime consumer, index readiness check, or code-recall workflow action.",
      "target": "Index readiness preflight plus source-bounded code/context retrieval actions."
    },
    {
      "id": "CAP-006",
      "substrate_capability": "Knowledge Hub: permission-safe cross-repo docs/manual/wiki retrieval and freshness",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["knowledge.search", "knowledge.freshness", "docs_recall", "wiki heading-aware ingestion", "KnowledgePanel"],
      "gap": "project-llm-wiki remains local-file-only and does not register, query, fetch, or surface federated wiki knowledge.",
      "target": "Substrate-first federated wiki query with local deterministic fallback and HTML browse URL support."
    },
    {
      "id": "CAP-007",
      "substrate_capability": "Durable agent memory, graph memory and multi-vector memory",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["memory.remember", "memory.recall", "memory.forget", "agent_memory", "gmem", "mv"],
      "gap": "PRD method says to use Substrate memory first but no skill, hook, action, or adapter operation performs recall or promotion.",
      "target": "Read-through recall at session/task entry and provenance-gated promotion at closeout, without replacing canonical PRD memory."
    },
    {
      "id": "CAP-008",
      "substrate_capability": "Context packs and frame lifecycle with Hot/Warm/Cold replay",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["context_pack", "frame_history", "frame_replay", "frame_recover"],
      "gap": "Planning, debugging, review and implementation workflows do not request bounded context packs or record frame provenance.",
      "target": "Optional context-pack enrichment before judgment, with exact source refs and no canonical-state authority."
    },
    {
      "id": "CAP-009",
      "substrate_capability": "Local model serving, portable profiles, preload, GPU status and remote fallback",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["fast-capable profile aliases", "local model sidecar", "job-intent preload"],
      "gap": "PRD stores executor/profile/fallback settings but no bridge resolves or runs them, so configured delegated reporting and workflow judgment cannot execute.",
      "target": "Runtime-resolved profile contract with availability, model provenance, fallback and latency receipts."
    },
    {
      "id": "CAP-010",
      "substrate_capability": "External workflow judgment and delegated reporting execution",
      "substrate_state": "runtime primitives shipped",
      "prd_state": "partial",
      "evidence": ["judgment.request envelopes", "prd_reporting bundles", "workflow_judgment capability"],
      "gap": "The source-hashed contracts exist, but npm run prd:adapter is absent from both repositories and no runtime resumes the workflow or validates reporting output end to end.",
      "target": "One executable adapter command/API that consumes requests and returns validated envelopes."
    },
    {
      "id": "CAP-011",
      "substrate_capability": "Impact, conflict scan and conservative test mapping",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["impact", "conflict_scan", "prd_test_scope impact/structural/test_mapping requests"],
      "gap": "PRD can plan impact-scoped verification but cannot execute the requests, determine degraded coverage, run selected tests, or bind results to the change fingerprint.",
      "target": "End-to-end verification execution/resume contract with widening and full-suite fallback."
    },
    {
      "id": "CAP-012",
      "substrate_capability": "Payload Fabric work bus with claim, settle, retry, DAG and dead-letter",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["submit_work", "claim_work", "settle_work", "dispatch", "plan", "policy"],
      "gap": "PRD tracking and workflows do not bind work to bus capsules, so execution progress and completion evidence cannot reconcile across systems.",
      "target": "Optional one-way execution binding: PRD remains project truth; bus capsule IDs and settlements become linked runtime evidence."
    },
    {
      "id": "CAP-013",
      "substrate_capability": "Goal cascade, acceptance evidence, budgets, pause/resume/stop and execution graph",
      "substrate_state": "shipped",
      "prd_state": "missing parallel authority",
      "evidence": ["goal.create", "goal.tree", "goal.acceptance_set", "goal_config", "goal_pause", "goal_stop"],
      "gap": "PRD TRK goals and Stop guard run independently from Substrate workspace/repo goals, allowing divergent completion, duplicate continuation and conflicting stop controls.",
      "target": "Explicit goal binding and authority matrix; no bidirectional uncontrolled mutation."
    },
    {
      "id": "CAP-014",
      "substrate_capability": "Agent profiles, runner, teams, routing and dispatch",
      "substrate_state": "shipped",
      "prd_state": "partial",
      "evidence": ["agents.roster", "teams.compose", "route_preview", "dispatch", "agent_launch"],
      "gap": "PRD defines tracking-branch worker safety but does not discover agents, route work, launch workers, enforce explicit-user subagent consent, or reconcile results.",
      "target": "Consent-gated worker preparation using Substrate routing while PRD retains branch and canonical-state rules."
    },
    {
      "id": "CAP-015",
      "substrate_capability": "Trace-aware cascading skillbooks and composition evaluation",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["skillbooks.list", "skillbooks.resolve", "skillbooks.expand", "composition.ab_eval"],
      "gap": "PRD skills and AI-Collab skillbooks have no versioned mapping, so agents can receive generic or contradictory procedures.",
      "target": "Capability/skill intent map and parity audit; expand only selected procedures to control context."
    },
    {
      "id": "CAP-016",
      "substrate_capability": "Threads, scratchpads, attention requests, reactions and polls",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["start_thread", "post_message", "attention.request", "scratchpad_write", "poll.*"],
      "gap": "PRD request threads, document branches and decision records do not exchange bounded runtime discussion references.",
      "target": "Optional link-only integration; never copy chat wholesale into canonical state."
    },
    {
      "id": "CAP-017",
      "substrate_capability": "Reactive watches, notices and wait-for-work",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["watch", "notices", "wait_for_work"],
      "gap": "PRD polling hooks and staleness checks cannot subscribe to relevant runtime changes.",
      "target": "Optional notices at session start/maintenance with explicit acknowledgement policy."
    },
    {
      "id": "CAP-018",
      "substrate_capability": "App Server, browser health/screenshots, visual requests and ImageRAG ingestion",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["appserver.health", "appserver.screenshot", "appserver.visual_request", "visual.* through Tool Hub"],
      "gap": "UI requirements, visual debugging and verification workflows do not discover hosted apps or capture visual evidence.",
      "target": "Opt-in visual evidence adapter for relevant work only; App Server lifecycle remains AI-Collab-owned."
    },
    {
      "id": "CAP-019",
      "substrate_capability": "Permanent Research, Autoheal and Improve specialist workspaces",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["system_case_*", "contained transcripts", "finite phase policies"],
      "gap": "PRD planning, debugging and maintenance workflows cannot route bounded research or repair cases to the shipped specialist queues.",
      "target": "Optional case adapters with request/TRK linkage and explicit phase/evidence reconciliation."
    },
    {
      "id": "CAP-020",
      "substrate_capability": "Diagnostics, freshness, telemetry, composition and tool-usage statistics",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["diagnostics.doctor", "knowledge.freshness", "knowledge.activity", "toolusage.stats"],
      "gap": "Install, session-start and maintenance workflows do not verify runtime health, freshness, capability use, latency or empty/error rates.",
      "target": "Read-only health and telemetry inputs that can recommend config profiles without silently changing them."
    },
    {
      "id": "CAP-021",
      "substrate_capability": "Cross-workspace federation and Core repository knowledge levels",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["workspace links", "federated notices", "knowledgeRepoSet", "permission-scoped cross-repo search"],
      "gap": "PRD has no federation visibility policy or stable cross-repo wiki/record URI contract.",
      "target": "Workspace-scoped federation with fail-closed authorization and stable logical source references."
    },
    {
      "id": "CAP-022",
      "substrate_capability": "Gateway HTTP control plane and human Knowledge UI",
      "substrate_state": "shipped",
      "prd_state": "missing",
      "evidence": ["/api/knowledge/*", "KnowledgePanel", "100+ gateway routes"],
      "gap": "PRD cannot expose a browse URL, render wiki articles, or verify gateway availability; current KnowledgePanel searches but does not define PRD-facing article/backlink contracts.",
      "target": "Optional HTML browsing and stable article/source endpoints owned by AI-Collab, advertised through the adapter."
    },
    {
      "id": "CAP-023",
      "substrate_capability": "Workspace export and operational snapshots",
      "substrate_state": "shipped",
      "prd_state": "deliberate discovery-only",
      "evidence": ["workspace export v5"],
      "gap": "No PRD workflow consumes exports, and importing them would duplicate canonical state.",
      "target": "Expose only as optional diagnostic/evidence attachment; do not make it a routine workflow dependency."
    },
    {
      "id": "CAP-024",
      "substrate_capability": "Workspace provisioning, app promotion and domain-specific compliance claims",
      "substrate_state": "shipped",
      "prd_state": "deliberate discovery-only",
      "evidence": ["workspace.provision", "appserver.promote", "compliance.claims"],
      "gap": "These are domain/operator actions rather than universal PRD lifecycle mechanics.",
      "target": "Keep discoverable through Tool Hub; invoke only from a matching project skill and existing consent floor."
    }
  ],
  "findings": [
    {"id": "PAR-H-001", "severity": "high", "summary": "The documented npm run prd:adapter runtime command is absent from both package manifests, so the advertised adapter execution path cannot run."},
    {"id": "PAR-H-002", "severity": "high", "summary": "Delegated reporting, workflow judgment and impact-scoped verification create valid requests but have no AI-Collab consumer that returns and resumes validated results."},
    {"id": "PAR-H-003", "severity": "high", "summary": "The shipped Knowledge Hub indexes LLM wikis, but PRD wiki workflows remain local-only and never query or browse the federated knowledge surface."},
    {"id": "PAR-H-004", "severity": "high", "summary": "PRD TRK goals/Stop guard and Substrate goal budgets/pause/stop/acceptance run as unsynchronized lifecycle authorities."},
    {"id": "PAR-M-001", "severity": "medium", "summary": "events is an allowed observe capability but prd_substrate.py implements no event export."},
    {"id": "PAR-M-002", "severity": "medium", "summary": "The handshake has no runtime version, endpoint, workspace/repository binding, identity, auth scope or compatibility negotiation."},
    {"id": "PAR-M-003", "severity": "medium", "summary": "AI-Collab directly reads selected PRD JSON files while PRD separately exposes a snapshot, creating schema and validation drift."},
    {"id": "PAR-M-004", "severity": "medium", "summary": "PRD workflows never use Conduit or Tool Hub capability discovery despite method text requiring capability-first behavior."},
    {"id": "PAR-M-005", "severity": "medium", "summary": "Session and maintenance workflows omit Substrate health, identity, index status and knowledge freshness checks."},
    {"id": "PAR-M-006", "severity": "medium", "summary": "Substrate memory and context packs are described in prose but have no executable workflow or skill operation."},
    {"id": "PAR-M-007", "severity": "medium", "summary": "The verification plan emits impact/structural/test requests without an execution, degradation or fingerprint-bound result contract."},
    {"id": "PAR-M-008", "severity": "medium", "summary": "App Server visual evidence and specialist workspaces are absent from relevant debugging, planning and verification routes."},
    {"id": "PAR-M-009", "severity": "medium", "summary": "Tool-usage, latency, empty/error and model availability telemetry cannot inform PRD configuration profiles."},
    {"id": "PAR-M-010", "severity": "medium", "summary": "No end-to-end compatibility/authz test proves a downstream PRD repo can connect, query, execute a judgment and fall back safely."},
    {"id": "PAR-L-001", "severity": "low", "summary": "There is no stable PRD-facing HTML article/backlink browsing contract."},
    {"id": "PAR-L-002", "severity": "low", "summary": "Workspace export is not available as an optional diagnostic evidence source."},
    {"id": "PAR-L-003", "severity": "low", "summary": "Threads, scratchpads, polls and attention requests cannot be linked to PRD requests/decisions without manual copying."},
    {"id": "PAR-L-004", "severity": "low", "summary": "Watches and notices are not used to reduce polling or surface relevant cross-repo changes."},
    {"id": "PAR-L-005", "severity": "low", "summary": "Domain-specific and administrative tools have no explicit discover-only classification in PRD policy."}
  ]
}
