Commit Graph

818 Commits

Author SHA1 Message Date
pulse-triage[bot] efeac6cb72 Merge reviewed candidate 20260922T074002Z-delivery-trust (pulse d5de3e26fc)
Change-source: pulse-maintainer
2026-09-22 09:12:22 +01:00
pulse-triage[bot] e9ace60929 chore(governance): register the #2148 LXC memory completion pair
Register 8b56fc72e4 with its contract-completion commit so canonical governance evaluates the reviewed Proxmox LXC linked-agent memory runtime change and its monitoring and unified-resources contract sections as one historical unit.

Change-source: pulse-maintainer
2026-09-22 08:46:39 +01:00
pulse-triage[bot] d5de3e26fc fix(release-control): qualify release-line RCs against their own branch
The secure-runtime RC qualification workflow (commit 79d87a4a2c) resolves the branch the control plane maps the version to and passes it as --main-ref, but secure_runtime_attestation_v6.verify_canonical_main_identity still required origin/main and required the candidate to be an ancestor of origin/main. Every release-train candidate therefore failed the pre-authentication step before any check ran; v6.4.5-rc.1 failed at 'Pre-authenticate exact qualification packet' with 'committed-main classification requires canonical origin/main' (run 35680955017), and all three historical runs failed.

Accept exactly origin/main or the release train's origin/release/vX.Y, verify the ref against the canonical origin's live branch tip, and check candidate ancestry against that same ref. The release-candidate classification is unchanged. Update the deployment-installability contract and the v6 unit tests, including a mapped-release-branch acceptance case.

Change-source: pulse-maintainer
2026-09-22 04:28:39 +01:00
pulse-triage[bot] 10d672c5fa chore(release-control): register #2140 completion pairs
Register the two #2140 runtime commits with their contract and proof completion commit so the canonical completion guard evaluates each runtime change together with the follow-up that records its contracts and verification artifacts, as one reviewed unit. Registry-only change; no runtime behaviour.

Change-source: pulse-maintainer
2026-09-21 11:55:03 +01:00
pulse-triage[bot] 788936b72d chore(governance): register the windowed estimate completion pair
Pair the windowed item-height estimate repair (6f0dc177c8) with its contract completion commit (8738eb1bff) so the per-commit canonical guard evaluates them as one reviewed unit.

Change-source: pulse-maintainer
2026-09-21 00:05:33 +01:00
pulse-triage[bot] 9a99f9948f chore(governance): register the startup-watchdog completion pair
Register the server startup-stall watchdog runtime commit and its shared
follow-up contract/proof commit in the canonical completion history so the
per-commit guard evaluates the pair as one reviewed unit.

Change-source: pulse-maintainer
2026-09-20 21:32:30 +01:00
pulse-triage[bot] cdc56258d4 Merge reviewed candidate 20260920T164008Z-product-intelligence (pulse b36e9609dd)
Integrate the reviewed failed-staging config-backup discard repair (07d54cd345)
with its deployment-installability contract, installtest proof and registered
completion pair (ccfd22da7f, b36e9609dd). The candidate auto-update RETURN-trap
repair (9b004cc787) duplicates the already-integrated 564c235e32, so the merge
keeps the canonical trap implementation and both regression suites and retains
both registry entries. Change-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-20 18:22:29 +01:00
pulse-triage[bot] b36e9609dd chore(governance): register update-path completion pairs
Register the two update-path runtime commits and their shared follow-up
contract/proof commit in the canonical completion history so the per-commit
guard evaluates each pair as one reviewed unit.

Change-source: pulse-maintainer
2026-09-20 17:53:04 +01:00
pulse-triage[bot] 889c6d52b6 chore(governance): register auto-update RETURN-trap completion pair
Register 564c235e32 (runtime) with bb25e3ec03 (contract + Go proof) as a
reviewed completion unit so the per-commit canonical guard evaluates them
together rather than rejecting the runtime commit for a missing same-commit
contract and verification artifact.

Change-source: pulse-maintainer
2026-09-20 17:49:34 +01:00
pulse-triage[bot] 6fdd41b59d chore(governance): register unified disk SMART completion pair
Record the unified physical-disk SMART runtime commit abaca8f9c0 and its
contract/proof follow-up 33260be25b as one reviewed completion unit so the
per-commit canonical guard evaluates the pair together.

Change-source: pulse-maintainer
2026-09-20 16:08:26 +01:00
pulse-triage[bot] 26628bfbcc chore(governance): register private-pair preflight completion pair
Bind the create-release pair preflight commit to the follow-up contract and proof commit as one reviewed completion unit, matching the existing canonical completion history entries.

