Commit graph

6 commits

Author SHA256 Message Date
Tyler J King
cf744dd909 feat(org-ops-core): add ChronicleClient for CloudEvents emission
Replaces fake Forgejo push webhook pattern with structured
CloudEvents 1.0. Git-originated events use commit SHA as event id.
Non-git events use UUID v4.

No new dependencies — constructs CloudEvents JSON manually using
serde_json. Endpoint auto-derived from legacy webhook URL.

Ref: cid-reconciliation-audit.md Phase 1

Signed-off-by: Tyler King <tking@guildhouse.dev>
2026-04-12 06:45:19 -04:00
Tyler J King
d39fd692eb chore: remove dead reasoning_cid computation
The reasoning_cid was computed via SHA-256 but immediately discarded
(`let _ = reasoning_cid`). Remove the dead hash computation and the
now-unused sha2 import.

Ref: cid-reconciliation-audit.md Site 5

Signed-off-by: Tyler King <tking@guildhouse.dev>
2026-04-12 06:38:04 -04:00
Tyler J King
7107b2860a feat: wire GSAP into playbook runner — full AC→shell→CR loop
The governed playbook runner now:
1. Requests an AC from the GSAP broker before execution
2. Validates corpus CID + parameters CID + single-use
3. Executes the ansible playbook (unchanged)
4. Posts a Completion Receipt to the broker after execution

Environment variables:
  GSAP_BROKER_URL — Capstone broker endpoint
  GSAP_BEARER_TOKEN — JWT for broker auth
  GSAP_DRIVER_ID — identity driver (default: keycloak-guildhouse)
  GSAP_ACCORD_TEMPLATE — accord template (default: from GUILDHOUSE_ACCORD)
  GSAP_SESSION_DIR — local session state directory

Self-authorized mode:
  If GSAP_BROKER_URL not set, execution proceeds without AC/CR.
  Valid for development (GSAP §1.3). Not for production.

Error handling:
  ElevationRequired → shows activation instructions, aborts
  Denied → shows reason, aborts
  CorpusMismatch → shows CID diff, aborts
  CR delivery failure → stores locally, warns, does not abort

4/4 gsap_client unit tests passing.
Build clean with zero errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 13:15:54 -04:00
Tyler J King
aa5853d168 feat: GSAP client module — shell side of GSAP protocol
Implements the shell side of GCAP-SPEC-SHELLBOUND-BROKER-0001.
The broker (Capstone) issues ACs. This module consumes them.

GsapClient:
  authorize() — request AC, validate R-20/R-22/R-23/R-24
  complete() — post CR with 3x retry (R-29)

ConsumedContextRegistry:
  Filesystem-based replay prevention (R-22)

4/4 unit tests passing:
  test_corpus_mismatch, test_params_modified,
  test_replay_rejected, test_valid_ac

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 12:44:59 -04:00
Tyler J King
6912a46001 feat: bxnet-ops — BXNet governed shell
Fork of guildhouse/org-ops.
Binary: guildhouse-ops → bxnet-ops
DID: guildhouse.dev → bxnet.io
Upstream remote configured for sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 19:52:54 -04:00
242fb32180 Initial commit 2026-03-27 23:52:21 +00:00