20 Commits

Author SHA1 Message Date
pulse-triage[bot] 89c61b233c Keep signed manual update bootstraps on HTTPS
The generated manual helper currently permits an HTTPS asset redirect to plaintext HTTP, unlike the unattended downloader. Restrict initial and redirect protocols for both signed inputs, without weakening deadlines, signature verification or cleanup. Exercise the actual helper with real curl and authenticated local TLS, including downgrade refusals and permitted HTTPS redirects; keep the native systemd fixture on the exact envelope.

Change-source: pulse-maintainer
2026-10-25 15:47:43 +00:00
pulse-triage[bot] 5d748986b3 Keep native recovery proof aligned with bounded manual downloads
Admit only the manual helper's exact new curl envelope in the existing closed transport fixture. Require a signed emitted-helper round trip and reject altered deadlines, retries and TLS flags through the registered installer suite; do not widen the adapter or execute a native journey.

Change-source: pulse-maintainer
2026-10-25 06:38:18 +00:00
pulse-triage[bot] e1cd6843e9 Preserve native updater failures across cleanup
Keep the original failed transaction command distinct from any later cleanup command. Retain fixed operation labels and require portable controls for command, timeout, assertion, cleanup-only and successful receipts, without changing update transactions or disclosing command output.

Change-source: pulse-maintainer
2026-10-14 09:16:19 +01:00
pulse-triage[bot] fd0754d7c3 Keep containing recovery proof faithful to current helpers
Current exact-head CI exposes outdated PBS proof inventory, omitted bounded-download helper extraction, closed transport rejecting the production HTTPS flags, and Darwin's truncated comm column in Linux NAS fixtures. Preserve exact transport and process ownership, restoration and migration safety assertions while binding the controls to the actual producer.

Contract-Neutral: Test and offline CI-fixture alignment only; no installed runtime, trust, credentials, deadlines, source safety or public contract changes.
Change-source: pulse-maintainer
2026-10-14 07:22:52 +01:00
pulse-triage[bot] 9c18dcec59 Reject drift during native updater executable readback
The current native acceptance oracle can return success without a manager observation after comparing running executable bytes. Bracket the comparison with stable active process identity and compare both executables independently to the authenticated fixture, so a changing PID or equally wrong destinations cannot pass. Add required portable drift/refusal controls without changing installer authority or hosted admission.

Change-source: pulse-maintainer
2026-10-11 18:07:53 +01:00
pulse-triage[bot] e053355179 Keep updater proof controls within their declared scopes
Supply the connected manager double's fixed comparator and keep its simulated process readback explicit. Separate mandatory real-sink controls from service-state deadlines without removing cases or extending either 45-second bound.

Change-source: pulse-maintainer
Contract-Neutral: Test fixture correction only; the running-executable acceptance contract added by the parent is unchanged.
2026-10-11 13:09:02 +01:00
pulse-triage[bot] 7eb12d0bf5 Require running executable proof for unattended update success
An installed target version and active service can conceal an old managed executable. Compare the actual process bytes between complete bounded MainPID observations before accepting an update or restored active service. Retain the backup and current service on uncertainty without an automatic restart or rollback grant. Register real owned-process and conditional transaction controls; keep synthetic/native and customer acceptance distinct.

Change-source: pulse-maintainer
2026-10-11 12:53:23 +01:00
pulse-triage[bot] cb1f5630f7 Repair native updater signer setup and platform-specific controls
The source-bound hosted receipt stops before any native phase because its new ephemeral signer is mode 0644. Establish owned regular-file and verified 0600 mode before signing, without adopting existing keys or relaxing OpenSSH. Keep Linux ELF execution in both native Linux jobs; macOS still runs the portable signer/admission/recovery controls, and the bridge requires the exact platform verdict instead of staging Mach-O as Linux.

Change-source: pulse-maintainer
2026-10-11 10:09:34 +01:00
pulse-triage[bot] 0e7951b01a Keep native updater controls on supplied fixture tools
The current macOS CI drops its already provisioned GNU tools inside the connected updater fixture and reaches incompatible BSD tar. Capture only the needed supplied executables and require end-to-end tool use; keep the production harness environment scrubbed. Retain non-secret stage, file metadata and closed diagnostic markers for the actual hosted signer failure, without publishing signer output or inferring its cause.

Contract-Neutral: Confined native CI tool selection and additive non-secret failure observations only; no public installer, updater, signing, service, permission or customer contract changes.
Change-source: pulse-maintainer
2026-10-11 06:38:03 +01:00
pulse-triage[bot] 768ac3b77b Integrate reviewed native updater scratch ownership
Retain exact Delivery candidate 8cb66ef0f7. Allocate disposable native-CI scratch before child observation, preserving exclusive refusal and cleanup ownership. Related canonical fixture HOME correction is retained; no product, frontend or infrastructure change.