Change-source: pulse-maintainer
2026-09-20 14:32:56 +01:00
pulse-triage[bot] a23ba2f5dc docs(release): record the private Pro pair preflight contract
The create-release prepare job now verifies that pulse-enterprise declares docs/release-source-pairs/<expected_source_sha>.json and that it names the frozen public commit before any draft release object exists. Record that obligation in the deployment-installability contract and add the release-promotion policy proof that guards the step and its ordering ahead of create_release.

Change-source: pulse-maintainer
2026-09-20 14:32:46 +01:00
pulse-triage[bot] a830992573 Merge reviewed candidate 20260920T070025Z-delivery-trust (pulse be6179c2d2)
Refresh reviewed GitHub Actions pins: actions/setup-go 6.4.0 -> 7.0.0, signpath/github-action-submit-signing-request v2 -> v3.0, actions/github-script 8.0.0 -> 9.0.0 with their reviewed pin constants, release-consumer manifest and installer/promotion governance assertions. Clears Dependabot #2094/#2095/#2096.

Change-source: pulse-maintainer
2026-09-20 08:25:11 +01:00
pulse-triage[bot] be6179c2d2 build(ci): refresh reviewed GitHub Actions pins
Dependabot #2094, #2095 and #2096 bump actions/setup-go 6.4.0 -> 7.0.0, signpath/github-action-submit-signing-request 2 -> 3.0 and actions/github-script 8.0.0 -> 9.0.0. Each proposal is blocked only by the reviewed pin constants, the workflow-trust allowlist, the release-consumer action manifest and the installer governance assertions that hard-code the previous revisions. Carry all three bumps with those artifacts in one commit so the proposals can be closed as superseded.

All three actions keep the node24 runtime and their existing inputs and outputs; no consumer interface, installer behaviour or public contract changes. The deployment-installability and agent-lifecycle workflow references are pin-only.

Contract-Neutral: Reviewed action pin refresh with identical node24 consumer interfaces and unchanged inputs/outputs; no public-contract or installer-behaviour delta.
Change-source: pulse-maintainer
2026-09-20 08:16:44 +01:00
pulse-triage[bot] 4b20362dad chore(governance): register TrueNAS legacy-REST completion pair
Register the reviewed completion pair for the TrueNAS legacy-REST memory telemetry runtime commit and its contract/proof follow-up so canonical governance evaluates them as one unit without rewriting history.

Change-source: pulse-maintainer
2026-09-20 08:10:24 +01:00
pulse-triage[bot] 277caa8833 chore(governance): register FreeBSD checksum completion pair
Register the reviewed completion pair for the FreeBSD checksum-tool fallback runtime commit and its contract/proof follow-up so canonical governance evaluates them as one unit without rewriting history.

Change-source: pulse-maintainer
2026-09-20 02:57:37 +01:00
pulse-triage[bot] baf6c89dd2 Merge reviewed candidate 20260919T200006Z-core-runtime (pulse bc3da3ad49)
Integrate the reviewed ai-runtime prompt-cache repair (248ada3cc6) with its transport contract (f08b96b968) and registered completion pair (bc3da3ad49). Merge resolved the canonical completion registry against the rehearsal-timeout completion pair already on main by keeping both entries.

Change-source: pulse-maintainer
2026-09-19 22:20:35 +01:00
pulse-triage[bot] bc3da3ad49 chore(governance): register ai-runtime prompt-cache completion pair
Register 248ada3cc6 as completed by f08b96b968, which records the
Anthropic stable-system-prefix prompt-cache transport contract, so the reviewed
runtime repair is evaluated with its contract as one completion unit.

Change-source: pulse-maintainer
2026-09-19 22:02:19 +01:00
pulse-triage[bot] 712efe55d3 fix(governance): restore safe.directory for completion-history clone
The completion-history validator materialises its completion tree with a shared clone. The proof sandbox strips the maintainer read config and a linked worktree's gitdir sits outside the checkout, so the clone failed with dubious ownership and the preflight reported a history failure instead of validating the registered pair. Give every git subprocess a private config carrying the fixed safe.directory policy, and register the rehearsal backend package-timeout runtime commit together with its deployment-installability contract follow-up as one completion unit. Change-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-19 21:38:48 +01:00
pulse-triage[bot] d0f138cf26 fix(release): give the rehearsal backend an explicit package timeout
The accelerated rehearsal profile runs the backend as one serial 'go test -json -p 1 ./...', whose Go default per-package timeout is 10m. internal/api exceeded that under ordinary shared-worker load (606.9s at loadavg 5.55 on 2026-09-19) and the run failed with 'panic: test timed out after 10m0s' despite zero test assertions failing. The release profile already budgets 30m per package via run-release-backend-tests.sh. Add PULSE_RELEASE_PREFLIGHT_REHEARSAL_TIMEOUT (default 30m) and pass it as -timeout, and update the worker contract test that pins the exact rehearsal command. Change-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-19 21:24:38 +01:00
pulse-triage[bot] f569c6a8eb chore(governance): register metrics-store completion pair
The canonical per-commit guard requires pkg/metrics/store.go changes to carry
an accepted proof file in the same commit. The proof for the rollup, retry,
upsert and auto-vacuum repair landed in the follow-up 087bbf8c20
(pkg/metrics/store_additional_test.go). Register the runtime commit e1d97b361e
and its completion commit as one reviewed completion unit so the candidate
preflight validates the pair instead of rewriting history.

