Skip to content

EPIC: Trinity Secure Chat (crates/trios-chat) written once in .t27 and generated by t27c gen-rust #1812

Open

Description

@dmitrii-f-t27

This epic tracks the rewrite of Trinity Secure Chat (this repository, crates/trios-chat) into the .t27 language. The goal: the chat logic is written once in .t27 and the Rust is generated by t27c gen-rust, instead of being written by hand.

Name. Here "Trinity Secure Chat" means only crates/trios-chat (design doc docs/chat/trinity-chat-design.md, TRINITY-CHAT-001, ADR-CHAT-001..010). It does not mean the trios.app Swift agent chat, QueenUI, the t27.ai Queen chat, the legacy IGLA "Trinity Chat v2.x" chatbot, the app.t27.ai kanban card chat or the TRI-NET Video messenger. Scope decision D1 (owner, 2026-10-11): only crates/trios-chat.

Links

Baseline

Measured on main at 8b229e9489ee (no new commits since 2026-09-24, still HEAD on 2026-10-11):

  • 319 .rs files, 86,357 lines by the inventory count (it counts one line more than wc -l per file), about 4,373 fns.
  • 3,063 #[test] plus 7 #[tokio::test] = 3,070 tests. All pass in a scratch workspace (rustc 1.94, fresh dependency resolution). This number is not yet measured with this repository's Cargo.lock; W0 re-measures it.
  • 12 ring crates (CR-CHAT-00..07, CR-CHAT-LAWS, BR-OUTPUT-CHAT, BR-IO-CHAT-05, BR-IO-CHAT-07) plus the shim (src/, tests/).
  • No crate in gHashTag depends on trios-chat (code search, 2026-10-10). The private 999-multibots-telegraf repository could not be read and was not checked.
  • The shim crates/trios-chat is not in [workspace].members. So e2e_chat_25, falsifier_runner and tests/r_chat_guard.rs are not built in CI.
  • Port state in gHashTag/t27 on 2026-10-10 about 22:30 UTC: 8 files merged, 9 open PRs, 7 open issues without a PR, 295 files untouched.

Two deliverables per file

  1. PORT. A .t27 spec on gHashTag/t27 master at specs/port/trios/crates/trios-chat/<path>.t27 that meets the extended definition of done below.
  2. SWAP. In this repository the hand-written logic is replaced by the byte-identical t27c gen-rust output, vendored at rings/<R>/src/t27gen/<stem>.rs behind a thin hand-written adapter. The original #[cfg(test)] modules stay byte-identical and are the oracle, because gen-rust does not lower tests.

Partition of the 319 files (2026-10-10)

Group Files What happens
W0 pilot: merged ports whose generated Rust compiles 5 swap only
W1 repair: merged ports that are defective 3 repair the spec, then swap
Queen lane (WQ): 9 open PRs + 7 issues without a PR 16 bees finish them; T-VERIFY; swap after merge
Own lane: new specs (CR-CHAT-00 in W1, the rest in W2-W7) 287 port from the fork dmitrii-f-t27/t27, then swap
Kept as hand-written Rust (exceptions) 8 recorded in crates/trios-chat/T27_EXCEPTIONS.md
Total 319

Rule: an untouched file that the stage-6 feeder files before our ring tracker takes effect joins the in-flight group. All new work is done by dmitrii-f-t27 (owner decision D2). The total stays 319.

Waves

Wave Content Files Who merges
W0 workspace member, frozen baseline + golden vectors, pin test, 5-file swap pilot, conventions, ring claims 5 dmitrii-f-t27 (trios); the workspace and baseline PRs change /Cargo.toml and /Cargo.lock (CODEOWNERS @gHashTag), so they merge only after gHashTag's approval
W1 W1a: CR-CHAT-00 types, repair of CR-CHAT-LAWS and skipped_message_key_gap_bound_guard; W1b (after gHashTag closes t27 issues 7617 and 8366): repair of envelope_size_distribution_uniformity, exact-variant tests of ratchet_tree_resolution_guard 4 gHashTag (t27 fork PR); dmitrii-f-t27 (trios swaps)
W2 CR-CHAT-04 and CR-CHAT-07 (consumed by CR-CHAT-01 and BR-IO-CHAT-07) 70 same
W3 CR-CHAT-03, CR-CHAT-05, CR-CHAT-06 121 same
W4 CR-CHAT-02, CR-CHAT-01 guards 73 same
W5 crypto-adjacent decisions and byte layouts; the audited crates stay in the adapters 15 same
W6 BR-IO-CHAT-05 store guard, BR-IO-CHAT-07 step model; 5 I/O exceptions 7 same
W7 injection matcher, assembler constants, bins, final parity; 3 exceptions 8 same
WQ the 16 in-flight Queen items 16 auto-merger or gHashTag

Swap order is innermost first: CR-CHAT-00 and LAWS, then CR-CHAT-04/07, CR-CHAT-03/05/06, CR-CHAT-02 and CR-CHAT-01 guards, crypto-adjacent decisions (CR-CHAT-01 sealed.rs after the CR-CHAT-04 swap), BR-IO rings, BR-OUTPUT and the shim.

Lanes (owner decision D2, answered 2026-10-11: own lane only)

  • Own lane. Agents working as dmitrii-f-t27 write the new specs from the fork and do every swap here. Ring trackers in gHashTag/t27 (one per ring, with "Port" in the title, no Boundary) keep the stage-6 feeder off those files.
  • In-flight items. The 16 items already in progress in gHashTag/t27 (9 open PRs, 7 issues without a PR on 2026-10-10; 2 more files gained bee issues on 2026-10-11) stay with their current work. We do not duplicate active work. If an item stalls, we finish it with our own PR as dmitrii-f-t27. Every merged item is checked (T-VERIFY) and swapped here.

Conventions and layout

  • Port conventions: docs/chat/T27_PORT_CONVENTIONS.md (child issue, linked below).
  • Swap layout per file: rings/<R>/src/t27gen/<stem>.rs (generated, never edited) + rings/<R>/src/<stem>.rs (original types, docs, error enums and test module, with an adapter: 22-35 non-blank lines in the minimal form and 49 in the in-tree form, measured on 5 drafts).
  • crates/trios-chat/T27_PIN records the t27 SHA, the spec path, the seal file and the sha256 of each vendored file. tests/t27_pin.rs checks the hashes (no .sh files under crates/trios-chat).
  • Crypto boundary: child issue, linked below. The audited crates (x25519-dalek, ed25519-dalek, chacha20poly1305, ml-kem, hkdf, sha2, subtle, zeroize, rand_core) stay in the hand-written adapters.

