Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
d334847
NUMERIC-BIT-0: model the fixed-width word and bit-operation substrate…
Sep 18, 2026
a5cddd2
NUMERIC-BIT-0: split the bitwise claim into discriminators; parenthes…
Sep 18, 2026
7a78088
CRYPTO-0: model SHA-256 and HMAC-SHA-256 in .dag; switch extdeps.cryp…
Sep 18, 2026
fed5a40
NUMERIC-BIT-0: fix the mistranscribed bitwise operand and claim the t…
Sep 18, 2026
cc4f1a8
CRYPTO-0: carry MacComputationRefused through every mac_sign consumer…
Sep 18, 2026
a647efd
Merge branch 'session/sharp-raven-413' of https://github.com/gunb-ai/…
Sep 18, 2026
7769b60
CRYPTO-0: carry MacComputationRefused through the remaining mac_sign …
Sep 18, 2026
2fe86f9
CRYPTO-0: retrigger required CI against main
Sep 18, 2026
626dfd2
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 19, 2026
93c1acf
CRYPTO-0: carry MacComputationRefused through the device-redemption w…
Sep 19, 2026
3609a02
CRYPTO-0: derive the SHA-256 constant tables once at module scope
Sep 19, 2026
d778dcb
NUMERIC-BIT-0: derive the modulus once per width; carry the consumer …
Sep 19, 2026
5eead3d
NUMERIC-BIT-0: fix the closed-set recomputation class, not only the c…
Sep 19, 2026
9befdd7
NUMERIC-BIT-0: bind the frontier rows against bound_dissolution's rea…
Sep 19, 2026
b290752
NUMERIC-BIT-0: enrol the consumer frontier in the census that compute…
Sep 19, 2026
fa465ac
NUMERIC-BIT-0: refuse an unrealizable width before accumulating octets
Sep 19, 2026
a40faa2
NUMERIC-BIT-0: unbind the frontier triggers that cited a module absen…
Sep 19, 2026
94f7248
NUMERIC-BIT-0: qualify operand premises, refuse a negative octet coun…
Sep 19, 2026
a30528c
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 19, 2026
0972528
Merge commit '94f7248c603c416ea8f3a3e703bd794608c86527' into session/…
Sep 19, 2026
fdcdff5
Merge remote-tracking branch 'origin/main' into session/sharp-raven-413
Sep 19, 2026
faa8903
Merge main and admit utf8_decode_octets' members through the checked …
Sep 19, 2026
bf9e692
CRYPTO-0: retire the four SHA-256 consumer-frontier rows in the trans…
Sep 19, 2026
0148835
Merge commit 'faa89033892f68e75f5c8d67af99852e09faa4e6' into session/…
Sep 19, 2026
4ccc8bd
NUMERIC-BIT-0: qualify the octet projection; delete the orphaned word…
Sep 19, 2026
8d81d86
NUMERIC-BIT-0: make the qualification a carrier, not a check every he…
Sep 19, 2026
7362980
CRYPTO-0: move the frontier-set annotation to module-item grain (DESI…
Sep 19, 2026
7a0fea5
Thread base64_encode refusal at approval_device_wire path_segment
Sep 19, 2026
97888f6
chore: regenerate drifted generated artifacts (ci auto-heal)
Sep 19, 2026
356ed1c
Export the qualified-octet unwrap; revert the plans-doc edit that for…
Sep 19, 2026
069c7b2
Merge remote-tracking branch 'origin/session/sharp-raven-413' into se…
Sep 19, 2026
c705aec
Restore the plans-doc repoint; CI auto-heal regenerated its projection
Sep 19, 2026
e7b8ad2
chore: regenerate drifted generated artifacts (ci auto-heal)
Sep 19, 2026
d2e1d9c
Make the typecheck green control assert acceptance, and cite BigEndia…
Sep 19, 2026
92e2d4d
Retire the second stale onboarding citation, and pin refusal CAUSES n…
Sep 19, 2026
b8abbf7
Unescape the record-literal braces in the typecheck probe sources
Sep 19, 2026
2aebbdd
chore: regenerate drifted generated artifacts (ci auto-heal)
Sep 19, 2026
a13e29f
Withdraw the unexecutable typecheck witness and declare the wall unwi…
Sep 19, 2026
e10d852
Merge remote-tracking branch 'origin/main' into session/sharp-raven-413
Sep 19, 2026
55313be
Merge commit 'a13e29f3e2d44ff4aa21c93dfea71fec3842b4ca' into session/…
Sep 19, 2026
a3e2625
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 19, 2026
1748ef5
Keep base64_encode total; refuse the octet where it is made
Sep 19, 2026
9b6f3ea
Retire base64_octet_word everywhere, including the doc I had just rep…
Sep 19, 2026
9fd30ee
Merge main: keep both frontier roster rows
Sep 19, 2026
188eec5
Merge origin/main into session/royal-stag-544
Sep 19, 2026
0e504aa
Bring the blackjack projection back onto its authority
Sep 19, 2026
573e5f9
Import the carrier where it is matched; route bit width through std.m…
Sep 19, 2026
9ca9d9a
Name the divergence and give the forgery statement one home
Sep 19, 2026
d37f56e
Merge commit '9ca9d9ab8db7e4dda75e421081c0c8dd65610f92' into session/…
Sep 19, 2026
bbf7219
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 19, 2026
d626878
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 20, 2026
8b4a504
CRYPTO-0: carry MacComputationRefused through approval_request_client…
Sep 20, 2026
9bdd93e
Fleet converge: the two new modes answer the ssh-key demand match
Sep 20, 2026
b08466d
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 20, 2026
2720f9c
Merge remote-tracking branch 'origin/main' into session/royal-stag-544
Sep 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 0 additions & 11 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ sha2 = "0.10"
# repo-wide crypto upgrade. RustCrypto provides Hmac<Sha256> together with verify_slice, which
# compares in constant time -- the operation gunbc.auth.approval_capability requires and the reason
# no accessor in extdeps.crypto.mac yields a computed tag for a caller to compare itself.
hmac = "0.12"
hex = "0.4"
glob = "0.3"
ureq = "2"
Expand Down
24 changes: 18 additions & 6 deletions dag/extdeps/cloud/gcp/secret_manager.dag
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
module extdeps.cloud.gcp.secret_manager

import std.encoding { Standard, base64_decode, base64_encode, utf8_decode_bytes }
import std.bytes { bytes_octets, octets_bytes, utf8_encode_bytes }
import std.machine_word { QualifiedOctetsReady, QualifiedOctetsRefused }
import std.encoding { Standard, base64_decode, base64_encode, base64_octets, utf8_decode_bytes }
import std.bytes { bytes_octets, octets_bytes, utf8_encode_bytes, pure_dag_seam_unreachable_string }
import extdeps.cloud.gcp.iam { GcpBinding, GcpPolicy }
import extdeps.external_authority { ExternalAuthority }
import extdeps.uri { Uri, Https }
Expand Down Expand Up @@ -199,11 +200,22 @@ fn sm_resolved_version_identity_is_well_formed(name: String) -> Bool {
}
}

