Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
2074057
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
1d18333
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
7f759ff
Document selected witness bundle execution receipt
Aug 1, 2026
6fabafc
Ground bundle wall receipts in nanosecond measures
Aug 1, 2026
55d26cf
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
e3fb7a1
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 1, 2026
4c27584
Make bundle execution admission fail closed
Aug 1, 2026
2f9e780
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
0d005b5
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
c1478e7
Remove temporary inert carrier diagnostic
Aug 1, 2026
35e4e2b
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 1, 2026
0085f7e
Roster modeled compile diagnostic census frontier
Aug 1, 2026
10adba0
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
29f4a43
Attribute monotonic primitive census delta
Aug 1, 2026
563295a
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 1, 2026
49040f9
Reconcile inert carrier roster after main merge
Aug 1, 2026
9842318
Bind bundle admission to executed evidence
Aug 1, 2026
cfeb035
Refresh bundle witness receipt count
Aug 1, 2026
91f825d
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 1, 2026
f9feb1a
Prove planted red differs from production subject
Aug 1, 2026
2cdee20
Refuse stale plans and cold bundle receipts
Aug 1, 2026
2498b56
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 1, 2026
3350c70
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 2, 2026
bcb6ac5
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 2, 2026
c5283bb
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 2, 2026
6f0b515
WIP: gunbc oracle
Aug 2, 2026
e2f57e1
Ground REST transport digests on Fnv1a64Structural, including the see…
Aug 2, 2026
6992d89
Close the auth arm of the same fork; declare its coverage gap
Aug 2, 2026
90c41fa
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 2, 2026
c61fc9a
Merge racing auth-arm commit; supersede its DefaultHasher-as-Fnv1a64 …
Aug 2, 2026
86fe545
Merge remote-tracking branch 'origin/main' into session/cool-wren-804
Aug 2, 2026
c5a8c03
WIP: Dispatch L: native-selected-witness-bundle - realize the selecte…
Aug 2, 2026
b460784
Remove superseded generic REST hash bridge after main merge
Aug 2, 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
8 changes: 5 additions & 3 deletions dag/extdeps/transports/rest.dag
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
module extdeps.transports.rest

import std.types { HttpMethod, GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, FermiDepth, NonEmptyStr, HttpStatus, Bool, String, Int, List }
import std.content_hash { ContentHash }
import std.content_hash { Fnv1a64Structural }
import std.serialization { WireFormat }
import std.fidelity { TransportFidelity }
import std.effect_grant { Envelope, HandlerBinding, Read, Write, CoveredBy, NoCoveringGrant, covering_grant, NamespacePosition, ServiceOpTree }
Expand Down Expand Up @@ -78,15 +78,17 @@ type RestExchangeObservation

type RestAuthSensitiveIdentity
= RestUnauthenticated
| RestAuthenticated { scheme: NonEmptyStr, digest: ContentHash }
| RestAuthenticated { scheme: NonEmptyStr, digest: Fnv1a64Structural }

data rest_authenticated_digest_witness_note: String = "AUTHENTICATED ARM: EXECUTED PIN, REPLAY-PATH DEFERRAL TYPED (review 47041, gunbc#7648). RestAuthenticated.digest is Fnv1a64Structural and the seed mint rest_auth_identity_value produces it via atom_identity_hash over '<scheme>\\0<secret>' - the SAME fnv1a64 primitive std.content_hash.content_hash_atom realizes, so an authored fixture reproduces the digest through the modeled surface (content_hash_atom(value: \"<scheme>\\0<secret>\")); an earlier spelling hashed with the host DefaultHasher, a value from outside the family this carrier names, which no dag fixture could ever author. EXECUTED EVIDENCE: rest_authenticated_identity_matches_dag_constructed_value (src/v1/tests/src/cross_representation_equality_test.rs) pins the seed mint ==-equal to the dag-authored identity - RED under a bare-text digest, RED under a non-fnv1a64 digest - plus a secret-inequality control. WHAT REMAINS DEFERRED, AND WHY, TYPED: a full replay-path authenticated witness (fixture matched against a seed-produced invocation through the service dispatch) additionally requires the invocation input_digest, whose per-param limbs content_hash_service_inputs still derives via the host value_hash - not reproducible from .dag - so authoring the matching fixture is blocked on that limb pipeline migrating to the fnv1a64 primitives; that migration also moves the recorded-fixture store keys, so it is its own lane, not a fixture edit here. RUNG: the mint seam is mechanically prevented by the executed pin; the end-to-end authenticated replay path remains unexecuted and must not be reported above that. DISSOLVE-ON: the limb migration lands and an authenticated replay witness executes against a seed-produced invocation; this row then deletes."