Change-source: pulse-maintainer
2026-09-19 19:24:46 +01:00
pulse-triage[bot] af6e68c0d1 fix(governance): validate completion pairs without a linked worktree
The canonical completion history validator materialised the completion tree with 'git worktree add', which writes administrative files into the reviewed repository's git directory. That directory is read-only inside the maintainer proof sandbox, so the maintainer preflight could not consult the registry that canonical governance already honours. Materialise the tree with a shared local clone instead: it reads the reviewed objects through alternates and writes only inside the disposable temporary directory, so CI and the maintainer pipeline validate the same reviewed pair without relaxing the sandbox boundary.

Change-source: pulse-maintainer
2026-09-19 15:14:26 +01:00
pulse-triage[bot] 1778f7d16c test(release): assert hosted bundle and backend lanes
release_preflight_test still asserted the retired PVE runner labels after 051ce81a72 moved every release channel to GitHub-hosted runners. Assert runs-on: ubuntu-24.04 and the absence of self-hosted/pulse-pve so the test matches the governing workflow contract.

Change-source: pulse-maintainer
2026-09-19 13:50:50 +01:00
pulse-triage[bot] 6a611905be Scope the dedicated proof to quick security setup
Use an exact runtime-file policy before the general API fallback, so setup preservation evidence cannot substitute for unrelated API changes. Assert both setup routing and unchanged organization/RBAC verification requirements. Retain the original failed broader-registry test evidence.

Change-source: pulse-maintainer
2026-09-15 02:28:17 +01:00
pulse-triage[bot] f04c230afb Bind maintenance stable releases to their soaked source
Apply existing candidate content-drift validation to every future stable promotion, including v6.4 patches. Preserve patch and minor soak durations and the explicit hotfix reason path. Extend regression cases to maintenance releases and give historical unit fixtures explicit source paths rather than reading the live checkout.

Change-source: pulse-maintainer
2026-09-15 00:36:23 +01:00
pulse-triage[bot] 7e21b005fa test(governance): synchronize lifecycle lookup proof fixture
Canonical Governance for PR2082 failed because the host-agent lifecycle lookup expectation omitted the registered physical-disk round-trip regression. Include that exact proof file while preserving strict list equality and the existing runtime implementation and registry.

Change-source: pulse-maintainer
2026-09-14 08:54:07 +01:00
pulse-triage[bot] 455089a81d test(governance): align physical disk proof expectations
Keep the canonical completion guard unit fixtures synchronized with the registered physical-disk runtime proof so governance validates the actual contract inventory.\n\nChange-source: pulse-maintainer

Change-source: pulse-maintainer
2026-09-13 18:56:25 +01:00
pulse-triage[bot] ae38b93c0c fix(release): stop public writer chain on workflow cancellation
Preserve successful qualification and optional skipped ancestors while rejecting workflow cancellation independently of completed needs. Cover tag, Docker, Helm, readiness, convergence dispatch and activation; retain evidence and cleanup joins.

Change-source: pulse-maintainer
2026-09-13 14:21:55 +01:00
pulse-triage[bot] f9569426f5 fix(release): publish qualified tags after optional skipped checks
Use an explicit status guard while requiring successful preparation and qualification. Model the beta skipped-ancestor path and adverse direct prerequisites; retain immutable identity and all release gates.

Change-source: pulse-maintainer
2026-09-13 13:03:02 +01:00
pulse-triage[bot] 34ba9a5ed9 Merge candidate 20260911T204017Z-core-runtime
Change-source: pulse-maintainer
2026-09-11 21:47:11 +01:00
pulse-triage[bot] 097422837b fix(release): preserve quarantined version identity
Reject historical draft reuse before PATCH when its retained target is not the exact checkout SHA, including missing targets and moving refs. Preserve same-source recovery and activation guards.

