Skip to content

docs: clarify context vs human-governance boundary in local-hybrid slice#30

Open
mdheller wants to merge 5 commits intomainfrom
docs/clarify-context-vs-hdt-boundary-20260409
Open

docs: clarify context vs human-governance boundary in local-hybrid slice#30
mdheller wants to merge 5 commits intomainfrom
docs/clarify-context-vs-hdt-boundary-20260409

Conversation

@mdheller
Copy link
Copy Markdown
Member

@mdheller mdheller commented Apr 9, 2026

Summary

Add a short boundary note to the local-hybrid slice area clarifying that governed context and human-governance are distinct semantic planes.

Why

The slice pack is now merged on main, and we want the transport-facing documentation to preserve one important architectural split:

  • slash-topics owns topic-pack identity / locality / provenance / movement semantics
  • human-digital-twin owns policy / consent / approval / attestation semantics
  • TriTRPC may carry frames from both planes without redefining their ownership

File added

  • spec/slices/local_hybrid_v0/context_vs_human_governance_boundary.md

Review focus

  1. Is the separation clear enough for future method/fixture work?
  2. Should this later be folded into the slice README once convenient?
  3. Does this reduce the risk of transport docs collapsing adjacent semantic layers into one metadata bucket?

@mdheller
Copy link
Copy Markdown
Member Author

mdheller commented Apr 9, 2026

@copilot fix failed checks

@mdheller mdheller marked this pull request as ready for review April 9, 2026 12:56
@mdheller mdheller requested a review from Copilot April 9, 2026 12:56
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a short documentation note to the local-hybrid slice pack clarifying that “governed context” and “human-governance” are separate semantic planes owned by different upstream repositories, and that TriTRPC should not collapse or redefine that ownership when transporting frames.

Changes:

  • Add a boundary note describing the governed-context vs human-governance split and upstream ownership.
  • Clarify the implication for TriTRPC transport fixtures/docs (it can carry both, but doesn’t own their semantics).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mdheller
Copy link
Copy Markdown
Member Author

mdheller commented Apr 9, 2026

@copilot Fix failed checks

@mdheller
Copy link
Copy Markdown
Member Author

mdheller commented Apr 9, 2026

@copilot fix the failed checks

…ted build artifacts

Agent-Logs-Url: https://github.com/SocioProphet/TriTRPC/sessions/0d2d4c42-7c52-4c39-a43d-a18e154d2fbc

Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
@mdheller
Copy link
Copy Markdown
Member Author

mdheller commented Apr 9, 2026

@copilot dix failed checks

…e mode in roundtrip

- AEAD tags in all fixtures use BLAKE2b-MAC (key=0x00*32, digest_size=16),
  not XChaCha20-Poly1305. Update Rust and Go tests + Python verifier to match.
- Add blake2 = \"0.10.6\" as a regular dependency in Rust Cargo.toml (needed
  by tritrpc_v1_tests module in lib.rs).
- Add envelope::build_with_mode() / BuildEnvelopeWithMode() so roundtrip
  repacking preserves the decoded mode bytes (PathB fixtures use mode=1).
- Fix Go TLEB3DecodeLen to read 2 bytes when a tail-marker byte (0xF3-0xF6)
  is encountered, matching the Rust fix; also simplify the offset arithmetic.
- tools/verify_fixtures_strict.py: remove XChaCha20 dependency, use hashlib.blake2b.

Agent-Logs-Url: https://github.com/SocioProphet/TriTRPC/sessions/2d513ab8-5636-4156-a324-a5c76ec463e9

Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 9, 2026

@copilot dix failed checks

Fixed in 103a820. The CI had multiple cascading failures:

  1. AEAD algorithm mismatch: All fixture tags use BLAKE2b-MAC (hashlib.blake2b, key=0x00*32, digest_size=16), but the Rust tests, Go tests, and Python verifier were checking with XChaCha20-Poly1305. Updated all three.

  2. Mode roundtrip failure (revealed once Add pedantic repository documentation (THEORY.md, REPOSITORY_GUIDE.md) and expand README #1 was fixed): BuildEnvelope/build always wrote mode=0, but PathB fixtures use mode=1. Added BuildEnvelopeWithMode/build_with_mode functions that preserve the decoded mode bytes.

  3. Go TLEB3 tail-marker bug (the root cause of the initial Go test panic): TLEB3DecodeLen processed tail-marker bytes (0xF3–0xF6) one byte at a time, but they span 2 bytes. Fixed to read both bytes together, matching the existing Rust implementation.

make verify now passes all steps: rust-fmt, go-fmt, rust-test, go-test, fixtures.

@copilot Fix failed checks

Fixed in commit 103a820. See the detailed breakdown in the reply above.

@copilot fix the failed checks

Fixed in commit 103a820. See the detailed breakdown in the reply above.

…de in roundtrip

Agent-Logs-Url: https://github.com/SocioProphet/TriTRPC/sessions/2d513ab8-5636-4156-a324-a5c76ec463e9

Co-authored-by: mdheller <21163552+mdheller@users.noreply.github.com>
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.

3 participants