// base64_encode gained a refusal channel when NUMERIC-BIT-0 (gunbc#11627) routed its packing
// through std.machine_word: it refuses an octet outside the byte range, where it previously
// multiplied one into a plausible wrong string. THE ARM IS UNREACHABLE HERE, and that is a
// statement about this call and not about base64_encode: the octets are the UTF-8 encoding of a
// String, so every member is a byte by construction and no in-range input can reach the refusal.
// An unreachable arm still has to answer, and "" is a valid base64 encoding -- of the empty
// credential -- so returning it would conflate a refusal with a real answer at a secret-provisioning
// boundary. std.bytes' divergent seam is the corpus's declared idiom for an arm that cannot be
// reached; it diverges rather than fabricating, which is the loud half of DESIGN section 5.
// This function's signature is deliberately unchanged: threading an Optional to the two actuators
// that call it would put a refusal channel where no refusal can arise.
fn encode_sm_access_version_payload_wire(credential: Secret) -> String {
base64_encode(
octets: bytes_octets(b: utf8_encode_bytes(s: credential as String)),
variant: Standard
)
match base64_octets(values: bytes_octets(b: utf8_encode_bytes(s: credential as String))) {
QualifiedOctetsReady { octets: qualified } => base64_encode(octets: qualified, variant: Standard)
QualifiedOctetsRefused { cause: _ } => pure_dag_seam_unreachable_string()
}
}

fn decode_sm_access_version_payload_wire(data_b64: String) -> SmAccessVersionPayloadDecodeOutcome {
Expand Down
283 changes: 221 additions & 62 deletions dag/extdeps/crypto/mac.dag

Large diffs are not rendered by default.

Loading