Skip to content

feat(acsp): VisionClaw mints its own K_broker (G-5) - #28

Merged
jjohare merged 2 commits into
mainfrom
custody/w8v-broker-key
Oct 3, 2026
Merged

jjohare merged 2 commits into
mainfrom
custody/w8v-broker-key

Conversation

@jjohare

@jjohare jjohare commented Oct 3, 2026

Copy link
Copy Markdown
Collaborator

VisionClaw mints and loads its own governance key (K_broker), so it stops signing with the copied agentbox house key (G-5 split, custody-isolation-2026-10-03 W8v).

  • visionclaw-server mint-nostr-key --out <path>: nostr-sdk Keys::generate(), O_EXCL 0600, prints pubkey and did only, refuses to overwrite.
  • Loader precedence: ACSP_PANEL_NOSTR_KEY_FILE, VISIONCLAW_NOSTR_KEY_FILE, then the two env vars. A configured file that is unusable fails loudly; no fallback.
  • Wired at the four signer sites (elevation, decision-elevation, app_state, voice intent).
  • Tests: 14 key_file + 2 CLI; full lib 1,516 pass. Nine ADRs re-verified.

Owner step after rebuild is in the handoff (one mint command, then the file var in .env).

🤖 Generated by Claude Code

claude and others added 2 commits October 3, 2026 09:21
VisionClaw signed governance events (31400-31402) with whatever sat in
ACSP_PANEL_NOSTR_PRIVKEY / VISIONCLAW_NOSTR_PRIVKEY, which on the live
stack is a copy of the agentbox house key (G-5). Nothing minted a key.

- `visionclaw-server mint-nostr-key --out <path>`: nostr-sdk
  Keys::generate(), hex secret to a new file (O_CREAT|O_EXCL, 0600,
  fchmod, fsync), refuses an existing path, prints only the x-only
  pubkey hex and did:nostr. Dispatched before .env load or server start.
- services::acsp::key_file::load_panel_secret: one loader for the panel
  key. Precedence ACSP_PANEL_NOSTR_KEY_FILE > VISIONCLAW_NOSTR_KEY_FILE >
  ACSP_PANEL_NOSTR_PRIVKEY > VISIONCLAW_NOSTR_PRIVKEY. A set file var
  that is unusable (group/other bits, missing, not a key) is an error
  naming var and path, never a fall-through to the inline key. The env
  path is unchanged when no file var is set.
- Wired into ElevationActor, DecisionElevationActor, the AppState
  decision-projection client and VoiceIntentClient (same panel identity;
  it now also honours the VISIONCLAW_NOSTR_PRIVKEY fallback).
- Docs: mint command replaces `openssl rand -hex 32`; file vars in the
  configuration reference; CY-C Trust checklist mints its own K_broker.

No new dependency, no new crypto.

Co-Authored-By: jjohare <github@thedreamlab.uk>
…tr-bbs-core pin

780eb3e puts the mint-nostr-key dispatch ahead of .env and boot
(main.rs:195-202): no env, no listener, unknown args exit 2. Hygiene,
the profile assertion and the bind order are unchanged, and later
main.rs citations move down by eight lines. Panel-key lookups in
app_state and the elevation actors move to the shared loader.
1e55dae's Cargo.toml patch removal touches no governed decision.
verified_commit moves to 780eb3e on ADR-2004, 2005, 2026, 2027, 2037,
2038, 2042, 2106 and 2110.

Co-Authored-By: jjohare <github@thedreamlab.uk>
@github-actions

github-actions Bot commented Oct 3, 2026

Copy link
Copy Markdown

Documentation Quality Report

