Watch
1
0
Fork
You've already forked souveraine
0

charge becomes a sensor source

ChargeEvidence was the rule violated four times in one type: a side door
past the gate, the decider probing sysfs on the clock, the driver
interpreting, and nothing leaving tick(). Its comment cited bearer —
another instance of itself.

SensorSource::Charge now enters through sensor_input like every other
source, reported by sensord on a 30s poll off /sys/class/power_supply.
conclude_charge lives on the machine as its one decision; source health,
freshness and Absent/Down come from the gate for free. The 5s clock probe
is gone, the driver type is gone, and sensord ships x86_64 too: the
laptop has a battery.
This commit is contained in:
Fimeg 2026-08-15 11:45:22 -04:00
commit 1336960ca5
9 changed files with 377 additions and 213 deletions

View file

@ -17,18 +17,18 @@ source=('souveraine-binary' 'souveraine.service'
'souveraine-secrets-binary' 'souveraine-secrets.service'
'souveraine-machined-binary' 'souveraine-machined.service'
'souveraine-sessiond-binary' 'souveraine-sessiond.service'
'souveraine-sensord-binary' 'souveraine-sensord.service'
'souveraine-sessiond.pam'
'souveraine-verify-trail' 'souveraine-button'
'souveraine-stepup.pam' 'org.souveraine.stepup.policy'
'LICENSE')
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP'
'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP')
# sessiond is built and packaged for both supported architectures. Installing
# its user unit does not enable or start it; activation remains target-owned.
if [ "$CARCH" = aarch64 ]; then
source+=('souveraine-sensord-binary' 'souveraine-sensord.service'
'souveraine-usb-kvm-binary')
sha256sums+=('SKIP' 'SKIP' 'SKIP')
source+=('souveraine-usb-kvm-binary')
sha256sums+=('SKIP')
depends+=('wayland' 'libx11' 'libxcursor' 'libxi' 'libxkbcommon' 'libxrandr')
# The wry host links the system webview, so it only cross-builds once
# webkit2gtk is in the aarch64 sysroot. Declared only when CI actually
@ -56,13 +56,16 @@ package() {
# had not been touched since (TASK-76).
install -Dm644 "$srcdir/souveraine-sessiond.pam" \
"$pkgdir/etc/pam.d/souveraine-sessiond"
# Sensor reporter, aarch64 only — the laptop has no iio-sensor-proxy
# sources worth reporting and no device state machine listening.
# The wry host, aarch64 only (webkit2gtk in the sysroot is the gate).
if [ -f "$srcdir/souveraine-web-binary" ]; then
install -Dm755 "$srcdir/souveraine-web-binary" \
"$pkgdir/usr/bin/souveraine-web"
fi
# Sensor reporter, both arches. It stopped being phone-only when charge
# became a source: sessiond never probes the supplies itself, so the
# reporter is the only thing that feeds charge evidence — and the laptop
# has a battery.
if [ -f "$srcdir/souveraine-sensord-binary" ]; then
install -Dm755 "$srcdir/souveraine-sensord-binary" \
"$pkgdir/usr/bin/souveraine-sensord"