From 568ff92ec4f335ddbc68c4463fc2a1313faa7953 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Mon, 4 May 2026 04:45:27 +1000 Subject: [PATCH 01/13] Add github-dkg integration MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GitHub issues / PRs / review comments → DKG v10 Working Memory as Knowledge Assets. Pinned to f2b9f67. Bounty: cfi-dkgv10-r1. --- integrations/github-dkg.json | 41 ++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 integrations/github-dkg.json diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json new file mode 100644 index 0000000..f42042d --- /dev/null +++ b/integrations/github-dkg.json @@ -0,0 +1,41 @@ +{ + "$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"], + "maintainer": { + "github": "@haroldboom" + }, + "repo": "https://github.com/haroldboom/github-dkg", + "commit": "f2b9f67c9518137e5fc197507205520f3e402c71", + "license": "MIT", + "requiresDkgNodeVersion": ">=10.0.0", + "memoryLayers": ["WM", "SWM"], + "v10PrimitivesUsed": ["ContextGraph", "Assertion", "KnowledgeAsset"], + "publicInterfacesUsed": ["http-api"], + "targetAgents": ["generic-CLI", "generic-HTTP"], + "install": { + "kind": "cli", + "package": "github-dkg", + "version": "0.1.0", + "binary": "github-dkg", + "envRequired": ["DKG_TOKEN", "DKG_BASE_URL", "DKG_CONTEXT_GRAPH", "GITHUB_TOKEN"], + "usageHint": "Bulk-ingest a repo:\n github-dkg ingest owner/repo --context-graph $DKG_CONTEXT_GRAPH\n\nIngest a single item:\n github-dkg ingest-one owner/repo 42 --type issue --context-graph $DKG_CONTEXT_GRAPH\n\nSearch ingested knowledge:\n github-dkg search \"authentication bug\" --context-graph $DKG_CONTEXT_GRAPH\n\nPromote a Working Memory asset to Shared Working Memory:\n github-dkg promote dkg://wm/turn/abc --context-graph $DKG_CONTEXT_GRAPH\n\nAlso ships as a Docker-based GitHub Action — see haroldboom/github-dkg@v0.1.0." + }, + "security": { + "networkEgress": ["api.github.com"], + "writeAuthority": [ + "POST /api/memory/turn", + "POST /api/assertion/{name}/promote" + ], + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. No postinstall/preinstall scripts; the package is plain hatchling-built and uploaded to PyPI via twine." + }, + "trustTier": "community", + "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", + "demo": "https://youtu.be/9Tgb4-OXGuk", + "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." +} From 3824cc393f887196580c87d9991edc2e0bb07521 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Sun, 24 May 2026 01:30:39 +1000 Subject: [PATCH 02/13] Update github-dkg entry for review - Bump pinned commit to 5cda3aa (CI + README badges, current HEAD on master) - Bump requiresDkgNodeVersion to >=10.0.0-rc.1 to reflect rc.x compatibility - Expand category to include engineering + provenance (search surface) - Cite 23/23 unit tests + rc.8 verification + CI matrix in security.notes - Shorten install.usageHint to satisfy the 400-char schema limit --- integrations/github-dkg.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index f42042d..08a3883 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -4,14 +4,14 @@ "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"], + "category": ["ingestion", "github", "working-memory", "shared-memory", "engineering", "provenance"], "maintainer": { "github": "@haroldboom" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "f2b9f67c9518137e5fc197507205520f3e402c71", + "commit": "5cda3aacbc65609cf3c2771df0bf0c17d51f76ba", "license": "MIT", - "requiresDkgNodeVersion": ">=10.0.0", + "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], "v10PrimitivesUsed": ["ContextGraph", "Assertion", "KnowledgeAsset"], "publicInterfacesUsed": ["http-api"], @@ -22,7 +22,7 @@ "version": "0.1.0", "binary": "github-dkg", "envRequired": ["DKG_TOKEN", "DKG_BASE_URL", "DKG_CONTEXT_GRAPH", "GITHUB_TOKEN"], - "usageHint": "Bulk-ingest a repo:\n github-dkg ingest owner/repo --context-graph $DKG_CONTEXT_GRAPH\n\nIngest a single item:\n github-dkg ingest-one owner/repo 42 --type issue --context-graph $DKG_CONTEXT_GRAPH\n\nSearch ingested knowledge:\n github-dkg search \"authentication bug\" --context-graph $DKG_CONTEXT_GRAPH\n\nPromote a Working Memory asset to Shared Working Memory:\n github-dkg promote dkg://wm/turn/abc --context-graph $DKG_CONTEXT_GRAPH\n\nAlso ships as a Docker-based GitHub Action — see haroldboom/github-dkg@v0.1.0." + "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.0." }, "security": { "networkEgress": ["api.github.com"], @@ -31,7 +31,7 @@ "POST /api/assertion/{name}/promote" ], "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. No postinstall/preinstall scripts; the package is plain hatchling-built and uploaded to PyPI via twine." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 (latest at submission). No postinstall/preinstall scripts; the package is plain hatchling-built and uploaded to PyPI via twine." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 075b331ff3544ba74e718b4d33f3e42f1a348c1f Mon Sep 17 00:00:00 2001 From: haroldboom Date: Sun, 24 May 2026 01:34:39 +1000 Subject: [PATCH 03/13] Add email contact to maintainer --- integrations/github-dkg.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 08a3883..abebb38 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -6,7 +6,8 @@ "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" + "github": "@haroldboom", + "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", "commit": "5cda3aacbc65609cf3c2771df0bf0c17d51f76ba", From d8f36910eb82db93e648cbec4b33db07798f8ce3 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Sun, 24 May 2026 01:51:10 +1000 Subject: [PATCH 04/13] Bump pin to cc66bad (positioning section + Trusted Publishing workflow) --- integrations/github-dkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index abebb38..321770e 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -10,7 +10,7 @@ "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "5cda3aacbc65609cf3c2771df0bf0c17d51f76ba", + "commit": "cc66bad45802042a0bda7705fb510023836e3006", "license": "MIT", "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], From 0dcb092c3a75e53dffeda347055ea7057a164661 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Sun, 24 May 2026 02:11:15 +1000 Subject: [PATCH 05/13] Bump github-dkg to v0.1.1 with PyPI Trusted Publishing attestations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - install.version: 0.1.0 → 0.1.1 - commit pin: cc66bad → b9c1ede (the v0.1.1 release commit) - security.notes: declares PEP-740 attestation published via pypa/gh-action-pypi-publish@release/v1; signed by GitHub Actions runner for haroldboom/github-dkg / publish.yml / env=pypi --- integrations/github-dkg.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 321770e..6b98594 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -10,7 +10,7 @@ "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "cc66bad45802042a0bda7705fb510023836e3006", + "commit": "b9c1edee9be4076f8e9d8e2a05c75aaa3fc8d0c1", "license": "MIT", "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], @@ -20,7 +20,7 @@ "install": { "kind": "cli", "package": "github-dkg", - "version": "0.1.0", + "version": "0.1.1", "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.0." @@ -32,7 +32,7 @@ "POST /api/assertion/{name}/promote" ], "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 (latest at submission). No postinstall/preinstall scripts; the package is plain hatchling-built and uploaded to PyPI via twine." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 (latest at submission). No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.1//provenance`." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From cbe1943c3f91e7a5914be8175191ac3953bae6ca Mon Sep 17 00:00:00 2001 From: haroldboom Date: Tue, 9 Jun 2026 20:16:30 +1000 Subject: [PATCH 06/13] =?UTF-8?q?Pin=20github-dkg=20to=20v0.1.2=20?= =?UTF-8?q?=E2=80=94=20verified=20with=20dkg=20SDK=208.1.1rc2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- integrations/github-dkg.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 6b98594..bd3ed31 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -10,7 +10,7 @@ "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "b9c1edee9be4076f8e9d8e2a05c75aaa3fc8d0c1", + "commit": "0cd878d61cb2317d5169faa639933436c79292a8", "license": "MIT", "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], @@ -20,7 +20,7 @@ "install": { "kind": "cli", "package": "github-dkg", - "version": "0.1.1", + "version": "0.1.2", "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.0." @@ -32,7 +32,7 @@ "POST /api/assertion/{name}/promote" ], "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 (latest at submission). No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.1//provenance`." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 and dkg SDK 8.1.1rc2 (2026-06-09). No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.2//provenance`." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 615bb211cb770e80c68ea60b9580463b2ec61494 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Fri, 19 Jun 2026 14:13:21 +1000 Subject: [PATCH 07/13] github-dkg: bump pin to v0.1.3 (verified against DKG v10 node rc.17) Co-Authored-By: Claude Opus 4.8 --- integrations/github-dkg.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index bd3ed31..bd30e02 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -10,7 +10,7 @@ "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "0cd878d61cb2317d5169faa639933436c79292a8", + "commit": "59e5fa97556fdcc63186dd1e87067937c680f4df", "license": "MIT", "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], @@ -20,7 +20,7 @@ "install": { "kind": "cli", "package": "github-dkg", - "version": "0.1.2", + "version": "0.1.3", "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.0." @@ -32,7 +32,7 @@ "POST /api/assertion/{name}/promote" ], "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. Verified compatible with DKG v10 rc.8 and dkg SDK 8.1.1rc2 (2026-06-09). No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.2//provenance`." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.3//provenance`. v0.1.3 (2026-06-19) verifies compatibility with the DKG v10 node at 10.0.0-rc.17: the rc.2→rc.17 node changelog was reviewed for every HTTP endpoint this ingester calls (POST /api/context-graph/create, /api/memory/turn, /api/memory/search, /api/assertion/{name}/promote, /api/query) — the only request-shape change in that window (rc.12 dropping the deprecated participantIdentityIds/requiredSignatures from context-graph/create) is already non-breaking here; no source/API changes, 23/23 unit tests green." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 88306be07a9a763bc0e3c96d8ad09a925eb4c75b Mon Sep 17 00:00:00 2001 From: haroldboom Date: Tue, 23 Jun 2026 08:07:40 +1000 Subject: [PATCH 08/13] =?UTF-8?q?github-dkg:=20pin=20v0.1.4=20=E2=80=94=20?= =?UTF-8?q?verified=20compatible=20with=20DKG=20v10=20node=20rc.19?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- integrations/github-dkg.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index bd30e02..d06d028 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -10,7 +10,7 @@ "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "59e5fa97556fdcc63186dd1e87067937c680f4df", + "commit": "a30f1d46071deaf377d91dc2fdffdd3e21b8ea4e", "license": "MIT", "requiresDkgNodeVersion": ">=10.0.0-rc.1", "memoryLayers": ["WM", "SWM"], @@ -20,7 +20,7 @@ "install": { "kind": "cli", "package": "github-dkg", - "version": "0.1.3", + "version": "0.1.4", "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.0." @@ -32,7 +32,7 @@ "POST /api/assertion/{name}/promote" ], "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.3//provenance`. v0.1.3 (2026-06-19) verifies compatibility with the DKG v10 node at 10.0.0-rc.17: the rc.2→rc.17 node changelog was reviewed for every HTTP endpoint this ingester calls (POST /api/context-graph/create, /api/memory/turn, /api/memory/search, /api/assertion/{name}/promote, /api/query) — the only request-shape change in that window (rc.12 dropping the deprecated participantIdentityIds/requiredSignatures from context-graph/create) is already non-breaking here; no source/API changes, 23/23 unit tests green." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.4//provenance`. Releases are verification-tracked against the DKG v10 node: v0.1.3 (2026-06-19) verified node rc.17; v0.1.4 (2026-06-23) verifies node rc.19 — every daemon route this ingester calls was diffed across rc.17→rc.18→rc.19, with /api/memory/turn, /api/memory/search, /api/query and GET /api/agents byte-identical, /api/context-graph/create gaining only an additive `contextGraphId` alias for `id` (#1102), and the opt-in /api/assertion/* promote path gaining only new 503 CURATOR_UNCONFIRMED / 409 CURATOR_REJECTED error codes (OT-RFC-49); existing request contracts unchanged, 23/23 unit tests green." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 900bbb8b271808893993649918f5e8454060b4ba Mon Sep 17 00:00:00 2001 From: haroldboom <42967743+haroldboom@users.noreply.github.com> Date: Sat, 4 Jul 2026 08:59:22 +1000 Subject: [PATCH 09/13] Update demo link to the narrated walkthrough video Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014WX6oMeJNANvj2sCg8rP57 --- integrations/github-dkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index d06d028..4d1fede 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -36,7 +36,7 @@ }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", - "demo": "https://youtu.be/9Tgb4-OXGuk", + "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." } From f2bf85875f8f9f44dde7fc45b098d67f80925eea Mon Sep 17 00:00:00 2001 From: haroldboom <42967743+haroldboom@users.noreply.github.com> Date: Sat, 4 Jul 2026 10:10:55 +1000 Subject: [PATCH 10/13] Pin github-dkg to post-review commit 2144ed4 and document the hardening Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014WX6oMeJNANvj2sCg8rP57 --- integrations/github-dkg.json | 48 ++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 4d1fede..f1e3d33 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -4,35 +4,63 @@ "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"], + "category": [ + "ingestion", + "github", + "working-memory", + "shared-memory", + "engineering", + "provenance" + ], "maintainer": { "github": "@haroldboom", "contact": "spangers11@gmail.com" }, "repo": "https://github.com/haroldboom/github-dkg", - "commit": "a30f1d46071deaf377d91dc2fdffdd3e21b8ea4e", + "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"], + "memoryLayers": [ + "WM", + "SWM" + ], + "v10PrimitivesUsed": [ + "ContextGraph", + "Assertion", + "KnowledgeAsset" + ], + "publicInterfacesUsed": [ + "http-api" + ], + "targetAgents": [ + "generic-CLI", + "generic-HTTP" + ], "install": { "kind": "cli", "package": "github-dkg", "version": "0.1.4", "binary": "github-dkg", - "envRequired": ["DKG_TOKEN", "DKG_BASE_URL", "DKG_CONTEXT_GRAPH", "GITHUB_TOKEN"], + "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.0." }, "security": { - "networkEgress": ["api.github.com"], + "networkEgress": [ + "api.github.com" + ], "writeAuthority": [ "POST /api/memory/turn", "POST /api/assertion/{name}/promote" ], - "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.4//provenance`. Releases are verification-tracked against the DKG v10 node: v0.1.3 (2026-06-19) verified node rc.17; v0.1.4 (2026-06-23) verifies node rc.19 — every daemon route this ingester calls was diffed across rc.17→rc.18→rc.19, with /api/memory/turn, /api/memory/search, /api/query and GET /api/agents byte-identical, /api/context-graph/create gaining only an additive `contextGraphId` alias for `id` (#1102), and the opt-in /api/assertion/* promote path gaining only new 503 CURATOR_UNCONFIRMED / 409 CURATOR_REJECTED error codes (OT-RFC-49); existing request contracts unchanged, 23/23 unit tests green." + "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.4//provenance`. Releases are verification-tracked against the DKG v10 node: v0.1.3 (2026-06-19) verified node rc.17; v0.1.4 (2026-06-23) verifies node rc.19 — every daemon route this ingester calls was diffed across rc.17→rc.18→rc.19, with /api/memory/turn, /api/memory/search, /api/query and GET /api/agents byte-identical, /api/context-graph/create gaining only an additive `contextGraphId` alias for `id` (#1102), and the opt-in /api/assertion/* promote path gaining only new 503 CURATOR_UNCONFIRMED / 409 CURATOR_REJECTED error codes (OT-RFC-49); existing request contracts unchanged, 23/23 unit tests green. Post-review hardening (commit 2144ed4, 2026-07-04, verified against node build 10.0.2): GitHub rate limits now raise typed errors with reset times (secondary limits honored via Retry-After); bulk ingest streams tasks and preserves partial results on failure; action.yml output mappings fixed for Docker actions; entrypoint validates all required env vars with ::error:: annotations; non-root Docker image; promote ported to the async knowledge-assets share job flow with legacy fallback; memory/search always sends explicit memoryLayers; comment truncation is marked and multi-line bodies are indented to prevent attribution spoofing; 63 unit tests + ruff/mypy in CI; publish workflow gated on tests and a tag/version check." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 1b7f79b614d299cac7444a3bc449a2efaec6ba0a Mon Sep 17 00:00:00 2001 From: haroldboom <42967743+haroldboom@users.noreply.github.com> Date: Sat, 4 Jul 2026 10:19:12 +1000 Subject: [PATCH 11/13] Condense security notes to the schema's 2000-char limit Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014WX6oMeJNANvj2sCg8rP57 --- integrations/github-dkg.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index f1e3d33..7861773 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -60,7 +60,7 @@ "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 (POST /api/assertion/{name}/promote) is always explicit and never automatic — the bundled GitHub Action example workflow gates promotion on a PR label (`architecture-decision`) so the choice is the team's, not the integration's. PUBLISH (Verified Memory) is never called. GitHub rate-limit responses (403/429 with X-RateLimit-Remaining: 0) surface as a typed GitHubRateLimitError carrying the reset timestamp, so callers can back off rather than retry into a ban. 23/23 unit tests pass against the published wheel (verified in a fresh venv outside the source tree); GitHub Actions CI runs the suite on Python 3.10/3.11/3.12 for every push and PR. No postinstall/preinstall scripts. Published to PyPI via `pypa/gh-action-pypi-publish@release/v1` with `attestations: true` under PyPI Trusted Publishing (workflow `publish.yml`, environment `pypi`) — wheel ships with a PEP-740 attestation signed by the GitHub Actions runner, fetchable at `https://pypi.org/integrity/github-dkg/0.1.4//provenance`. Releases are verification-tracked against the DKG v10 node: v0.1.3 (2026-06-19) verified node rc.17; v0.1.4 (2026-06-23) verifies node rc.19 — every daemon route this ingester calls was diffed across rc.17→rc.18→rc.19, with /api/memory/turn, /api/memory/search, /api/query and GET /api/agents byte-identical, /api/context-graph/create gaining only an additive `contextGraphId` alias for `id` (#1102), and the opt-in /api/assertion/* promote path gaining only new 503 CURATOR_UNCONFIRMED / 409 CURATOR_REJECTED error codes (OT-RFC-49); existing request contracts unchanged, 23/23 unit tests green. Post-review hardening (commit 2144ed4, 2026-07-04, verified against node build 10.0.2): GitHub rate limits now raise typed errors with reset times (secondary limits honored via Retry-After); bulk ingest streams tasks and preserves partial results on failure; action.yml output mappings fixed for Docker actions; entrypoint validates all required env vars with ::error:: annotations; non-root Docker image; promote ported to the async knowledge-assets share job flow with legacy fallback; memory/search always sends explicit memoryLayers; comment truncation is marked and multi-line bodies are indented to prevent attribution spoofing; 63 unit tests + ruff/mypy in CI; publish workflow gated on tests and a tag/version check." + "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." }, "trustTier": "community", "designBrief": "https://github.com/haroldboom/github-dkg/blob/master/DESIGN_BRIEF.md", From 589c16da3775fa34313c79d8b74b857817969d3c Mon Sep 17 00:00:00 2001 From: haroldboom <42967743+haroldboom@users.noreply.github.com> Date: Sat, 4 Jul 2026 11:10:22 +1000 Subject: [PATCH 12/13] Pin install to 0.1.5 and declare current write-authority endpoints Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_014WX6oMeJNANvj2sCg8rP57 --- integrations/github-dkg.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 7861773..51625e6 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -39,7 +39,7 @@ "install": { "kind": "cli", "package": "github-dkg", - "version": "0.1.4", + "version": "0.1.5", "binary": "github-dkg", "envRequired": [ "DKG_TOKEN", @@ -47,7 +47,7 @@ "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.0." + "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": [ @@ -55,7 +55,8 @@ ], "writeAuthority": [ "POST /api/memory/turn", - "POST /api/assertion/{name}/promote" + "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" From 58d5abfff9bbc021570fd1611cce498a37d89560 Mon Sep 17 00:00:00 2001 From: haroldboom Date: Tue, 28 Jul 2026 01:17:01 +1000 Subject: [PATCH 13/13] github-dkg: note node 10.0.9 re-verification + 10.0.7 sub-graph registration change Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01DFDL1JXjY9ctisNQRrMnwT --- integrations/github-dkg.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/integrations/github-dkg.json b/integrations/github-dkg.json index 51625e6..8b8d17f 100644 --- a/integrations/github-dkg.json +++ b/integrations/github-dkg.json @@ -61,11 +61,11 @@ "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." + "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