data rest_bound_invocation_note: String = "REST needs a specialization of v2.std.operation_argv.BoundOperationInvocation rather than pretending its shell-only binding list is enough. OperationRef remains the declaration identity authority. The specialization adds the HTTP method, fully realized URI target, the digest of every declared input, and an auth-sensitive digest whose preimage never enters the fixture. Together those facts make a replay exact: a fixture for another operation, path/query/body input, method, target, or credential identity cannot satisfy this invocation. Query and body values are already in the declared-input digest; constants are fixed by OperationRef."

type RestBoundOperationInvocation {
at: OperationRef
method: HttpMethod
target: Uri
input_digest: ContentHash
input_digest: Fnv1a64Structural
auth_identity: RestAuthSensitiveIdentity
}

Expand Down
1 change: 1 addition & 0 deletions dag/std/primitives.dag
Original file line number Diff line number Diff line change
Expand Up @@ -570,6 +570,7 @@ fn builtin_registry_surface_names() -> List<String> {
"atom_identity_hash",
"trace_mark",
"observed_peak_resident_bytes",
"observed_monotonic_nanos",
"string_contains",
"length",
"starts_with",
Expand Down
4 changes: 4 additions & 0 deletions dag/std/realization_measurement.dag
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ type RealizationMeasureEffect

data space_measure_duality_note: String = "Space composes as time's DUAL (witness-realization plan P1 / memory-control audit F4): sequential steps RELEASE, so seq peak = max; concurrent steps CO-RESIDE, so par peak = add. The earlier receipt rollup summed space over a sequential list - the parallel rule applied to the serial axis - and the keystone witness enshrined the sum; both corrected with this landing. Realized observation: the observed_peak_resident_bytes host builtin (VmHWM, fail-closed when unavailable) is ObservePeakResidentAtSubject's realization seam."

data elapsed_observation_realization_note: String = "ObserveElapsedAtSubject realization seam: observed_monotonic_nanos(boundary) reads nanoseconds since a process-local monotonic epoch. Callers use distinct start/end boundary labels and subtract the observations around the modeled subject; the labels prevent pure-call memoization from collapsing two observations but are never cache or bundle identity material. The absolute reading is neither calendar time nor identity material. The native-selected-witness bundle receipt uses this seam to compare the same selected population through interpreter and native execution."

data elapsed_observation_hand_rust_deferral_note: String = "HAND-RUST GATE explicit deferral. The observed_monotonic_nanos Instant bridge in v1_interpreter.rs is a bounded seed-retained realization of this modeled ObserveElapsedAtSubject effect, not a new decision authority. Lane: v1-hand-queue-drain. Concrete ROADMAP row: 'Get hand-written Rust in this repository down to zero' (authority dag/gunbc/v1_deletion_plan.dag). Dissolve-on: the emitted runtime owns the host monotonic-observation realization and v1-interpreter-delete removes this seed arm; the .dag effect and receipts remain. Until then the arm is counted here, covered by the selected-witness bundle's monotonic positive control, and exercised by the cold/warm plus interpreter/native execution receipts."

fn space_measure_seq(a: ByteSize, b: ByteSize) -> ByteSize {
byte_size(count: nat_max(a: measure_count(m: a), b: measure_count(m: b)))
}
Expand Down
Loading
Loading