Change-source: pulse-maintainer
2026-10-11 06:14:10 +01:00
pulse-triage[bot] 1b12d56808 Align batch fixtures with shared clocks and owned scratch admission
PR2817 completed CI at aebb17c9 with three frontend assertions that still required the superseded static age and TERM-grace log recipe. Assert the accepted shared clock and hard eight-second, 256-KiB bounds instead. Both macOS native-contract jobs also found the lab directory already present at admission; give tool startup an existing owned temporary HOME and require it in the confined manager, keeping NativeLab scratch ownership and cleanup refusal unchanged.

Contract-Neutral: Test-only integration reconciliation; preserve product source, public contracts, production deadlines, scratch admission and safety gates.
Change-source: pulse-maintainer
2026-10-11 06:05:19 +01:00
pulse-triage[bot] 8cb66ef0f7 Own native updater scratch before child observation
Current publisher CI fails both macOS installer controls with FileExistsError during scratch allocation. Allocate and record ownership before the first manager child can initialise HOME, retaining exclusive refusal of pre-existing directories and symlinks. Add discriminating allocation, early-refusal and cleanup controls; no systemd or platform result is manufactured.

Contract-Neutral: Correct disposable CI harness allocation ordering and regression controls; product updater, installer, signing, service and recovery contracts are unchanged.
Change-source: pulse-maintainer
2026-10-11 05:48:17 +01:00
pulse-triage[bot] 491e872adb Refuse tracked source drift before native updater compilation
The checkout label alone cannot establish source bytes after frontend preparation. Require an unchanged tracked tree before compiling the private pair; the exact recipe control now rejects dirty source before either compiler or root command and preserves all existing failure propagation.

Contract-Neutral: Implements existing exact-source admission on tracked bytes; native runtime, input and completion contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:44:17 +01:00
pulse-triage[bot] 2ce307154f Keep native updater fixture traffic on loopback
Use the existing BIND_ADDRESS setting in the fixed fixture environment, alongside telemetry opt-out. The connected production-function control verifies this exact private profile and persistence across all seven phases; no product default or native manager safeguard changes.

Contract-Neutral: Fixed local fixture environment only; source/native admission and transaction-completion contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:25:19 +01:00
pulse-triage[bot] a04eec252d Observe each explicitly requested fixture manager property
The unattended source requests LoadState and ActiveState as separate systemctl options; the fixture emitted only the first, and the production parser rightly refused its incomplete observation. Keep the refusal and make the private adapter implement both repeated and comma-separated fixed properties.

Contract-Neutral: Private fixture command-interface correction only; production manager admission and native completion contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:10:03 +01:00
pulse-triage[bot] b678a21a98 Confine all native fixture unit writer redirections
The installer emits its unit in three heredocs: the base, non-default port and safeguards. Relocate all three exact writer commands in the explicit manager control, with counts that reject source drift; the actual native runner continues to use the unchanged system unit writer.

Contract-Neutral: Confined fixture unit-path correction only; native hosted service and safety contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:06:03 +01:00
pulse-triage[bot] 64fcdd5483 Exercise native readiness and process identity refusals
Discriminate the pre-exec PID from the process serving health/version, changed running bytes, loss of active state after readiness and residual inactive processes without using the host manager or a real listener.

Contract-Neutral: Regression controls only; native updater source and completion contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:05:36 +01:00
pulse-triage[bot] 2eeb8e4a53 Confine updater fixture account and ownership commands
The installer source returns before appended function overrides, so the connected control attempted useradd in the unprivileged proof VM and failed before archive staging. Keep the actual create_user function and intercept only exact fixture account/owned-path chown commands through the explicit test adapter.

Contract-Neutral: Confined test adapter correction only; hosted native admission and transaction contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 21:03:51 +01:00
pulse-triage[bot] 2c2a298e1c Retain confined native-harness failure diagnostics
Keep captured output private to the test process so connected controls reveal a failing setup without uploading native application logs.

Contract-Neutral: Confined fixture diagnostics only; native admission, transaction, signing and bounded receipt contracts are unchanged.
Change-source: pulse-maintainer
2026-10-10 20:54:12 +01:00
pulse-triage[bot] ba2a8f9903 Check unattended updater transactions on native source CI
Exercise real systemd and signed local current-source replacement/recovery in the existing real-embed job for #2785. Preserve service masks, persistent bytes, backups and owned cleanup; source controls do not claim published or LXC recovery.

Change-source: pulse-maintainer
2026-10-10 20:50:35 +01:00