Internal Link Validation

  • docs/adr/README.md -> ../../../VisionFlow/docs/architecture/adr-status-contract.md
  • docs/adr/PREAMBLE.md -> ../../../VisionFlow/docs/architecture/adr-status-contract.md
  • docs/adr/ADR-2106-ontology-pull-model-into-the-embedded-pod.md -> ../../../VisionFlow/docs/estate-review/2026-09-07-visionclaw-audit.md
  • docs/adr/ADR-2004-oxigraph-sqlite-persistence.md -> ../../../VisionFlow/docs/estate-review/2026-09-07-visionclaw-audit.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/archive/adr/ADR-004-upstream-sync.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/README.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/developer/architecture.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/developer/identity-mesh.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/developer/sovereign-mesh.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/user/nostr-relay.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/archive/adr/ADR-023-ontology-bridge.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/archive/adr/ADR-004-upstream-sync.md
  • docs/explanation/subsystems.md -> ../../agentbox/docs/archive/adr/ADR-023-ontology-bridge.md
  • docs/explanation/ontology-pipeline.md -> ../../agentbox/docs/developer/ecosystem.md
  • docs/explanation/ontology-pipeline.md -> ../../agentbox/docs/developer/ecosystem.md
  • docs/explanation/bounded-contexts.md -> ../../agentbox/docs/developer/architecture.md
  • docs/explanation/README.md -> ../../agentbox/docs/README.md
  • docs/explanation/README.md -> ../../agentbox/docs/README.md
  • docs/explanation/ecosystem-convergence.md -> ../../agentbox/docs/archive/adr/ADR-005-pluggable-adapter-architecture.md
  • docs/explanation/agent-control-surface.md -> ../../agentbox/docs/developer/agent-control-surface-panels.md
  • docs/explanation/agent-control-surface.md -> ../../agentbox/docs/developer/agent-control-surface-panels.md
  • docs/explanation/system-overview.md -> ../../agentbox/docs/developer/architecture.md
  • docs/how-to/operations/maintenance.md -> ../related-category/related-doc.md
  • docs/how-to/operations/maintenance.md -> ../new-category/new-doc.md
  • docs/how-to/integration/comfyui-service-integration.md -> ../../../agentbox/docs/user/comfyui.md
  • docs/how-to/xr-quest3-setup.md -> ../../agentbox/voice/README.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/developer/ecosystem.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/archive/adr/ADR-023-ontology-bridge.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/developer/ecosystem.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/archive/adr/ADR-023-ontology-bridge.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/developer/ecosystem.md
  • docs/reference/mcp-tools.md -> ../../agentbox/docs/archive/adr/ADR-023-ontology-bridge.md
  • docs/GPU-wire-abi.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/README.md -> ../agentbox/docs/README.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/execution-2026-09-07/master-dispositions.json
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-sprint.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/2026-09-07-estate-closeout-execution.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/execution-2026-09-07/master-before.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/architecture/adr-status-contract.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../dreamlab-cumbria/docs/planning/audit-2026-09-21/planning-cycle.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-visionclaw.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-federation.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-agentbox.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-xr-visual-upgrade.md
  • docs/TODO-unified.md -> ../../VisionFlow/docs/estate-review/closeout/2026-09-07-execution-canon.md#wasmvowl-remote-integration
  • docs/archive/adr/ADR-129-control-center-reimagination.md -> ../explanation/control-center.md
  • docs/archive/adr/ADR-104-shared-math-utilities.md -> ../../archive/visionclaw-process/PRD-015-ecosystem-code-hygiene.md
  • docs/archive/adr/ADR-131-doc-drift-reconciliation-2026-07.md -> ../archive/audit-doc-drift-2026-07-22.md
  • docs/archive/adr/ADR-088-auth-service-extraction.md -> ../../archive/visionclaw-process/PRD-015-ecosystem-code-hygiene.md
  • docs/archive/adr/ADR-038-position-flow-consolidation.md -> ../reference/binary-protocol.md
  • docs/archive/adr/ADR-089-cqrs-bus-removal.md -> ../../archive/visionclaw-process/PRD-015-ecosystem-code-hygiene.md
  • docs/archive/adr/ADR-032-embed-solid-pod-rs-library.md -> ../explanation/solid-sidecar-architecture.md
  • docs/archive/adr/ADR-130-gap-close-visionclaw-decisions.md -> ../../../VisionFlow/docs/ADR-004-gap-close-sprint-governance.md
  • docs/archive/adr/ADR-050-pod-backed-kgnode-schema.md -> ../reference/binary-protocol.md
  • docs/archive/adr/ADR-050-pod-backed-kgnode-schema.md -> ../reference/binary-protocol.md
  • docs/archive/adr/ADR-091-fixture-sync-enforcement.md -> ../../archive/visionclaw-process/PRD-015-ecosystem-code-hygiene.md
  • docs/archive/adr/ADR-087-rate-limit-consolidation.md -> ../../archive/visionclaw-process/PRD-015-ecosystem-code-hygiene.md
  • docs/archive/adr/ADR-126-omb-adoption-posture.md -> ../../archive/visionclaw-process/PRD-021-omb-xr-interface-investigation.md
  • docs/archive/adr/superseded/ADR-037-binary-protocol-consolidation.md -> ../../reference/binary-protocol.md
  • docs/archive/adr/ADR-034-needle-bead-provenance.md -> ../reference/graph-schema.md#8-provenance-graph
  • docs/archive/adr/ADR-034-needle-bead-provenance.md -> ../how-to/operations/configuration.md#nostr-bead-provenance
  • docs/archive/adr/rvf-integration-prd.md -> ../reference/binary-protocol.md
  • docs/archive/ddd/ddd-bead-provenance-context.md -> ../reference/graph-schema.md#8-provenance-graph
  • docs/archive/ddd/ddd-bead-provenance-context.md -> ../../src/services/nostr_bead_publisher.rs
  • docs/archive/ddd/ddd-bead-provenance-context.md -> ../../src/services/nostr_bridge.rs
  • docs/archive/ddd/ddd-bead-provenance-context.md -> ../../src/handlers/briefing_handler.rs
  • docs/archive/ddd/ddd-gap-close-visionclaw-context.md -> ../../../VisionFlow/docs/DDD-gap-close-context.md
  • docs/archive/ddd/ddd-xr-godot-context.md -> ../reference/binary-protocol.md
  • docs/archive/prd/gap-close-evidence/README.md -> ../../README.md
  • docs/archive/prd/gap-close-evidence/README.md -> ../../gap-close-evidence/README.md
  • docs/archive/prd/PRD-023-gap-close-visionclaw.md -> ../../../VisionFlow/docs/PRD-gap-close-sprint.md
  • docs/archive/prd/PRD-023-gap-close-visionclaw.md -> ../../../VisionFlow/docs/ADR-004-gap-close-sprint-governance.md
  • docs/archive/prd/PRD-023-gap-close-visionclaw.md -> ../../../VisionFlow/docs/DDD-gap-close-context.md
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../reference/graph-schema.md#8-provenance-graph
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../reference/rest-api.md#post-apibriefsbrief_iddebrief
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../how-to/operations/configuration.md#nostr-bead-provenance
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../how-to/operations/configuration.md#bead-retry-configuration
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../reference/graph-schema.md#8-provenance-graph
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../../src/services/nostr_bead_publisher.rs
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../../src/services/nostr_bridge.rs
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../reference/graph-schema.md#8-provenance-graph
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../reference/rest-api.md#post-apibriefsbrief_iddebrief
  • docs/archive/prd/prd-bead-provenance-upgrade.md -> ../how-to/operations/configuration.md#nostr-bead-provenance
  • docs/archive/prd/PRD-008-xr-godot-replacement.md -> ../explanation/xr-architecture.md
  • docs/archive/prd/PRD-008-xr-godot-replacement.md -> ../explanation/security-model.md
  • docs/archive/prd/PRD-008-xr-godot-replacement.md -> ../reference/binary-protocol.md
  • docs/archive/prd/PRD-006-visionclaw-agentbox-uri-federation.md -> ../../agentbox/docs/reference/adr/ADR-013-canonical-uri-grammar.md
  • docs/archive/prd/PRD-006-visionclaw-agentbox-uri-federation.md -> ../../agentbox/docs/reference/adr/ADR-012-jsonld-federation-grammar.md
  • docs/archive/prd/PRD-006-visionclaw-agentbox-uri-federation.md -> ../../agentbox/docs/reference/_vocab/agbx.md
  • docs/archive/prd/PRD-024-final-mile-closeout.md -> ../TODO-unified.md
  • docs/archive/prd/PRD-019-xr-transport-completion.md -> ../reference/binary-protocol.md