Definition of done (summary)

  1. Every one of the 319 files has a final status: ported and swapped; Queen lane, merged and swapped; or a documented exception.
  2. Every chat spec on gHashTag/t27 master: Zig 0.16 t27c test-report exits 0 with 0 FAIL, 0 BLOCKED, 0 vacuous; test blocks >= the original #[test] count with exact verdict asserts (split and crypto-adjacent files: a test-mapping table instead); t27c gen-rust output compiles with rustc --edition 2021 --crate-type lib --out-dir; one unique module line (full path for own-lane specs; merged pilot and Queen-lane specs keep their short names, because renaming changes the seal file); ASCII only for new specs, no Cyrillic in any; t27c coverage shows 0 untested functions; a seal with numeric tests, or the hash recorded as unsealed with a reseal request pending.
  3. crates/trios-chat is a workspace member. On the final merged SHA, cargo test --all is green in CI, and per-ring test names and counts equal the frozen baseline.
  4. e2e_chat_25 gives the same 25/25 PASS list. falsifier_runner gives the same stdout and exit code as the frozen baseline, or differs only through a separate fix PR merged earlier. golden_vectors output is identical.
  5. A mutation proof is recorded for every swapped file.
  6. An honest L0 statement with the remaining hand-written Rust line counts is in this epic.

What this epic does not claim

  • No constant-time claim for any generated code. No timing measurement exists, and .t27 has no optimisation barrier or zeroize construct.
  • No post-quantum claim. The prekey bundle ML-KEM field is a SHA-256 placeholder, kem.rs is not wired into the handshake, and the default ratchet DH step is X25519 only.
  • No sender-anonymity claim. SealedEnvelope carries src_x25519_pub in clear.
  • No "Coq-verified" claim. proofs/chat/Trinity_Chat.v has no extraction and no mechanical link to the Rust, and no CI job compiles it.
  • No "3600/3600 falsifier" claim. Measured in scratch on 2026-10-10: 3147/3200 blocked, exit 1, 400 corpus rows skipped.
  • A merged port is not proof of equivalence, and a seal is not proof that the generated Rust compiles.

Remaining hand-written Rust after the swap (estimate, not measured)

  • Adapters: 283 pure-guard/pure-logic files x 22-49 non-blank lines = 6,226-13,867 lines. Crypto, I/O and glue adapters come on top and are not measured.
  • The original test modules stay.
  • Whether roadmap-stack.mjs counts t27gen/ files as Rust is not known. Asked of gHashTag; until answered: I cannot confirm this.

Child issues (filled after filing)

  • W0 workspace member: (to be linked)
  • W0 baseline, golden vectors, pin test: (to be linked)
  • W0 swap pilot (5 files): (to be linked)
  • W0 port conventions: (to be linked)
  • Behaviour quirks decision (D6): (to be linked)
  • Crypto boundary decision (D8, D6b): (to be linked)
  • Scope and client surfaces (D15): (to be linked)
  • Ring swaps (one per ring, draft 06): CR-CHAT-00, CR-CHAT-LAWS, CR-CHAT-04, CR-CHAT-07, CR-CHAT-03, CR-CHAT-05, CR-CHAT-06, CR-CHAT-02, CR-CHAT-01, BR-IO-CHAT-07, BR-IO-CHAT-05, BR-OUTPUT-CHAT + shim
  • gHashTag/t27 side: gen-rust repro issue (draft 10), repair issue (draft 12), 9 ring trackers: (to be linked)

Owner decisions