Depends on PR2056 qualification-first workflow and immutable tag checks. Executable absent-tag fixtures fail before repair and pass on PR head 9e5e18f0 plus this patch; 53 policy, 6 immutability and 42 trust tests pass. Update the deployment contract in the same commit.

Change-source: pulse-maintainer
2026-09-11 21:43:11 +01:00
rcourtman 9e5e18f008 fix(release): qualify candidates before public version writes
A draft GitHub release does not hide its public Git tag or registry
images. Publishing those before qualification consumed a beta identity
when the candidate later failed.

Stage drafts without Git refs, join exact-source checks before public
tag, Docker and Helm publication, and preserve exposed tag identities.
Keep final digest verification before release activation.
2026-09-11 21:04:46 +01:00
pulse-triage[bot] 45f76ed7a9 fix(release): map 6.4.5 reliability checkpoints to release line
The following notification reliability patch needs an explicit branch binding before selection. Keep 6.4.4 frozen and preserve historical and unlisted patch mappings while testing beta, RC and stable workflow resolution.

Change-source: pulse-maintainer
2026-09-11 00:23:11 +01:00
rcourtman bd37ae186a Preserve live agent state over saved enrollment history
Saved enrollment records can correlate with a live Proxmox host after a
reinstall. The continuity overlay then replaced its current agent payload
with an older offline identity, hiding metrics and marking the node offline.

Use canonical matching to add only absent continuity resources. Preserve
current identity, telemetry and provider links without deleting history or
changing token admission. Cover repeated reads and identity collisions.

Refs #1913
2026-09-10 16:00:36 +01:00
rcourtman 837a5b8843 Fix manual update freshness and unknown release dates
Manual checks previously bypassed only the browser cache, so a newly
published preview could remain hidden behind a fresh-looking server result.
Carry explicit freshness to the provider, retain prior evidence on failure,
and omit unknown dates instead of rendering year one.
2026-09-10 15:33:53 +01:00
rcourtman 5d862dfce8 Prioritize dependable release delivery
Record clean, consistent releases as the highest current objective.
Keep release consistency explicitly unconfirmed until actual release
and recovery evidence establishes dependable delivery.
2026-09-10 09:05:46 +01:00
pulse-triage[bot] ad1cfd33c3 fix(ci): qualify grouped release action pin consumers
The grouped action upgrade leaves signing, network and publication consumer assertions on superseded pins. Align those contracts and check every consumer against reviewed immutable upstream manifests, retaining exact dispatch and release trust boundaries without claiming hosted execution.

Change-source: pulse-maintainer
2026-09-10 00:35:47 +01:00
pulse-triage[bot] f293d6fe33 fix(release): mark store-history SLO measurement windows
The failed exact rehearsal buffered the store-history latency assertion, preventing resource telemetry from locating its actual test interval. Extend the existing exact API lifecycle allowlist and cover both targets with synthetic pass/fail fixtures without rerunning product qualification or changing thresholds. This is prospective observability, not clearance of the retained latency or crash evidence.

Change-source: pulse-maintainer
2026-09-09 01:34:22 +01:00
pulse-triage[bot] 4462e43288 fix(release): retain streamed stress-test timing evidence
Buffered package logs cannot map the API stress-test failure to resource telemetry. Stream Go events and retain a bounded target lifecycle with distinct event, receipt and resource collection times, while preserving readable output and pipeline failure status. Synthetic decoder and worker tests cover pass, skip, failure and unavailable telemetry; this does not clear historical qualification or authorise a replay.

Change-source: pulse-maintainer
2026-09-08 20:45:07 +01:00
pulse-triage[bot] a6f90ec181 fix(release): bound transient convergence API read retries
Scheduled reconciliation run 34264958741 aborted while listing releases after GitHub returned HTTP 504. Allow JSON API reads three attempts with bounded backoff so a transient gateway error need not strand this reconciliation until the next schedule. Discard partial pagination on failure and preserve terminal failure after exhaustion.

Only read helpers opt in; mutations, downloads, log reads and access failures retain their single-attempt behaviour. Focused reconciliation suite passes 42 tests, including new transient-read regressions that failed before the change.

Change-source: pulse-maintainer
2026-09-08 20:02:08 +01:00
pulse-triage[bot] ded338657d fix(ci): select governed source for scheduled release rehearsals
The default-branch schedule rejected main before any product checks. Resolve the governed branch to one commit, check its VERSION against policy and retain exact event-source checks for manual dispatches. Report workflow and tested source separately and exercise selection against local Git fixtures in governance CI.