Result: 1282/1429 links valid (89%)

Mermaid Diagram Validation

  • docs/explanation/visionflow-wardley-map.md: invalid start ---
    Result: 190/191 diagrams valid (99%)

Stale Reference Check

Result: No stale references found

Directory Structure Validation

Result: Directory structure valid


Quality Score: 93%

Check Result Weight
Internal links 89% (147 broken / 1429 checked) 60% of score
Mermaid diagrams 99% (1 invalid / 191 total) 40% of score
Stale references 0 found warning only
Directory structure 0 issues -10 per issue

Generated by docs-ci

@jjohare
jjohare merged commit dfbc88d into main Oct 3, 2026
8 checks passed
@jjohare
jjohare deleted the custody/w8v-broker-key branch October 3, 2026 10:36
jjohare added a commit that referenced this pull request Oct 3, 2026
…poker house seat

Moves the agentbox pointer b6c44c9 -> 8f55d9a, agentbox main with
#12 (custody: role isolation behind [security].role_isolation, flag off;
ADR-2122), #13 (vaultSrc -> VisionClaw 94dc0ff) and #14 (poker-citizen
house seat, forum ADR-2020) merged. Each PR head is an ancestor of
8f55d9a. Lands on top of #28 (W8v broker key), so this one host commit
carries both sides for the owner's rebuild.

Pins at 8f55d9a, checked against the merged tree: vaultSrc
94dc0ff sha256-1mQSa9/... and poker-citizen d67370884 sha256-z9efv3bk...
(NAR method that reproduces the previous pins exactly; vendored lockfile
byte-identical to the kit's Cargo.lock), aoe 33e806ad8 unchanged, podkey
0.0.11 zip sha256 e1cfd874... verified. Not built: no nix in the
container; the host rebuild proves them.

Co-Authored-By: jjohare <github@thedreamlab.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants