diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json new file mode 100644 index 0000000..8b8d17f --- /dev/null +++ b/integrations/github-dkg.json @@ -0,0 +1,71 @@ +{ + "$schema": "../schema/integration.schema.json", + "schemaVersion": "0.1.0", + "slug": "github-dkg", + "name": "GitHub Knowledge Ingest for DKG v10", + "description": "Ingests GitHub issues, pull requests, and review comments into DKG v10 Working Memory as Knowledge Assets. Each item becomes one tri-modal asset (markdown + structural triples + embedding); architecture-decision PRs can be promoted to Shared Working Memory for team-wide visibility. Ships as a CLI and a Docker-based GitHub Action that fires on issue / pull_request / pull_request_review events.", + "category": [ + "ingestion", + "github", + "working-memory", + "shared-memory", + "engineering", + "provenance" + ], + "maintainer": { + "github": "@haroldboom", + "contact": "spangers11@gmail.com" + }, + "repo": "https://github.com/haroldboom/github-dkg", + "commit": "2144ed4cbb7fd5bf74239408b93801e0f9a20ea0", + "license": "MIT", + "requiresDkgNodeVersion": ">=10.0.0-rc.1", + "memoryLayers": [ + "WM", + "SWM" + ], + "v10PrimitivesUsed": [ + "ContextGraph", + "Assertion", + "KnowledgeAsset" + ], + "publicInterfacesUsed": [ + "http-api" + ], + "targetAgents": [ + "generic-CLI", + "generic-HTTP" + ], + "install": { + "kind": "cli", + "package": "github-dkg", + "version": "0.1.5", + "binary": "github-dkg", + "envRequired": [ + "DKG_TOKEN", + "DKG_BASE_URL", + "DKG_CONTEXT_GRAPH", + "GITHUB_TOKEN" + ], + "usageHint": "Bulk-ingest:\n github-dkg ingest owner/repo\nSingle item:\n github-dkg ingest-one owner/repo 42 --type issue\nSearch:\n github-dkg search \"query\"\nPromote WM→SWM:\n github-dkg promote \nAll commands accept --context-graph (or read $DKG_CONTEXT_GRAPH). Also ships as a Docker-based GitHub Action: haroldboom/github-dkg@v0.1.5. Create the graph first: github-dkg create-context-graph ." + }, + "security": { + "networkEgress": [ + "api.github.com" + ], + "writeAuthority": [ + "POST /api/memory/turn", + "POST /api/context-graph/create", + "POST /api/knowledge-assets/{name}/swm/share-async (SHARE, Curator authority; legacy fallback POST /api/assertion/{name}/promote-async)" + ], + "credentialsHandled": [ + "GITHUB_TOKEN" + ], + "notes": "Communicates with the local DKG node (HTTP, port 9200 by default) and the GitHub REST API at api.github.com. Writes Knowledge Assets to Working Memory by default; promotion to Shared Working Memory is always explicit (async knowledge-assets share job on current nodes, legacy route fallback). Credentials come from DKG_TOKEN/GITHUB_TOKEN env vars or explicit parameters; never hardcoded; the GitHub Action defaults to github.token and the example workflow uses a least-privilege permissions block. No postinstall scripts. Published to PyPI via pypa/gh-action-pypi-publish with attestations:true under Trusted Publishing; the publish workflow is gated on the unit-test suite and a tag/version check. 63/63 unit tests pass; CI runs ruff, mypy, and the suite on Python 3.10-3.13. v0.1.5 (2026-07-04, verified against node build 10.0.2): GitHub rate limits raise typed errors with reset times (secondary limits honor Retry-After); bulk ingest streams work and preserves partial results; multi-line comment bodies are indented so authored text cannot spoof attribution lines (prompt-injection hardening) and truncation is marked in the stored asset; action.yml outputs fixed for Docker actions; the entrypoint validates all required env vars up front; the Docker image runs as a non-root user; explicit memoryLayers on every search. Re-verified 2026-07-28 on node 10.0.9: 63/63 unit tests green against the published wheel in a fresh venv; memory/turn, memory/search, query, and the knowledge-assets promote path validated live. 10.0.7+ operator note: nodes no longer auto-create sub-graphs on write — pre-register via POST /api/sub-graph/create; transparent auto-registration is queued for the next release." + }, + "trustTier": "community", + "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", + "demo": "https://youtu.be/pfICj9VR1gE", + "promotionPath": "Issues, PRs, and review comments land in Working Memory as Knowledge Assets at ingest time. The integration exposes an explicit `promote` operation (CLI: `github-dkg promote `; programmatic: `GitHubDKGIngestor.promote(turn_uri)`) that calls POST /api/assertion/{name}/promote to graduate selected assets to Shared Working Memory — `examples/workflow.yml` shows the canonical gate (closed+merged PR + label `architecture-decision`). Verified Memory promotion is intentionally not automated by the package; a downstream Curator step (POST /api/shared-memory/publish) anchors team-validated decisions on-chain when warranted, at which point those assets become consumable by context oracles for downstream agents reasoning about the project's history.", + "fitNotes": "Targets the auto-research direction by closing the loop on engineering tacit knowledge: issue threads, PR descriptions, and review comments — the highest-signal substrate inside any software organisation — become first-class, attributable, queryable assets on the DKG. Pairs naturally with langchain-dkg (sister Round 1 submission, also under the haroldboom account): github-dkg writes the substrate, langchain-dkg gives any LangChain agent persistent memory backed by it." +} \ No newline at end of file