Change-source: pulse-maintainer
2026-09-08 08:30:38 +01:00
pulse-triage[bot] a222424c63 Merge current upstream incident history before publication
Incorporate protected PR #1973 while preserving every reviewed local alert and notification commit in history. Reconcile its failed-read state with per-request ownership and retain exact combined browser evidence.

Change-source: pulse-maintainer
2026-09-08 03:21:41 +01:00
pulse-triage[bot] e5ef265c77 fix(alerts): retain ownership of incident history requests
Invalidate pending reads on reset and disposal, and gate success, failure and loading writes per resource. Convert the four reproductions to ordinary tests and retain reset/reopen and stale-failure controls. Qualify the real hook and panel with 14 Chromium lifecycle cases; register that exact browser surface proof without broadening path policies. This does not qualify installed delivery or PR1973's absent error accessor.

Change-source: pulse-maintainer
2026-09-08 02:57:57 +01:00
rcourtman e2b6fe3b16 Preserve canonical incident history and Assistant handoffs
Filter canonical history before selecting occurrences, preserve source evidence
and expose bounded reads and failures. Reconcile duplicate saved shells without
splitting one alert lifecycle, and keep note identity and canonical risk intact.

Carry attributed operator notes into Assistant. Preserve mobile investigations
across layout changes, transfer composer focus on handoff and keep long event
text readable. Record scoped qualification and its unresolved wider limits.

Refs #1782
2026-09-08 02:08:15 +01:00
pulse-triage[bot] d9f2637ee2 Merge current upstream source main into reviewed maintenance
Incorporate the protected release-snapshot workflow landing while preserving every reviewed maintenance commit and the additive governance correction in local history.

Change-source: pulse-maintainer

# Conflicts:
#	docs/release-control/v6/internal/subsystems/deployment-installability.md
2026-09-07 21:02:31 +01:00
pulse-triage[bot] 092405e33c fix(governance): validate reviewed split completions exactly
A reviewed notification correction and its required contracts and API proof were accepted as separate immutable commits, leaving the protected per-commit governance check unable to pass without rewriting reviewed history. Add a fail-closed exact-pair validator that reconstructs the completion commit in a detached worktree and runs the normal guard over the combined file set; all unregistered commits continue through the unchanged per-commit path.

Change-source: pulse-maintainer
2026-09-07 20:13:34 +01:00
rcourtman b64709e7b7 Publish reviewed release snapshots independently of branch tips
Continuous development must not change the source of an admitted release.
Allow the workflow to run at the qualified preparation PR head after its
normal merge, verifying exact source and workflow identity, canonical PR
provenance, and ancestry in the governed release line. Later branch commits
remain outside that release. Document the immutable-candidate contract and
verify source workflow compatibility before qualification.

Validation: snapshot identity and workflow contract tests passed, including
wrong-head, wrong-base, fork, unmerged and unbound dispatch rejection. The
existing release workflow promotion policy test also passed.
2026-09-07 19:30:27 +01:00
pulse-triage[bot] 1f965e85b0 Merge current upstream main into reviewed alert recovery
Incorporate the landed Patrol planning work while preserving every reviewed alert recovery, credential-redaction and release-evidence commit and its ancestry.

Change-source: pulse-maintainer

# Conflicts:
#	docs/release-control/v6/internal/subsystems/agent-lifecycle.md
#	docs/release-control/v6/internal/subsystems/api-contracts.md
#	docs/release-control/v6/internal/subsystems/storage-recovery.md
#	frontend-modern/browser-verification.json
2026-09-07 19:16:44 +01:00
rcourtman c501376843 Preserve canonical Patrol planning and outcome continuity
Return persisted planning acceptance or refusal inside the investigation turn.
Keep model judgment separate from action authority and preserve accepted action
identity across provider failures. Enforce actor/request idempotency atomically
and retain complete approval and independent verification context.

Preserve unknown disk evidence, stream whitespace and historical resolution
timestamps. Keep conversation scrolling inside its own panel. Record real-model,
disposable-lab and browser qualification with explicit population limits.

Refs #1782
2026-09-07 17:24:25 +01:00
pulse-triage[bot] b116f2defc chore(release): retain bounded backend resource evidence
The held latency failure lacks contemporaneous resource context, and isolated passing samples do not explain it. Retain allowlisted backend boundary counters including cgroup ancestors in the existing durable log, preserving backend failures and unchanged qualification thresholds. Focused tests cover failure exits, unavailable telemetry, ancestor collection and environment filtering.

Change-source: pulse-maintainer
2026-09-07 16:47:55 +01:00