Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
8aa7d68
Scope provider lifecycle invalidation to its original origin
GTrunSec Nov 5, 2026
de76c72
Share provider read custody while preserving current-cut delivery
GTrunSec Nov 5, 2026
a450c22
Shorten provider admission barriers and release Go bootstrap custody
GTrunSec Nov 5, 2026
39587cf
Provision Scheme SDK and bound verification phases in CI
GTrunSec Nov 7, 2026
421f698
Model and publish structured CI verification artifacts
GTrunSec Nov 7, 2026
384cd26
Keep metering and provider contracts within the ASP gate
GTrunSec Nov 7, 2026
d0a6cf6
Reserve CI time for structured native timeout receipts
GTrunSec Nov 7, 2026
368ce51
Allocate artifact declarations to Scheme and materialization to Rust
GTrunSec Nov 7, 2026
3924da5
Capture early stream failures in the saturation gate
GTrunSec Nov 7, 2026
f89d741
Drive provider SSE and delivery readiness on Tokio
GTrunSec Nov 7, 2026
b0d1e3f
Qualify benchmarks by native Criterion identities
GTrunSec Nov 7, 2026
059321c
Provision and bind the Cedar solver in Policy CI
GTrunSec Nov 7, 2026
81f24e4
Pin the native Scheme bridge to the current upstream PR revision
GTrunSec Nov 7, 2026
0775f2b
Keep Scheme layout authority in SysML
GTrunSec Nov 7, 2026
5612ed1
Keep control-plane action ownership in SysML
GTrunSec Nov 7, 2026
7428bc8
Preserve native Go timeout diagnostics in verification receipts
GTrunSec Nov 7, 2026
5b36ae4
Use four Tokio workers in provider runtime tests
GTrunSec Nov 7, 2026
887a1c6
Preregister Governor release performance qualification
GTrunSec Nov 7, 2026
9bd3511
Keep native package sources visible to the Cargo build owner
GTrunSec Nov 7, 2026
fd52d6d
Bound native provider fixture startup failure cleanup
GTrunSec Nov 7, 2026
ca9c1c7
Budget provider image builds separately from Go integration
GTrunSec Nov 7, 2026
f391288
Bind fact barriers and Session progression to ledger admission
GTrunSec Nov 7, 2026
9c676e7
Run the real SPEC provider case in Policy CI
GTrunSec Nov 7, 2026
7a2169f
Bind workflow selector results to fully delivered provider output
GTrunSec Nov 7, 2026
95d4880
Derive admitted hard-fact impact with native ASCENT
GTrunSec Nov 7, 2026
8f7bdbd
Serve authenticated hard-fact intents on the existing source lane
GTrunSec Nov 7, 2026
4f7116b
Run Governor observations on the bounded source owner
GTrunSec Nov 7, 2026
9c96a9f
Retain the failing Provider subtest from native Go events
GTrunSec Nov 7, 2026
318429f
Carry sealed Workflow topology through the source boundary
GTrunSec Nov 7, 2026
1c09d99
Use SysML for the production Go dependency boundary
GTrunSec Nov 7, 2026
6ebab13
Use Lab Gerbil ASCENT for hard fact impact
GTrunSec Nov 7, 2026
e236eba
Share Gateway impact rules at Scheme expansion
GTrunSec Nov 7, 2026
637ba2e
Separate linked Scheme image builds from Go recovery tests
GTrunSec Nov 7, 2026
784d669
Fetch retained Parser source objects for the native Scheme suite
GTrunSec Nov 7, 2026
6b32391
Isolate authenticated hard-fact RPC handling
GTrunSec Nov 7, 2026
7d8fb77
Seal single-provider preparation through natural retirement
GTrunSec Nov 7, 2026
53493e7
Use optimized incremental Cargo profiles
GTrunSec Nov 7, 2026
87a47c9
Import ASCENT rule and Session owners directly
GTrunSec Nov 7, 2026
2d273f8
Admit explicit Governor successors from sealed plans
GTrunSec Nov 7, 2026
da6a012
Use four native Scheme build workers in verification
GTrunSec Nov 7, 2026
84a9c1f
Bound parallel Go verification tests to four workers
GTrunSec Nov 7, 2026
a9ee271
Retain native Scheme dependency deadline outcomes
GTrunSec Nov 7, 2026
a22229d
Preserve Governor wake under source lane contention
GTrunSec Nov 7, 2026
26d029f
Bind Scheme integration to a frozen release executable
GTrunSec Nov 7, 2026
969b4cf
Keep dependency optimization out of cold dev builds
GTrunSec Nov 7, 2026
35ceb39
Build the selected Weaver Scheme source closure
GTrunSec Nov 7, 2026
13df38e
Model advisory derivation and governed object lifecycle
GTrunSec Nov 7, 2026
3ac7672
Use one Cargo graph for Scheme qualification
GTrunSec Nov 7, 2026
c6d6ca3
Use the native build environment consistently
GTrunSec Nov 7, 2026
b668754
Exercise the published Yuanxu namespace mounts
GTrunSec Nov 7, 2026
bb743e1
Advance sealed Session workflows through the Scheme Governor
GTrunSec Nov 7, 2026
b9bfc3c
Reuse an admitted Yuanxu view across Scheme semantic cases
GTrunSec Nov 7, 2026
0330747
Honor the selected ASCENT native compiler policy
GTrunSec Nov 7, 2026
6a9c695
Publish the two SysML-mapped architecture figures
GTrunSec Nov 7, 2026
2d26e67
Qualify source rotation with independent review signatures
GTrunSec Nov 7, 2026
faa9cb5
Enforce native qualification worker and drain limits
GTrunSec Nov 7, 2026
64e892a
Keep Session admission within Rust architecture gates
GTrunSec Nov 7, 2026
53e925d
Bound provider ownership fuzzing by executed samples
GTrunSec Nov 7, 2026
d4c5589
Use one optimized Cargo development profile
GTrunSec Nov 7, 2026
0710cba
Reuse the prepared Scheme build owner for isolation cleanup
GTrunSec Nov 7, 2026
088cb9f
Bound the linked Scheme qualification build separately
GTrunSec Nov 7, 2026
c9e5c73
Budget macOS Scheme source preparation by platform
GTrunSec Nov 7, 2026
0ecf042
Keep cold Cargo dependency builds within their budget
GTrunSec Nov 7, 2026
5d5dfd3
Retain SDK archive milestones in Scheme build receipts
GTrunSec Nov 7, 2026
d9dd6d3
Keep the Scheme suite watchdog outside the native stage budgets
GTrunSec Nov 7, 2026
1f9b3a8
Reuse the prepared Scheme owner for the hot B check
GTrunSec Nov 7, 2026
93bec7a
Build Weaver with the SDK program prerequisites
GTrunSec Nov 8, 2026
f066e91
Select upstream Go fuzz deadline fix in CI
GTrunSec Nov 8, 2026
c1d190a
Select Go 1.27 in the standard Nix environment
GTrunSec Nov 8, 2026
f4e0ba8
Declare the existing CodeQL package in the Nix allowlist
GTrunSec Nov 8, 2026
6fb6a39
Optimize native source and ABI hashing in development builds
GTrunSec Nov 8, 2026
f2ca52b
Pin the SDK lazy metadata compilation layout
GTrunSec Nov 8, 2026
2eaf10d
Retain native batch worker counts in structured receipts
GTrunSec Nov 8, 2026
5f60c95
Align native program compilation with the Cargo development profile
GTrunSec Nov 8, 2026
1c425a9
ci: provision pinned Lean through verified release assets
GTrunSec Nov 8, 2026
4892a5f
build: pin SDK host affinity and verified release download fixes
GTrunSec Nov 8, 2026
f12720f
build: pin SDK host SIGPIPE lifecycle repair
GTrunSec Nov 8, 2026
dccb3d4
fix(server): retain static causes in provider rejection receipts
GTrunSec Nov 8, 2026
de95409
build: pin SDK verified release transport fallback
GTrunSec Nov 8, 2026
fc7a41e
refactor(ledger): separate guarded delivery validation and consumption
GTrunSec Nov 8, 2026
184953d
test(control): activate the staged source before hard fact recovery
GTrunSec Nov 8, 2026
a1643e8
ci: delegate Scheme source preparation to native package APIs
GTrunSec Nov 8, 2026
bd92d9f
build: bind the verified native cleanup lifecycle revision
GTrunSec Nov 8, 2026
d7a0cf2
build: track SDK native control lint correction
GTrunSec Nov 8, 2026
bc125f6
ci: use native Gerbil dependency installation directly
GTrunSec Nov 8, 2026
b511a57
ci: expose native package phase progress without changing budgets
GTrunSec Nov 8, 2026
55f7dd7
build: reuse native separate C hosts for package dependencies
GTrunSec Nov 8, 2026
6453b67
ci: measure native package CPU work and compiler commands
GTrunSec Nov 8, 2026
1d85224
fix(ci): consume native parallel Scheme package tooling
GTrunSec Nov 8, 2026
b8adf19
ci: calibrate full Scheme dependencies independently
GTrunSec Nov 8, 2026
4d67938
ci: observe full native dependency preparation without a phase cutoff
GTrunSec Nov 8, 2026
7bafd3d
Reserve complete Scheme qualification time after dependency preparation
GTrunSec Nov 8, 2026
5e7b9a5
Reduce cold Scheme build serialization and Rust debug data
GTrunSec Nov 8, 2026
5dd8693
Capture native owner signal stacks after failed qualification
GTrunSec Nov 8, 2026
0de0f3e
Declare licensing for native owner debugger commands
GTrunSec Nov 8, 2026
3988eef
Diagnose only the existing native owner executable
GTrunSec Nov 8, 2026
6dbcd4f
Use SDK-owned Gambit cleanup scope for native governance
GTrunSec Nov 8, 2026
144923a
Run Scheme dependency preparation through the verification entrypoint
GTrunSec Nov 9, 2026
818ca68
Exclude the race runtime exit sleep from native recovery timing
GTrunSec Nov 9, 2026
c230f41
Prepare runtime execution and qualify retained Scheme decisions
GTrunSec Nov 10, 2026
156c89a
Establish Scheme source composition and direct Rust ingress
GTrunSec Nov 10, 2026
fd78245
Move Weaver source preparation and verification to Rust
GTrunSec Nov 10, 2026
9526608
Run offline provider import in the standard integration suite
GTrunSec Nov 10, 2026
0fe24eb
Keep routing verification and Scheme feature gates explicit
GTrunSec Nov 10, 2026
b73813f
Qualify fixed source preparation through the standard integration suite
GTrunSec Nov 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 16 additions & 1 deletion .github/actions/prepare-toolchain/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ runs:
- name: Select standard Go
uses: actions/setup-go@924ae3a1cded613372ab5595356fb5720e22ba16 # v6
with:
go-version: '1.26.1'
go-version: '1.27.3'
cache: false
- name: Select Node for Quint
if: env.WEAVER_VERIFY_SUITE == 'check-policy'
Expand All @@ -20,3 +20,18 @@ runs:
- name: Install Ubuntu or Darwin packages
shell: sh
run: go -C go run ./cmd/weaver-dev prepare-ci-tools
- name: Prepare the pinned Lean release
if: env.WEAVER_VERIFY_SUITE == 'check-policy' && runner.os == 'Linux'
shell: bash
run: bash "${{ github.action_path }}/install-lean.sh"
- name: Bind the Cedar solver
if: env.WEAVER_VERIFY_SUITE == 'check-policy'
shell: sh
run: |
solver=$(command -v cvc5)
case "$solver" in
/*) test -x "$solver" ;;
*) exit 1 ;;
esac
"$solver" --version
printf 'CVC5=%s\n' "$solver" >> "$GITHUB_ENV"
29 changes: 29 additions & 0 deletions .github/actions/prepare-toolchain/install-lean.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2026 hardenedlinux Linux Team and Contributors
#
# SPDX-License-Identifier: LGPL-2.1-or-later AND Apache-2.0

set -euo pipefail

read -r toolchain < dev/proofs/cedar/lean-toolchain
[[ "$toolchain" == leanprover/lean4:v* ]]
tag="${toolchain#*:}"
asset_name="lean-${tag#v}-linux.tar.zst"
tag_uri="$(jq -nr --arg tag "$tag" '$tag | @uri')"
read -r asset_id sha256 < <(
curl --fail --silent --show-error --location --retry 3 \
"https://api.github.com/repos/leanprover/lean4/releases/tags/$tag_uri" |
jq -er --arg name "$asset_name" \
'.assets[] | select(.name == $name) | [.id, (.digest | ltrimstr("sha256:"))] | @tsv'
)
[[ "$asset_id" =~ ^[0-9]+$ && "$sha256" =~ ^[0-9a-f]{64}$ ]]
archive="${RUNNER_TEMP:?}/$asset_name"
release_root="$RUNNER_TEMP/weaver-lean"
curl --fail --location --retry 3 --header 'Accept: application/octet-stream' \
--output "$archive" \
"https://api.github.com/repos/leanprover/lean4/releases/assets/$asset_id"
echo "$sha256 $archive" | shasum -a 256 --check
mkdir -p "$release_root"
tar --zstd -xf "$archive" -C "$release_root" --strip-components=1
elan toolchain link "$toolchain" "$release_root"
elan run "$toolchain" lean --version
28 changes: 28 additions & 0 deletions .github/actions/prepare-toolchain/sigpipe-backtrace.gdb
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# SPDX-FileCopyrightText: 2026 hardenedlinux Linux Team and Contributors
#
# SPDX-License-Identifier: LGPL-2.1-or-later AND Apache-2.0

# Failure-only observation. Pass every signal through to the unchanged process.
set pagination off
set confirm off
set debuginfod enabled off
set print frame-arguments none
set follow-fork-mode parent
handle all nostop noprint pass
handle SIGPIPE stop print pass
set $weaver_sigpipe_events = 0
catch signal SIGPIPE
commands
silent
set $weaver_sigpipe_events = $weaver_sigpipe_events + 1
if $weaver_sigpipe_events <= 16
printf "WEAVER-SIGPIPE event=%d\n", $weaver_sigpipe_events
thread
bt 24
if $weaver_sigpipe_events == 1
thread apply all bt 24
end
end
continue
end
run
102 changes: 90 additions & 12 deletions .github/workflows/verify-suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,18 @@ jobs:
verify:
name: ${{ inputs.label }}
runs-on: ${{ inputs.runner }}
timeout-minutes: 45
# Full dependency preparation has no phase cutoff. Reserve room for the
# unchanged 37-minute Scheme suite and receipt upload after preparation.
timeout-minutes: ${{ inputs.suite == 'check-scheme' && 120 || 65 }}
env:
GOTOOLCHAIN: local
WEAVER_VERIFY_SUITE: ${{ inputs.suite }}
# Gerbil std/make defaults to serial compilation without this setting.
GERBIL_BUILD_CORES: '4'
steps:
- name: Check out committed source
id: checkout
timeout-minutes: 2
uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6
with:
persist-credentials: false
Expand All @@ -38,38 +44,110 @@ jobs:
/*
!/dev/proofs/evidence/
!/dev/specs/evidence/
- name: Verify tested revision
id: source
timeout-minutes: 1
run: |
checkout_sha=$(git rev-parse HEAD)
test "$checkout_sha" = "$GITHUB_SHA"
printf 'revision=%s\n' "$checkout_sha" >> "$GITHUB_OUTPUT"
- name: Prepare deterministic toolchain
id: toolchain
timeout-minutes: 10
uses: ./.github/actions/prepare-toolchain
- name: Fetch locked Rust and Go dependencies
run: go -C go run ./cmd/weaver-dev -clean-source bootstrap-build
id: bootstrap_build
timeout-minutes: 4
run: go -C go run ./cmd/weaver-dev -clean-source -timeout 3m bootstrap-build
- name: Prepare Cedar and Lean proof dependencies
id: bootstrap_proofs
if: inputs.suite == 'check-policy'
run: go -C go run ./cmd/weaver-dev -clean-source bootstrap-proofs
timeout-minutes: 8
run: go -C go run ./cmd/weaver-dev -clean-source -timeout 7m bootstrap-proofs
- name: Prepare published Scheme SDK
if: inputs.suite == 'check-scheme'
uses: tao3k/gerbil-scheme-rust/.github/actions/setup-gerbil@838af1ab4e6c0c8177fed176efba448c694012b5
id: scheme_sdk
if: contains(fromJSON('["check-rust", "check-go", "check-policy", "check-scheme", "bench"]'), inputs.suite)
timeout-minutes: 5
uses: tao3k/gerbil-scheme-rust/.github/actions/setup-gerbil@bfe803f597a15a3654b70a64c3a039980c31da8a
with:
release-root: ${{ runner.temp }}/gerbil-sdk
- name: Prepare macOS Scheme build watchdog
id: scheme_watchdog
if: inputs.suite == 'check-scheme' && runner.os == 'macOS'
timeout-minutes: 4
env:
HOMEBREW_NO_AUTO_UPDATE: '1'
run: |
brew install coreutils
echo "$(brew --prefix coreutils)/libexec/gnubin" >> "$GITHUB_PATH"
- name: Install declared Scheme dependencies
id: scheme_dependencies
if: inputs.suite == 'check-scheme'
env:
GERBIL_PATH: ${{ runner.temp }}/weaver-gerbil
run: gerbil deps --install
run: go -C go run ./cmd/weaver-dev -clean-source bootstrap-scheme
- name: Verify declared suite
id: verify_suite
if: inputs.suite != 'check-scheme'
run: go -C go run ./cmd/weaver-dev -clean-source "$WEAVER_VERIFY_SUITE"
timeout-minutes: 30
run: go -C go run ./cmd/weaver-dev -clean-source -timeout 28m "$WEAVER_VERIFY_SUITE"
- name: Verify Scheme modules, Cedar FFI and streaming recovery
id: verify_scheme
if: inputs.suite == 'check-scheme'
# The source-closure watchdog is separate. Give the suite room for
# its prelude and all three independently bounded native stages.
timeout-minutes: 37
env:
GERBIL_GXI: ${{ env.GERBIL_PREFIX }}/bin/gxi
GERBIL_PATH: ${{ runner.temp }}/weaver-gerbil
run: go -C go run ./cmd/weaver-dev -clean-source check-scheme
- name: Publish latest structured result
run: go -C go run ./cmd/weaver-dev -clean-source -timeout 35m check-scheme
- name: Write verification job receipt
if: always()
timeout-minutes: 1
env:
JOB_RECEIPT: >-
{
"schema": "weaver.ci-job.v1",
"suite": ${{ toJSON(inputs.suite) }},
"runId": ${{ toJSON(github.run_id) }},
"runAttempt": ${{ toJSON(github.run_attempt) }},
"headRevision": ${{ toJSON(github.event.pull_request.head.sha || github.sha) }},
"expectedCheckoutRevision": ${{ toJSON(github.sha) }},
"checkoutRevision": ${{ toJSON(steps.source.outputs.revision || null) }},
"os": ${{ toJSON(runner.os) }},
"arch": ${{ toJSON(runner.arch) }},
"status": ${{ toJSON(job.status) }},
"schemeDependencyBudgetMinutes": null,
"schemeDependencyBuildCores": ${{ inputs.suite == 'check-scheme' && 4 || 'null' }},
"phases": {
"checkout": ${{ toJSON(steps.checkout.outcome || 'skipped') }},
"source": ${{ toJSON(steps.source.outcome || 'skipped') }},
"toolchain": ${{ toJSON(steps.toolchain.outcome || 'skipped') }},
"bootstrapBuild": ${{ toJSON(steps.bootstrap_build.outcome || 'skipped') }},
"bootstrapProofs": ${{ toJSON(steps.bootstrap_proofs.outcome || 'skipped') }},
"schemeSdk": ${{ toJSON(steps.scheme_sdk.outcome || 'skipped') }},
"schemeWatchdog": ${{ toJSON(steps.scheme_watchdog.outcome || 'skipped') }},
"schemeDependencies": ${{ toJSON(steps.scheme_dependencies.outcome || 'skipped') }},
"verifySuite": ${{ toJSON(steps.verify_suite.outcome || 'skipped') }},
"verifyScheme": ${{ toJSON(steps.verify_scheme.outcome || 'skipped') }}
}
}
run: |
mkdir -p .cache/verification
printf '%s\n' "$JOB_RECEIPT" > .cache/verification/ci-job.json
- name: Publish structured verification receipts
if: always()
timeout-minutes: 2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
with:
name: ${{ inputs.suite }}-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }}
path: .cache/verification/latest-*
name: ${{ inputs.suite }}-${{ runner.os }}-${{ runner.arch }}-${{ github.sha }}-attempt-${{ github.run_attempt }}
path: |
.cache/verification/ci-job.json
.cache/verification/latest-bootstrap-build.json
.cache/verification/latest-bootstrap-proofs.json
.cache/verification/latest-bootstrap-scheme.json
.cache/verification/latest-${{ inputs.suite }}.json
.cache/verification/spec/*/receipt.json
include-hidden-files: true
if-no-files-found: warn
if-no-files-found: error
retention-days: 7
Loading
Loading