D1 scope, D2 lane (D2c: trackers before gHashTag's reply), D3 swap target, D4 adapters, D5 verdict convention, D6 quirks (D6b secret bytes), D7 falsifier parity, D8 where SHA-256 runs, D9 seals, D10 injection deny table, D11 exceptions and first email, D12 Postgres, D13 Coq, D14 mode, D15 mesh chat phase 2, D16 chat outside the ZCode zone. Status (2026-10-11): D1 = only crates/trios-chat; D2 = own lane only, all work by dmitrii-f-t27; D2c = trackers filed before the 2026-10-12 stage-6 run, email the same day; D3 = swaps land in trios main, one ring per PR; D4 = yes (interim adapters + gen-rust repro issue); D5 = verdict struct with Ok first; D16 = chat excluded from the parallel ZCode sweep. D6-D15: pending, decided before the wave that needs them.

Appendix: per-file status (2026-10-10, generated from data/inventory-classified.csv)

Lines use the inventory count. "Task" names the task type from the package. Update this table as files move.

Ring File Lines Tests Wave Task State
BR-IO-CHAT-05 entities/chat_envelope.rs 47 0 W6 exception untouched
BR-IO-CHAT-05 entities/mod.rs 7 0 W6 exception untouched
BR-IO-CHAT-05 lib.rs 32 0 W6 exception untouched
BR-IO-CHAT-05 migrations/m2026_05_09_000001_create_chat_envelope.rs 88 0 W6 exception untouched
BR-IO-CHAT-05 migrations/mod.rs 23 0 W6 exception untouched
BR-IO-CHAT-05 store.rs 219 0 W6 T-SPLIT untouched
BR-IO-CHAT-07 lib.rs 222 0 W6 T-PORT untouched
BR-OUTPUT-CHAT lib.rs 144 4 W7 T-PORT untouched
CR-CHAT-00 lib.rs 274 9 W1 T-SPLIT untouched
CR-CHAT-01 appack_replay.rs 413 10 W4 T-PORT untouched
CR-CHAT-01 credential_chain_path_length_guard.rs 221 10 W4 T-PORT untouched
CR-CHAT-01 ephemeral_mailbox_unlinkability.rs 325 10 W4 T-PORT untouched
CR-CHAT-01 epoch_advancement_guard.rs 208 10 W4 T-PORT untouched
CR-CHAT-01 handshake_fingerprint.rs 343 10 W5 T-CRYPTO-DECISION untouched
CR-CHAT-01 identity.rs 436 12 W5 T-SPLIT + T-CRYPTO-DECISION untouched
CR-CHAT-01 identity_key_compromise_recovery_guard.rs 227 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_cross_device_binding_guard.rs 244 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_fingerprint_consistency_guard.rs 217 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_predecessor_acknowledgment_guard.rs 258 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_rotation_age_freshness_guard.rs 238 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_rotation_guard.rs 202 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_rotation_proof_guard.rs 226 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_signature_algorithm_consistency_guard.rs 247 10 W4 T-PORT untouched
CR-CHAT-01 identity_key_usage_count_guard.rs 139 10 WQ Queen lane open issue 7108, no PR
CR-CHAT-01 kem.rs 277 10 W5 T-CRYPTO-DECISION untouched
CR-CHAT-01 kem_decap_oracle.rs 286 10 W5 T-CRYPTO-DECISION untouched
CR-CHAT-01 key_package_expiry_guard.rs 178 10 W0 swap pilot merged (PR 8187)
CR-CHAT-01 key_package_lifetime_grace_window_expiry.rs 288 10 W4 T-PORT untouched
CR-CHAT-01 keypackage_capabilities_binding.rs 234 10 W4 T-PORT untouched
CR-CHAT-01 keypackage_init_key_reuse.rs 270 10 W4 T-PORT untouched
CR-CHAT-01 lib.rs 272 0 W7 T-PORT untouched
CR-CHAT-01 one_time_prekey_exhaustion_guard.rs 188 10 W4 T-PORT untouched
CR-CHAT-01 otpk.rs 286 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-01 prekey_bundle_binding_guard.rs 231 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_cipher_suite_consistency_guard.rs 239 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_expiry_guard.rs 256 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_freshness_guard.rs 211 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_hash_chain_integrity_guard.rs 266 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_lifetime_enforcement_guard.rs 229 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_one_time_use_guard.rs 198 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_rotation_rate_limit_guard.rs 258 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_sig_algo_downgrade_prevention_guard.rs 236 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_signature_algorithm_consistency_guard.rs 250 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_signature_field_coverage_guard.rs 245 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_signature_validity_window_guard.rs 240 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_single_use_enforcement_guard.rs 257 10 W4 T-PORT untouched
CR-CHAT-01 prekey_bundle_timestamp_freshness_guard.rs 241 10 W4 T-PORT untouched
CR-CHAT-01 prekey_signature_algorithm_downgrade.rs 231 10 W4 T-PORT untouched
CR-CHAT-01 prekey_signature_chain.rs 373 10 W4 T-PORT untouched
CR-CHAT-01 prekey_signature_nonce_freshness.rs 200 10 W4 T-PORT untouched
CR-CHAT-01 revocation.rs 315 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-01 sealed.rs 293 12 W5 T-SPLIT + T-CRYPTO-DECISION untouched
CR-CHAT-01 sealed_sender_recipient_hash_uniqueness_guard.rs 252 10 W4 T-PORT untouched
CR-CHAT-01 sealed_sender_replay_guard.rs 226 10 W4 T-PORT untouched
CR-CHAT-01 sealed_sender_replay_window_consistency_guard.rs 243 10 W4 T-PORT untouched
CR-CHAT-01 signature_algorithm_pinning_guard.rs 177 10 WQ Queen lane open issue 7976, no PR
CR-CHAT-01 signed_prekey_signature_binding_guard.rs 221 10 W4 T-PORT untouched
CR-CHAT-01 welcome_encrypted_group_info_aead.rs 268 10 W4 T-PORT untouched
CR-CHAT-02 application_data_aead_nonce_reuse.rs 281 10 W4 T-PORT untouched
CR-CHAT-02 chain_key_derivation_domain_separation_guard.rs 266 10 W4 T-PORT untouched
CR-CHAT-02 chain_key_epoch_transition_guard.rs 223 10 W4 T-PORT untouched
CR-CHAT-02 chain_key_epoch_transition_timing_guard.rs 273 10 W4 T-PORT untouched
CR-CHAT-02 chain_key_forward_seed_uniqueness_guard.rs 205 10 W4 T-PORT untouched
CR-CHAT-02 clock_skew.rs 349 7 W4 T-PORT untouched
CR-CHAT-02 cover_traffic_decoy_indistinguishability.rs 315 10 W4 T-PORT untouched
CR-CHAT-02 deniable.rs 220 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-02 dh_output_validation.rs 190 10 WQ Queen lane open PR 8806 (issue 8784)
CR-CHAT-02 double_ratchet_chain_key_rotation_bound_guard.rs 233 10 W4 T-PORT untouched
CR-CHAT-02 double_ratchet_sending_chain_rotation_guard.rs 182 10 W4 T-PORT untouched
CR-CHAT-02 ephemeral_public_key_reuse_detection_guard.rs 246 10 W4 T-PORT untouched
CR-CHAT-02 epoch_authentication_failure.rs 301 10 W5 T-CRYPTO-DECISION untouched
CR-CHAT-02 epoch_rollover_wraparound_guard.rs 161 10 W0 swap pilot merged (PR 7647), issue 7634 still open
CR-CHAT-02 forward_secrecy_key_wipe.rs 218 10 W4 T-PORT untouched
CR-CHAT-02 header_key_derivation_epoch_separation_guard.rs 248 10 W4 T-PORT untouched
CR-CHAT-02 kdf_label_domain_separation.rs 180 10 WQ Queen lane open issue 7635, no PR
CR-CHAT-02 key_package_hash_pinning.rs 244 10 W4 T-PORT untouched
CR-CHAT-02 lib.rs 1028 28 W5 T-SPLIT + T-CRYPTO-DECISION untouched
CR-CHAT-02 message_key_commitment_binding_guard.rs 226 10 W4 T-PORT untouched
CR-CHAT-02 message_key_derivation_binding_guard.rs 212 10 W4 T-PORT untouched
CR-CHAT-02 message_key_derivation_label_uniqueness_guard.rs 237 10 W4 T-PORT untouched
CR-CHAT-02 message_key_usage_lifetime_bound_guard.rs 248 10 W4 T-PORT untouched
CR-CHAT-02 ratchet_replay_window_guard.rs 189 10 W4 T-PORT untouched
CR-CHAT-02 ratchet_skip_message_bound_guard.rs 198 10 W4 T-PORT untouched
CR-CHAT-02 receiving_chain_gap_bound_guard.rs 235 10 W4 T-PORT untouched
CR-CHAT-02 root_key_derivation_chain.rs 240 10 W4 T-PORT untouched
CR-CHAT-02 root_key_derivation_chain_length_guard.rs 198 10 W4 T-PORT untouched
CR-CHAT-02 root_key_derivation_context_label_guard.rs 281 10 W4 T-PORT untouched
CR-CHAT-02 root_key_derivation_salt_uniqueness_guard.rs 225 10 W4 T-PORT untouched
CR-CHAT-02 root_key_forward_secrecy_verification_guard.rs 246 10 W4 T-PORT untouched
CR-CHAT-02 root_key_rotation_frequency_bound_guard.rs 263 10 W4 T-PORT untouched
CR-CHAT-02 sender_chain_fork_detection_guard.rs 210 10 W4 T-PORT untouched
CR-CHAT-02 sender_data_header_encryption.rs 299 10 W4 T-PORT untouched
CR-CHAT-02 sending_chain_advancement_bound_guard.rs 239 10 W4 T-PORT untouched
CR-CHAT-02 sending_chain_advancement_limit_guard.rs 238 10 W4 T-PORT untouched
CR-CHAT-02 sending_chain_key_seed_diversity_guard.rs 284 10 W4 T-PORT untouched
CR-CHAT-02 skipped_message_key_cache_size_bound_guard.rs 235 10 W4 T-PORT untouched
CR-CHAT-02 skipped_message_key_eviction_policy_guard.rs 267 10 W4 T-PORT untouched
CR-CHAT-02 skipped_message_key_exhaustion.rs 186 10 W4 T-PORT untouched
CR-CHAT-02 skipped_message_key_gap_bound_guard.rs 178 10 W1 T-REPAIR merged (PR 8500)
CR-CHAT-02 welcome_init_secret_kdf_label_confusion.rs 229 10 W4 T-PORT untouched
CR-CHAT-03 commit_path_secret_aead_keying_mismatch.rs 366 10 W3 T-PORT untouched
CR-CHAT-03 commit_secret_export_collision.rs 298 10 W3 T-PORT untouched
CR-CHAT-03 commit_signature.rs 343 10 W3 T-PORT untouched
CR-CHAT-03 concurrent_add_remove.rs 419 10 W3 T-PORT untouched
CR-CHAT-03 confirmation_tag_chain.rs 290 10 W3 T-PORT untouched
CR-CHAT-03 external_commit.rs 258 6 W3 T-PORT untouched
CR-CHAT-03 external_commit_resumption_psk_misbinding.rs 318 10 W3 T-PORT untouched
CR-CHAT-03 external_proposal_origin_unbound.rs 344 10 W3 T-PORT untouched
CR-CHAT-03 external_psk_id_provenance.rs 260 10 W3 T-PORT untouched
CR-CHAT-03 group_context_hash_consistency_guard.rs 202 10 W3 T-PORT untouched
CR-CHAT-03 group_epoch_commit_ordering_guard.rs 196 10 W3 T-PORT untouched
CR-CHAT-03 group_member_removal_verification_guard.rs 204 10 W3 T-PORT untouched
CR-CHAT-03 group_membership_authorization_guard.rs 214 10 W3 T-PORT untouched
CR-CHAT-03 leaf_node_key_uniqueness_guard.rs 213 10 W3 T-PORT untouched
CR-CHAT-03 leaf_node_priority_inversion_guard.rs 200 10 W3 T-PORT untouched
CR-CHAT-03 leaf_node_signature_validation.rs 306 10 W3 T-PORT untouched
CR-CHAT-03 lib.rs 1396 37 W3 T-SPLIT untouched
CR-CHAT-03 membership_tag_binding.rs 254 10 W3 T-PORT untouched
CR-CHAT-03 parent_hash_chain_validation_guard.rs 239 10 W3 T-PORT untouched
CR-CHAT-03 pcs_healing.rs 352 7 W3 T-PORT untouched
CR-CHAT-03 proposal_ref_collision.rs 265 10 W3 T-PORT untouched
CR-CHAT-03 proposal_validation.rs 329 10 W3 T-PORT untouched
CR-CHAT-03 psk_external_injection.rs 345 10 W3 T-PORT untouched
CR-CHAT-03 ratchet_tree_blank_node_depth_guard.rs 227 10 W3 T-PORT untouched
CR-CHAT-03 ratchet_tree_resolution_guard.rs 180 10 W0 swap pilot merged (PR 8461), issue 8366 still open
CR-CHAT-03 ratchet_tree_update_integrity_guard.rs 223 10 W3 T-PORT untouched
CR-CHAT-03 reinit_freshness.rs 317 10 W3 T-PORT untouched
CR-CHAT-03 transcript_hash_chain.rs 229 10 W3 T-PORT untouched
CR-CHAT-03 treekem_blank_leaf_count_bound_guard.rs 230 10 W3 T-PORT untouched
CR-CHAT-03 treekem_epoch_transition_integrity_guard.rs 244 10 W3 T-PORT untouched
CR-CHAT-03 treekem_group_membership_change_rate_guard.rs 252 10 W3 T-PORT untouched
CR-CHAT-03 treekem_group_membership_epoch_continuity_guard.rs 249 10 W3 T-PORT untouched
CR-CHAT-03 treekem_leaf_node_key_freshness_guard.rs 242 10 W3 T-PORT untouched
CR-CHAT-03 treekem_leaf_node_version_monotonicity_guard.rs 261 10 W3 T-PORT untouched
CR-CHAT-03 treekem_parent_hash_binding.rs 317 10 W3 T-PORT untouched
CR-CHAT-03 treekem_parent_hash_chain_continuity_guard.rs 315 10 W3 T-PORT untouched
CR-CHAT-03 treekem_parent_node_resolution_depth_guard.rs 243 10 W3 T-PORT untouched
CR-CHAT-03 treekem_path_secret_forward_secrecy_guard.rs 204 10 W3 T-PORT untouched
CR-CHAT-03 treekem_path_secret_freshness_guard.rs 260 10 W3 T-PORT untouched
CR-CHAT-03 treekem_path_secret_uniqueness_guard.rs 211 10 W3 T-PORT untouched
CR-CHAT-03 treekem_resolution_node_coverage_guard.rs 235 10 W3 T-PORT untouched
CR-CHAT-03 treekem_resolution_path_node_uniqueness_guard.rs 286 10 W3 T-PORT untouched
CR-CHAT-03 treekem_sibling_node_independence_guard.rs 251 10 W3 T-PORT untouched
CR-CHAT-03 treekem_unmerged_leaf_count_accumulation_guard.rs 249 10 W3 T-PORT untouched
CR-CHAT-03 treekem_update_path_coverage_guard.rs 217 10 W3 T-PORT untouched
CR-CHAT-03 treekem_update_path_length_bound_guard.rs 257 10 W3 T-PORT untouched
CR-CHAT-03 treekem_update_path_secret_uniqueness_guard.rs 242 10 W3 T-PORT untouched
CR-CHAT-03 treekem_update_path_uniqueness_guard.rs 226 10 W3 T-PORT untouched
CR-CHAT-03 treekem_update_path_validation.rs 194 10 W3 T-PORT untouched
CR-CHAT-03 unmerged_leaves_bound_guard.rs 172 10 W0 swap pilot merged (PR 8445), issue 8125 still open
CR-CHAT-04 application_message_generation_skip_dos.rs 302 10 W2 T-PORT untouched
CR-CHAT-04 external_init_secret_pinning.rs 353 10 W2 T-PORT untouched
CR-CHAT-04 header_extension_order_guard.rs 201 10 W2 T-PORT untouched
CR-CHAT-04 lib.rs 541 19 W2 T-SPLIT untouched
CR-CHAT-04 mac_truncation.rs 296 10 W5 T-CRYPTO-DECISION untouched
CR-CHAT-04 mls_plaintext_framing_integrity.rs 304 10 W2 T-PORT untouched
CR-CHAT-04 padding_alignment_boundary_guard.rs 205 10 W2 T-PORT untouched
CR-CHAT-04 padding_block_alignment_uniformity_guard.rs 255 10 W2 T-PORT untouched
CR-CHAT-04 padding_block_cipher_mode_uniformity_guard.rs 273 10 W2 T-PORT untouched
CR-CHAT-04 padding_block_size_alignment_guard.rs 254 10 W2 T-PORT untouched
CR-CHAT-04 padding_byte_entropy_guard.rs 195 10 W2 T-PORT untouched
CR-CHAT-04 padding_byte_pattern_uniformity_guard.rs 265 10 W2 T-PORT untouched
CR-CHAT-04 padding_ciphertext_length_class_balance_guard.rs 302 10 W2 T-PORT untouched
CR-CHAT-04 padding_ciphertext_length_consistency_guard.rs 220 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_collision_guard.rs 189 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_downgrade_guard.rs 178 10 WQ Queen lane open PR 8455 (issue 8437)
CR-CHAT-04 padding_class_oracle.rs 314 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_selection_entropy_guard.rs 258 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_transition_audit.rs 206 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_transition_entropy_guard.rs 268 10 W2 T-PORT untouched
CR-CHAT-04 padding_class_transition_monotonicity_guard.rs 228 10 W2 T-PORT untouched
CR-CHAT-04 padding_crypto_binding_guard.rs 204 10 W2 T-PORT untouched
CR-CHAT-04 padding_fill_byte_randomness_guard.rs 261 10 W2 T-PORT untouched
CR-CHAT-04 padding_key_derivation_domain_separation_guard.rs 234 10 W2 T-PORT untouched
CR-CHAT-04 padding_key_derivation_uniqueness_guard.rs 213 10 W2 T-PORT untouched
CR-CHAT-04 padding_key_rotation_uniformity_guard.rs 244 10 W2 T-PORT untouched
CR-CHAT-04 padding_length_class_transition_uniformity_guard.rs 300 10 W2 T-PORT untouched
CR-CHAT-04 padding_length_distribution_guard.rs 206 10 W2 T-PORT untouched
CR-CHAT-04 padding_metadata_leak_guard.rs 158 10 WQ Queen lane open PR 7582 (issue 7562)
CR-CHAT-04 padding_nonce_reuse_detection_guard.rs 220 10 W2 T-PORT untouched
CR-CHAT-04 padding_oracle_chosen_ct.rs 309 10 W2 T-PORT untouched
CR-CHAT-04 padding_oracle_timing_sidechannel.rs 190 10 W2 T-PORT untouched
CR-CHAT-04 padding_payload_entropy_minimum_guard.rs 269 10 W2 T-PORT untouched
CR-CHAT-04 padding_response_timing_fingerprint_guard.rs 269 10 W2 T-PORT untouched
CR-CHAT-04 padding_timing_side_channel_guard.rs 263 10 W2 T-PORT untouched
CR-CHAT-04 padding_timing_uniformity_guard.rs 285 10 W2 T-PORT untouched
CR-CHAT-04 safety_number.rs 217 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-04 welcome_path_secret_unmasking.rs 295 10 W2 T-PORT untouched
CR-CHAT-04 wire_frame_integrity_guard.rs 185 10 WQ Queen lane open PR 8673 (issue 8600)
CR-CHAT-05 cross_session_duplicate_envelope.rs 244 10 W3 T-PORT untouched
CR-CHAT-05 data_store_encryption_at_rest_guard.rs 216 10 W3 T-PORT untouched
CR-CHAT-05 envelope_counter_gap_detection_guard.rs 263 10 W3 T-PORT untouched
CR-CHAT-05 envelope_ordering_integrity.rs 229 10 W3 T-PORT untouched
CR-CHAT-05 envelope_size_distribution_uniformity.rs 167 10 W1 T-REPAIR merged (PR 7623), issue 7617 still open
CR-CHAT-05 group_context_extensions_consistency.rs 318 10 W3 T-PORT untouched
CR-CHAT-05 key_rotation.rs 413 7 W3 T-SPLIT untouched
CR-CHAT-05 key_rotation_replay_guard.rs 195 10 W3 T-PORT untouched
CR-CHAT-05 lib.rs 698 19 W3 T-SPLIT untouched
CR-CHAT-05 psk_secret_extraction_chain_order_mismatch.rs 268 10 W3 T-PORT untouched
CR-CHAT-05 sender_keys_epoch_window_replay.rs 303 10 W3 T-PORT untouched
CR-CHAT-05 session_isolation_verification.rs 220 10 W3 T-PORT untouched
CR-CHAT-05 session_store_key_expiry_guard.rs 214 10 W3 T-PORT untouched
CR-CHAT-05 snapshot_atomicity_guard.rs 178 10 WQ Queen lane open PR 8787 (issue 8780)
CR-CHAT-05 store_checkpoint_consistency_guard.rs 255 10 W3 T-PORT untouched
CR-CHAT-05 store_compaction_integrity_guard.rs 173 10 WQ Queen lane open PR 7920 (issue 7895)
CR-CHAT-05 store_encryption_key_derivation_context_guard.rs 234 10 W3 T-PORT untouched
CR-CHAT-05 store_encryption_key_rotation_integrity_guard.rs 241 10 W3 T-PORT untouched
CR-CHAT-05 store_encryption_key_version_monotonicity_guard.rs 275 10 W3 T-PORT untouched
CR-CHAT-05 store_encryption_nonce_uniqueness_guard.rs 283 10 W3 T-PORT untouched
CR-CHAT-05 store_envelope_counter_monotonicity_guard.rs 272 10 W3 T-PORT untouched
CR-CHAT-05 store_integrity_hash_chain.rs 229 10 W3 T-PORT untouched
CR-CHAT-05 store_migration_compat_guard.rs 276 10 W3 T-PORT untouched
CR-CHAT-05 store_record_deletion_depth_bound_guard.rs 253 10 W3 T-PORT untouched
CR-CHAT-05 store_record_deletion_integrity_guard.rs 191 10 W3 T-PORT untouched
CR-CHAT-05 store_record_size_distribution_uniformity_guard.rs 311 10 W3 T-PORT untouched
CR-CHAT-05 store_record_tombstone_gc_guard.rs 253 10 W3 T-PORT untouched
CR-CHAT-05 store_record_tombstone_resurrection_guard.rs 280 10 W3 T-PORT untouched
CR-CHAT-05 store_revision_monotonicity_guard.rs 187 10 WQ Queen lane open PR 8674 (issue 8596)
CR-CHAT-05 store_session_isolation_verification_guard.rs 244 10 W3 T-PORT untouched
CR-CHAT-05 store_snapshot_hash_chain_continuity_guard.rs 288 10 W3 T-PORT untouched
CR-CHAT-05 store_snapshot_integrity_hash_guard.rs 289 10 W3 T-PORT untouched
CR-CHAT-05 store_tombstone_purging_consistency_guard.rs 212 10 W3 T-PORT untouched
CR-CHAT-05 store_wal_entry_sequence_continuity_guard.rs 289 10 W3 T-PORT untouched
CR-CHAT-05 store_write_amplification_bound_guard.rs 258 10 W3 T-PORT untouched
CR-CHAT-05 store_write_atomicity_guard.rs 258 10 W3 T-PORT untouched
CR-CHAT-05 store_write_ordering_monotonicity_guard.rs 259 10 W3 T-PORT untouched
CR-CHAT-05 tombstone_retention_guard.rs 206 10 W3 T-PORT untouched
CR-CHAT-05 wal_entry_checksum_guard.rs 209 10 W3 T-PORT untouched
CR-CHAT-05 wal_entry_crc_chain_integrity_guard.rs 287 10 W3 T-PORT untouched
CR-CHAT-05 wal_fsync_barrier_guard.rs 221 10 W3 T-PORT untouched
CR-CHAT-05 welcome_keypackage_pinning.rs 384 10 W5 T-SPLIT + T-CRYPTO-DECISION untouched
CR-CHAT-05 welcome_secret_treekem_pruning.rs 287 10 W3 T-PORT untouched
CR-CHAT-06 agent_capability_scope_boundary_guard.rs 272 10 W3 T-PORT untouched
CR-CHAT-06 agent_context_window_budget_guard.rs 185 10 WQ Queen lane open PR 8822 (issue 8800)
CR-CHAT-06 agent_context_window_overflow_guard.rs 248 10 W3 T-PORT untouched
CR-CHAT-06 agent_output_content_type_validation_guard.rs 249 10 W3 T-PORT untouched
CR-CHAT-06 agent_output_format_validation_guard.rs 250 10 W3 T-PORT untouched
CR-CHAT-06 agent_output_rate_limit_guard.rs 209 10 W3 T-PORT untouched
CR-CHAT-06 agent_output_redaction_completeness_guard.rs 262 10 W3 T-PORT untouched
CR-CHAT-06 agent_prompt_injection_depth_accumulation_guard.rs 245 10 W3 T-PORT untouched
CR-CHAT-06 agent_prompt_injection_depth_bound_guard.rs 245 10 W3 T-PORT untouched
CR-CHAT-06 agent_prompt_injection_depth_guard.rs 203 10 W3 T-PORT untouched
CR-CHAT-06 agent_prompt_injection_detection_rate_guard.rs 243 10 W3 T-PORT untouched
CR-CHAT-06 agent_rate_limit_burst_detection_guard.rs 255 10 W3 T-PORT untouched
CR-CHAT-06 agent_resource_usage_limit_guard.rs 258 10 W3 T-PORT untouched
CR-CHAT-06 agent_response_length_bound_guard.rs 231 10 W3 T-PORT untouched
CR-CHAT-06 agent_response_size_burst_bound_guard.rs 275 10 W3 T-PORT untouched
CR-CHAT-06 agent_session_concurrency_limit_guard.rs 254 10 W3 T-PORT untouched
CR-CHAT-06 agent_session_timeout_enforcement_guard.rs 246 10 W3 T-PORT untouched
CR-CHAT-06 agent_session_token_expiry_enforcement_guard.rs 253 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_argument_schema_compliance_guard.rs 252 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_authorization_scope_guard.rs 262 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_call_audit_log_guard.rs 194 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_call_dependency_cycle_guard.rs 265 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_call_frequency_burst_guard.rs 247 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_call_rate_limit_guard.rs 204 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_input_sanitization_guard.rs 211 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_output_size_validation_guard.rs 193 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_response_content_type_guard.rs 248 10 W3 T-PORT untouched
CR-CHAT-06 agent_tool_result_cache_staleness_guard.rs 239 10 W3 T-PORT untouched
CR-CHAT-06 capability.rs 239 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-06 capability_scope_escalation_guard.rs 214 10 W3 T-PORT untouched
CR-CHAT-06 confused_deputy.rs 346 6 W5 T-CRYPTO-DECISION untouched
CR-CHAT-06 injection.rs 5875 5 W7 T-SPLIT untouched
CR-CHAT-06 injection_pattern_depth_guard.rs 220 10 W3 T-PORT untouched
CR-CHAT-06 lib.rs 255 0 W7 exception untouched
CR-CHAT-06 session_capability_replay.rs 256 10 W3 T-PORT untouched
CR-CHAT-06 tag_stripping.rs 380 10 W3 T-PORT untouched
CR-CHAT-06 tool_arg_confusion.rs 503 7 W3 T-PORT untouched
CR-CHAT-06 tool_argument_schema_guard.rs 258 10 W3 T-PORT untouched
CR-CHAT-06 tool_call_chain_depth_guard.rs 197 10 W3 T-PORT untouched
CR-CHAT-06 tool_cot_leak_guard.rs 187 10 WQ Queen lane open issue 8464, no PR
CR-CHAT-06 tool_output_sanitization.rs 190 10 W3 T-PORT untouched
CR-CHAT-06 tool_response_size_bound.rs 173 10 WQ Queen lane open issue 8728, no PR
CR-CHAT-06 tool_response_timeout_guard.rs 181 10 WQ Queen lane open issue 8478, no PR
CR-CHAT-07 blind_signature_sender_token.rs 302 10 W2 T-PORT untouched
CR-CHAT-07 cover_decoy_ratio_governor.rs 179 10 W0 swap pilot merged (PR 7969)
CR-CHAT-07 cover_traffic_burst_detection.rs 253 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_burst_interval_regularity_guard.rs 278 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_destination_rotation_frequency_guard.rs 278 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_destination_uniformity_guard.rs 248 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_emission_jitter_guard.rs 219 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_emission_pattern_randomness_guard.rs 295 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_entropy_fingerprint.rs 224 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_generation_rate_stability_guard.rs 271 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_inter_arrival_autocorrelation_guard.rs 265 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_inter_destination_timing_uniformity_guard.rs 269 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_inter_epoch_continuity_guard.rs 244 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_payload_length_distribution_guard.rs 267 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_payload_size_variance_guard.rs 249 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_replay_detection_guard.rs 233 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_size_distribution_guard.rs 293 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_starvation.rs 320 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_timing_correlation_guard.rs 232 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_timing_jitter_uniformity_guard.rs 281 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_volume_ratio_stability_guard.rs 264 10 W2 T-PORT untouched
CR-CHAT-07 cover_traffic_volume_stability_guard.rs 245 10 W2 T-PORT untouched
CR-CHAT-07 decoy_message_payload_entropy_guard.rs 243 10 W2 T-PORT untouched
CR-CHAT-07 decoy_payload_indistinguishability.rs 195 10 W2 T-PORT untouched
CR-CHAT-07 egress_fingerprint.rs 262 6 W2 T-PORT untouched
CR-CHAT-07 emission_cadence_uniformity.rs 210 10 W2 T-PORT untouched
CR-CHAT-07 jitter_side_channel.rs 405 11 W2 T-SPLIT untouched
CR-CHAT-07 lib.rs 447 4 W2 T-SPLIT untouched
CR-CHAT-07 message_size_class_distribution_guard.rs 237 10 W2 T-PORT untouched
CR-CHAT-07 mixnet_path_diversity_guard.rs 218 10 W2 T-PORT untouched
CR-CHAT-07 network_flow_direction_uniformity_guard.rs 234 10 W2 T-PORT untouched
CR-CHAT-07 observer_fingerprint_rotation_guard.rs 223 10 W2 T-PORT untouched
CR-CHAT-07 ratchet_tree_extension_tampering.rs 358 10 W2 T-PORT untouched
CR-CHAT-07 receiver_side_traffic_analysis.rs 172 10 WQ Queen lane open issue 8468, no PR
CR-CHAT-07 replay_detection_window_guard.rs 181 10 WQ Queen lane open PR 8734 (issue 8724)
CR-CHAT-07 traffic_burst_pattern_uniformity_guard.rs 231 10 W2 T-PORT untouched
CR-CHAT-07 traffic_shaping_burst_uniformity_guard.rs 213 10 W2 T-PORT untouched
CR-CHAT-07 traffic_volume_correlation_guard.rs 207 10 W2 T-PORT untouched
CR-CHAT-07 wire_timing_anomaly_guard.rs 205 10 W2 T-PORT untouched
CR-CHAT-LAWS lib.rs 78 4 W1 T-REPAIR merged (PR 7193)
src src/bin/e2e_chat_25.rs 266 0 W7 exception untouched
src src/bin/falsifier_runner.rs 256 0 W7 T-SPLIT untouched
src src/lib.rs 30 0 W7 exception untouched
tests tests/r_chat_guard.rs 41 3 W7 T-PORT untouched

Dmitrii Fedorov (@dmitrii-f-t27)

Activity

  1. added
    not-a-taskA record, not work: it declares in its own body that no worker can start it
    on Oct 11, 2026
  2. dmitrii-f-t27 commented on Oct 11, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Status 2026-10-11 (W0 swap pilot and ring CR-CHAT-00).

    Swap pilot: issue #1895, PR #1896 (head ea88625, stacked on 1820 and 1827). Five guards now run t27c gen-rust output (t27 5e5493cab) behind adapters; the original test modules are unchanged.

    Measured per file (adapter = whole non-test part of the original file, non-blank / non-comment lines; mutation = original tests failing after one flipped comparison in the generated file):

    File Adapter lines Mutation
    CR-CHAT-01 key_package_expiry_guard 46 / 33 4 of 10
    CR-CHAT-02 epoch_rollover_wraparound_guard 45 / 32 9 of 10
    CR-CHAT-03 ratchet_tree_resolution_guard 51 / 37 6 of 10
    CR-CHAT-03 unmerged_leaves_bound_guard 46 / 33 4 of 10
    CR-CHAT-07 cover_decoy_ratio_governor 53 / 36 9 of 10

    Time: about 8 minutes for the 5 files, starting from the 2026-10-10 adapter drafts. Ring suites equal the frozen baseline (476, 431, 520, 381); e2e, falsifier and golden vectors identical; required checks green on ea88625.

    Baseline: PR #1827 now also freezes BR-IO-CHAT-07 (6/6, commit 4a87e09).

    Ring CR-CHAT-00 (tracker gHashTag/t27#8880): spec PR gHashTag/t27#9131 from the fork, specs/port/trios/crates/trios-chat/rings/CR-CHAT-00/src/lib.t27, test-report 16/16, sealed. The CR-CHAT-00 swap in trios follows after that spec merges.

    Dmitrii Fedorov (@dmitrii-f-t27)

  3. dmitrii-f-t27 commented on Oct 11, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    @gHashTag, please approve and merge these four PRs into main. main requires your approval, so I cannot merge them myself. State at 2026-10-11 15:45Z: each PR is MERGEABLE, all 11 checks pass on its head, and the only block is REVIEW_REQUIRED.

    Order PR Head Closes What
    1 #1820 adbe1a145 #1814 trios-chat in the workspace (root Cargo.toml)
    2 #1827 4a87e0978 #1825 golden base, T27_PIN, pin tests (root Cargo.lock); BR-IO-CHAT-07 measured 6/6. Contains the #1820 commit
    3 #1896 ea886258a #1895 swap pilot: five chat guards run t27c gen-rust output behind adapters (measurements in the comment above). Contains the #1820 and #1827 commits
    any #1826 6b93cf54e #1824 port rules document, independent

    The t27 side of ring CR-CHAT-00 is gHashTag/t27#9131 (Refs gHashTag/t27#8880). It is in the t27 merge list gHashTag/t27#9136. The CR-CHAT-00 swap in trios comes after it merges.

    Also for the Queen branch: #1768 vendors specs/queen/claim.t27 and waits for gHashTag/t27#8768 (head 4b6ee3b82, required checks pass, also in gHashTag/t27#9136). After that merge, I merge #1768 into queen myself once its latest head is green, and close #1767.

    Dmitrii Fedorov (@dmitrii-f-t27)

  4. dmitrii-f-t27 commented on Oct 14, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    @gHashTag, two t27 PRs of this epic are ready for your merge in gHashTag/t27 (I have read access only there). State checked 2026-10-14 against master d06eaedc9:

    PR Head Closes / Refs What Required checks Other reds
    gHashTag/t27#9131 a5a960fa5 Refs gHashTag/t27#8880 CR-CHAT-00 lib.t27; head is now a merge of master d06eaedc9 (no spec change, seal still matches) validate, check-linked-issue, parse-ratchet, own-language: SUCCESS duplicate-bodies, cli-tri, t27b-native-ratchet: each red on master too
    gHashTag/t27#9551 394732ec3 Closes gHashTag/t27#9550 repair of skipped_message_key_gap_bound_guard (was BLOCKED in Zig) and CR-CHAT-LAWS lib (vacuous tests, did not lower to Rust) the same 4: SUCCESS the same 3, same evidence

    Each PR body has the table of red checks with the master evidence (identical tools/dupe_scan.py set on a clean master checkout; the last master cli-tri run 38297236431 fails at the same cargo build -p tri --all-targets step under rustc 1.99.0; the same 155 t27b rows on both PRs, none for these specs).

    The four trios PRs in my comment above (1820, 1827, 1896, 1826) are unchanged since 2026-10-11: same heads, all checks pass, still waiting for your approval in the order given there.

    Dmitrii Fedorov (@dmitrii-f-t27)

  5. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge request for the gHashTag merger (own-lane port work, EPIC W2):

    @ gHashTag — please merge t27#9614.

  6. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04):

    @ gHashTag — please merge t27#9614 and t27#9641.

  7. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — one consolidated note, three READY PRs, merge in this order:

    1. t27#9614 — READY, SHA 86ef02a0c (repairs the ratchet rows #9613 added).
    2. t27#9641 — READY, SHA 9c0e9379f (header extension order guard).
    3. t27#9650 — READY, SHA d77f3b477 (External Init secret pinning).

    All three carry one-line ledger insertions in the same gap, so each later merge needs a one-line rebase — I take those on request. Steward verdicts and check evidence are on each PR. @ gHashTag — please merge.

  8. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — consolidated note, four READY PRs, merge in this order:

    1. t27#9614 — SHA 86ef02a0c (repairs the ratchet rows #9613 added)
    2. t27#9641 — SHA 9c0e9379f (header extension order guard)
    3. t27#9650 — SHA d77f3b477 (External Init secret pinning)
    4. t27#9651 — SHA (head of port/cr-chat-04-wave2-d, generation skip-window DoS defence)

    Each carries a one-line ledger insertion in the same gap, so each later merge needs a one-line rebase — I take those on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  9. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — five READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  10. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — six READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity
    6. t27#9660 — padding byte entropy guard

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  11. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — seven READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity
    6. t27#9660 — padding byte entropy guard
    7. t27#9661 — padding byte pattern uniformity guard

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  12. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — eight READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity
    6. t27#9660 — padding byte entropy guard
    7. t27#9661 — padding byte pattern uniformity guard
    8. t27#9669 — padding-class oracle guard

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  13. dmitrii-f-t27 commented on Oct 15, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — nine READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity
    6. t27#9660 — padding byte entropy guard
    7. t27#9661 — padding byte pattern uniformity guard
    8. t27#9669 — padding-class oracle guard
    9. t27#9670 — padding class selection entropy guard

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  14. dmitrii-f-t27 commented on Oct 16, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Merge requests for the gHashTag merger (own-lane W2 port work, CR-CHAT-04) — ten READY PRs now, merge in this order:

    1. t27#9614 — repairs the ratchet rows #9613 added
    2. t27#9641 — header extension order guard
    3. t27#9650 — External Init secret pinning
    4. t27#9651 — generation skip-window DoS defence
    5. t27#9652 — MLS plaintext framing integrity
    6. t27#9660 — padding byte entropy guard
    7. t27#9661 — padding byte pattern uniformity guard
    8. t27#9669 — padding-class oracle guard
    9. t27#9670 — padding class selection entropy guard
    10. t27#9678 — padding class collision guard

    Each carries a one-line ledger insertion in the same gap — each later merge needs a one-line rebase, which I take on request. Steward verdicts and evidence on each PR. @ gHashTag — please merge.

  15. 31 remaining items

  16. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 11 of 47 T-PORT targets delivered)

    Newly requesting: #9916 group_epoch_commit_ordering_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  17. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 12 of 47 T-PORT targets delivered)

    Newly requesting: #9925 group_member_removal_verification_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  18. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 13 of 47 T-PORT targets delivered)

    Newly requesting: #9926 group_membership_authorization_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  19. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 14 of 47 T-PORT targets delivered)

    Newly requesting: #9928 leaf_node_key_uniqueness_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  20. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 15 of 47 T-PORT targets delivered)

    Newly requesting: #9929 leaf_node_priority_inversion_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  21. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 16 of 47 T-PORT targets delivered)

    Newly requesting: #9931 leaf_node_signature_validation (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  22. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 17 of 47 T-PORT targets delivered)

    Newly requesting: #9932 membership_tag_binding (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  23. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 18 of 47 T-PORT targets delivered)

    Newly requesting: #9933 parent_hash_chain_validation_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  24. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 19 of 47 T-PORT targets delivered)

    Newly requesting: #9935 pcs_healing (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  25. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 20 of 47 T-PORT targets delivered)

    Newly requesting: #9944 proposal_ref_collision (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  26. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 21 of 47 T-PORT targets delivered)

    Newly requesting: #9945 proposal_validation (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944 → #9945. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  27. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 22 of 47 T-PORT targets delivered)

    Newly requesting: #9946 psk_external_injection (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944 → #9945 → #9946. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  28. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 23 of 47 T-PORT targets delivered)

    Newly requesting: #9947 ratchet_tree_blank_node_depth_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944 → #9945 → #9946 → #9947. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  29. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 24 of 47 T-PORT targets delivered)

    Newly requesting: #9949 ratchet_tree_update_integrity_guard (Refs t27#8883) — steward READY, required checks green.

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944 → #9945 → #9946 → #9947 → #9949. Each steward READY, required checks green; known non-required reds cli-tri / duplicate-bodies / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands. Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

  30. dmitrii-f-t27 commented on Oct 17, 2026

    @dmitrii-f-t27
    CollaboratorAuthor

    Consolidated merge request — CR-CHAT-03 lane, @gHashTag (tracker t27#8883; 24 of 47 T-PORT targets delivered)

    Newly requesting: #9977 ratchet_tree_update_integrity_guard (Refs t27#8883) — steward READY, required checks green; it supersedes #9949 (rebased onto c4bb3b6ce for the dupe-ledger blessings of #9970, content identical).

    CR-CHAT-03 ordered merge list: #9875 → #9896 → #9904 → #9906 → #9908 → #9909 → #9910 → #9912 → #9913 → #9915 → #9916 → #9925 → #9926 → #9928 → #9929 → #9931 → #9932 → #9933 → #9935 → #9944 → #9945 → #9946 → #9947 → #9977. Each steward READY, required checks green; known non-required reds cli-tri / t27b-native-ratchet. Ledger conflicts between consecutive merges resolve trivially; rebases on this side if a batch lands (the owner's current merging cadence may ask for more — we watch and rebase). Earlier CR-CHAT-04 (36) and CR-CHAT-07 (34) lists stand as posted.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    not-a-taskA record, not work: it declares in its own body that no worker can start ittrios-chat

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions