Skip to content

g8e v1.6.6

Choose a tag to compare

@github-actions github-actions released this 29 Jul 14:48
Immutable release. Only release title and notes can be modified.
5574d28

[1.6.6] - 2026-07-27

Overview

Comprehensive "Tribunal" → "Consensus" rename across the entire codebase, plus several structural refactors and a new --doctrine-dir CLI flag. This release renames all user-facing identifiers (CLI flags, env vars, API paths, Go types, error constants, event constants, status enums, collection names, package paths) from "Tribunal" to "Consensus" to align naming with the protocol's consensus governance model. The monolithic DBController is split into three focused controllers, L2 consensus verification logic is extracted from the L4 Warden into a standalone file with generic interfaces, and the gateway construction API is refactored to public two-phase initialization.

Breaking Changes

  • "Tribunal" → "Consensus" rename — All user-facing identifiers renamed. CLI flags --tribunal-id, --tribunal-url, --tribunal-bootstrap are now --consensus-id, --consensus-url, --consensus-bootstrap. Env vars G8E_TRIBUNAL_* are now G8E_CONSENSUS_*. API paths /api/v1/admin/tribunals and /tribunal/v1/deliberate are now /api/v1/admin/consensus and /consensus/v1/deliberate. Bootstrap config file tribunal-bootstrap.json is now consensus-bootstrap.json. Users must update CLI invocations, environment variables, API clients, and bootstrap config file names.
  • SetTribunal() / SetEnvelopeProcessor() removedGatewayModeService no longer exposes SetTribunal() (now SetConsensusService()) or SetEnvelopeProcessor() for late-bound dependency injection. Late-bound dependencies are now injected at construction time via InitHTTPHandler(). External code that called these methods must switch to the two-phase construction pattern.
  • initHandlersAndServers()InitHTTPHandler() — Gateway construction changed from private initHandlersAndServers() to public InitHTTPHandler() (two-phase construction). Late-bound dependencies (consensus service, envelope processor) are now injected at construction time instead of via atomic pointers.

Added

  • --doctrine-dir CLI flag — New flag (G8E_DOCTRINE_DIR env var) allows loading custom doctrine JSON files for L1 threat detection from a specified directory. NewL1DoctrineFromDir() constructor added. All demos updated to pass --doctrine-dir /etc/g8e/doctrine.
  • query_pa_status MCP tool — New MCP tool added to the healthcare demo's pa_api_server.py for querying prior authorization status.

Changed

  • "Tribunal" → "Consensus" comprehensive rename — Go types (TribunalPolicyConsensusPolicy, TribunalStoreConsensusStore, TribunalServiceConsensusService), error constants (ErrTribunal*ErrConsensus*), event constants (AiTribunalSession*AiConsensusSession*, AiTribunalVoting*AiConsensusVoting*), status enums (TribunalMemberConsensusMember, TribunalAuditModeConsensusAuditMode, TribunalAuditStatusConsensusAuditStatus), collection (CollectionTribunalsCollectionConsensus), package (internal/services/tribunal/internal/services/consensus/).
  • DBController split — Monolithic DBController decomposed into DataController, AuditController, and SignerController with focused responsibilities.
  • l2_consensus.go extracted — L2 verification logic moved from l4_warden.go to l2_consensus.go with generic L2ConsensusPolicy and L2ConsensusPolicyStore interfaces.
  • AppPolicyStore removed from L4Warden — Simplified the warden constructor by removing the unused appPolicyStore parameter.
  • Gateway construction refactoredinitHandlersAndServers() (private) replaced with InitHTTPHandler() (public, two-phase construction). Late-bound dependencies injected at construction time instead of via atomic pointers.
  • Demo compose.yml files updated — All demo compose files updated with --doctrine-dir flag and consensus naming.

Documentation

  • Protocol docsprotocol/docs/spec.md, protocol/docs/mcp.md, protocol/docs/constants.md updated with Consensus naming (collections, events, API paths, status enums, env vars, CLI flags, file references).
  • Build guidedocs/guides/build_apps.md updated: all Tribunal references renamed to Consensus (persona catalog, section titles, protocol mapping table, governance interlock description).
  • Generated proto API docs — Regenerated via make proto to reflect consensus_set_id field name and consensus member terminology in L2Metadata/L2Vote messages.