Commit Graph

102 Commits

Author SHA1 Message Date
pulse-triage[bot] 2eb1cc59f3 Respect label identities during issue classification
Recognise existing bug and decomposition labels regardless of case, retire missing-version labels by provider identity, and preserve observed Community review removals. Keep raw label names for writes and exact live-state fences; add coupled regressions for metadata, idempotence and intervening edits.

Contract-Neutral: Silent issue metadata reconciliation and regression tests only; no product API, workflow permission, release policy or subsystem contract change.
Change-source: pulse-maintainer
2026-10-27 03:20:17 +00:00
pulse-triage[bot] c8f553971f Preserve case-insensitive issue label identities
Calculate metadata deltas in GitHub's case-insensitive label namespace so an RC casing difference cannot add and then remove the same affected-version label. Retire stale version labels regardless of prefix case while preserving exact live-state fences, unrelated Community labels and silent triage.

Contract-Neutral: Silent issue metadata reconciliation and regression tests only; no product API, workflow permission, release policy or subsystem contract change.
Change-source: pulse-maintainer
2026-10-27 02:40:02 +00:00
pulse-triage[bot] 55d79d6a9b Keep multiline code outside legacy field declarations
Separate visible linked field values from code-masked declaration text so copied multiline code cannot override an actual version field. Treat a shortcut-link colon as its non-rendered Markdown definition, not an inline report field.

Contract-Neutral: Existing silent intake parsing boundaries and regression coverage only; no product API, workflow permission, release policy or subsystem contract change.
Change-source: pulse-maintainer
2026-10-26 23:49:07 +00:00
pulse-triage[bot] 4f593d2945 Respect visible legacy version labels in issue intake
Keep emphasized and linked Pulse version declarations authoritative instead of falling back to an old title, including unknown and incomplete values. Preserve literal examples, Community labels and silent triage boundaries.

Contract-Neutral: Silent issue metadata parsing only; no product API, workflow permission, release policy or subsystem contract change.
Change-source: pulse-maintainer
2026-10-26 23:45:05 +00:00
pulse-triage[bot] f8e7e944db Reconcile same-second comments before restoring topic reviews
A queued issue event's second-resolution timestamp can still match after a later comment and completed Community review. Compare comment counts too, then use the existing bounded history and final snapshot guard even when the clocks match. Preserve genuinely pending reviews, scoped version deltas and failure/lifecycle boundaries without public contact.

Contract-Neutral: Preserves existing Community-owned topic-review dispositions in silent issue metadata and repository-run regression tests; no product runtime, frontend or public API delta.
Change-source: pulse-maintainer
2026-10-26 20:33:00 +00:00
pulse-triage[bot] 6c36f162cf Respect topic reviews cleared since the queued issue event
A queued issue edit can contain a pending topic-review label that has already been cleared in the live report, even within GitHub's second-resolution timestamp. Preserve that observed removal instead of restoring the task from the stale event. Keep independent version metadata and genuinely new topic reviews working, without public contact or extra history reads.

Contract-Neutral: Preserves the existing Community-owned topic-review disposition in silent issue metadata and repository-run tests; no product runtime, frontend or public API delta.
Change-source: pulse-maintainer
2026-10-26 19:13:15 +00:00
pulse-triage[bot] ac941907f7 Preserve review tasks across repeated topic fields (#3351)
Assess every top-level Additional actionable topics field rather than
stopping at the first. Keep each field bounded, retain later
declarations, and avoid restoring completed review for empty duplicates,
identical copies or field reordering. Exercise the real metadata
synchronizer without public contact or unrelated label changes.

Contract-Neutral: Restores the existing every-topic intake contract in
issue-event metadata and repository tests; no product runtime, frontend
or public API delta.

---
Fleet candidate `20261026T182022Z-product-intelligence` from the
`product-intelligence` lane. Reviewed tip
`3e22254cb84a889ead66b82f41aee07bd9178149` on `main`.

[How Pulse handles
triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md)
2026-10-26 18:59:39 +00:00
pulse-triage[bot] 19a8a27231 Balance isolated smoke suites with measured scheduling hints (#3350)
**Balance isolated smoke suites with measured scheduling hints**

A complete passing PR run spent 318 and 567 seconds inside the two smoke
inventories. Filename parity places the long deadline controls together.
Partition every discovered suite by measured duration while preserving
sorted per-shard execution, real deadlines, failure collection and the
existing checks. New suites use a default weight; stale hints cannot add
or omit coverage, and incomplete selection fails before execution.

Contract-Neutral: CI scheduling of unchanged complete script suites
only; product, installer, release and verification acceptance contracts
are unchanged.

**Exercise balanced smoke selection through the workflow fixture**

Copy the real selector and its timing hints into the existing
whole-inventory workflow fixture. Verify sorted, disjoint complete
coverage and inject a failure into each actual selected shard, keeping
the required verdict fail closed instead of asserting the retired
filename-parity placement.

Contract-Neutral: Consuming CI fixture alignment for whole-suite
scheduling only; workflow admission, check names, runtime tests and
acceptance remain unchanged.

---
Fleet candidate `20261026T172023Z-delivery-trust` from the
`delivery-trust` lane. Reviewed tip
`071dadf1f72cc4986b2e324bd99bc8022c40f998` on `main`.

[How Pulse handles
triage](https://github.com/rcourtman/Pulse/blob/main/docs/AI_TRANSPARENCY.md)
2026-10-26 18:45:38 +00:00
pulse-triage[bot] 3e22254cb8 Preserve review tasks across repeated topic fields
Assess every top-level Additional actionable topics field rather than stopping at the first. Keep each field bounded, retain later declarations, and avoid restoring completed review for empty duplicates, identical copies or field reordering. Exercise the real metadata synchronizer without public contact or unrelated label changes.

Contract-Neutral: Restores the existing every-topic intake contract in issue-event metadata and repository tests; no product runtime, frontend or public API delta.
Change-source: pulse-maintainer
2026-10-26 18:30:37 +00:00
pulse-triage[bot] 319191318c Preserve issue declarations through formatted field headings
Read ordinary emphasis and link labels in top-level field names without treating code, images, withdrawn text or HTML as declarations. This keeps independent topic review and authoritative version evidence intact when a reporter formats a heading, and keeps neighbouring evidence out of an empty topic field.

Contract-Neutral: Preserve the existing rendered-Markdown intake contract; no product subsystem or communication policy change.
Change-source: pulse-maintainer
2026-10-26 17:39:29 +00:00
pulse-triage[bot] db76f62798 Balance isolated smoke suites with measured scheduling hints
A complete passing PR run spent 318 and 567 seconds inside the two smoke inventories. Filename parity places the long deadline controls together. Partition every discovered suite by measured duration while preserving sorted per-shard execution, real deadlines, failure collection and the existing checks. New suites use a default weight; stale hints cannot add or omit coverage, and incomplete selection fails before execution.

Contract-Neutral: CI scheduling of unchanged complete script suites only; product, installer, release and verification acceptance contracts are unchanged.
Change-source: pulse-maintainer
2026-10-26 17:32:06 +00:00
pulse-triage[bot] f8318cc04f Keep long version declarations from aborting issue triage
A valid long prerelease identifier can exceed GitHub's 50-character label-name limit. Retain that declaration without inventing a shortened affected version or marking supplied evidence missing, while still applying independent topic review and stale-version cleanup. Cover the exact boundary, one character beyond it and a much longer declaration through the production synchronizer and a strict API fixture.

Contract-Neutral: Preserve silent issue metadata and Community review ownership; bound label representation without changing reporter evidence, contact or disposition.
Change-source: pulse-maintainer
2026-10-26 16:50:26 +00:00
pulse-triage[bot] 7ddc82fd1d Keep topic review through comments during metadata preparation
Reconcile a comment-only advance while preparing an already eligible topic review against complete bounded history from the original declaration. Recheck the final issue snapshot before applying its scoped label delta; changed content, labels, cleared reviews and further activity still stop mutation.

Contract-Neutral: Preserve existing topic-review ownership and silent metadata boundaries; this narrows a comment-order race without inferring disposition, resolution or reporter contact.
Change-source: pulse-maintainer
2026-10-26 07:40:44 +00:00
pulse-triage[bot] 7e3dd34aa2 Preserve topic review when a comment precedes intake
An unchanged declaration can outlive its event timestamp when a comment arrives before label sync. Reconcile that narrow case against bounded issue event history without restoring a cleared review, inferring a disposition or contacting the reporter. Retain the final live-report guard and stop on unreadable or incomplete history.

Contract-Neutral: Existing issue classification, decomposition ownership and silent-mutation boundaries remain; complete history distinguishes a later comment from a completed review.
Change-source: pulse-maintainer
2026-10-26 06:36:20 +00:00
pulse-triage[bot] d6bbbc64f3 Keep label-race recovery narrow and published guidance unchanged
Require every returned validation detail to be the label-name conflict, so a mixed validation failure cannot be hidden by readback. Keep unchanged intake guidance aligned with its shipped mirror; this internal metadata correction changes no reporting instructions or rendered surface.

Contract-Neutral: Existing classification and documentation contracts remain unchanged; tighten the same label-creation conflict recovery and preserve the published guide bytes.
Change-source: pulse-maintainer
2026-10-26 04:41:03 +00:00
pulse-triage[bot] b85e8fc5bb Keep concurrent reports from losing issue metadata
Reconcile only GitHub's explicit label-name creation conflict with one exact readback. Parallel reports can then retain version and decomposition metadata without replaying a write or hiding access and validation failures. Preserve the final live-report comparison before any issue mutation.

Contract-Neutral: Existing issue classification, label ownership and silent-mutation boundaries are unchanged; reconcile a concurrent creation of the same repository label.
Change-source: pulse-maintainer
2026-10-26 04:24:18 +00:00
rcourtman b3a27e2dd2 Sync issue labels with GITHUB_TOKEN, not the triage App key
The label sync was the only workflow that read PULSE_TRIAGE_APP_PRIVATE_KEY.
That key belongs to an App installation that can administer the repository,
and as a repository-level Actions secret any workflow run on any branch could
read it. Everything the helper does (read the issue, create, add and remove
labels) is covered by the run's own GITHUB_TOKEN with issues: write, so the
App key can now be deleted from Actions.

The policy test now requires issue-mutating workflows to use the scoped
GITHUB_TOKEN and to reference no secrets, and still requires the parser tests
to run before the label write. Silent labels are applied as
github-actions[bot]; AI_TRANSPARENCY.md says so.
2026-10-25 21:21:54 +00:00
pulse-triage[bot] ef90b3a3dd Keep link definitions out of visible issue field evidence
The new report-isolation fixture exposed existing reference-definition fallthrough: a trailing non-rendered URL could turn None or an empty secondary-topic field into a decomposition task. Omit definition tokens from the visible projection, preserve their link resolution context, and retain literal examples as evidence. Strengthen concurrent report and revision isolation controls.

Contract-Neutral: This restores the existing visible-declaration boundary for issue metadata; no new classification, communication policy, permission or product runtime contract is introduced.
Change-source: pulse-maintainer
2026-10-25 14:44:23 +00:00
pulse-triage[bot] 52db38b4ec Reuse one Markdown snapshot per issue metadata decision
Parse each current report once for all three metadata fields. Keep reference definitions local to that decision and reuse its topic value during edit comparison, while independently parsing any previous revision. Cover the actual opened, edited and reopened label consumer and concurrent report isolation.

Contract-Neutral: Issue declarations, version parsing, labels, communication policy and permissions are unchanged; only decision-local Markdown parsing and projection are reused.
Change-source: pulse-maintainer
2026-10-25 14:27:20 +00:00
pulse-triage[bot] e8c9d7561f Keep declared server versions separate from image aliases and companions
An unversioned or incomplete Pulse image, or a companion binary, could borrow an agent or platform version later in the declared field. Require the full version immediately after the server prefix, and take it from that token rather than a version-bearing registry name. Keep upgrade transitions unknown and preserve silent Community-owned disposition.

Contract-Neutral: Repair metadata extraction within the existing declared-server-version and silent-triage contract; no intake fields, user contact, release or access policy changes.
Change-source: pulse-maintainer
2026-10-25 13:39:30 +00:00
pulse-triage[bot] bbc300116b Do not infer failing versions from upgrade transitions
A source-to-target sequence in a declared version or version-leading title does not identify the failing executable or prove an upgrade completed. Leave it ambiguous while retaining explicit current-version declarations and Community-owned labels; exercise the real metadata consumer without public contact or release inference.

Contract-Neutral: community metadata only; no product runtime or subsystem contract delta
Change-source: pulse-maintainer
2026-10-25 09:49:46 +00:00
pulse-triage[bot] 2b3d560528 Preserve document reference links during issue classification
Keep the locked parser's document-wide reference definitions when classifying extracted version, feedback and topic fields. Match visible link labels without reading destinations as evidence or fetching them. Exercise all three fields and the silent label consumer, preserving Community state and unknown or copied evidence.

Contract-Neutral: Silent issue-label metadata only; no product runtime, rendered frontend, dependency, access or canonical subsystem contract delta.
Change-source: pulse-maintainer
2026-10-25 08:11:05 +00:00
pulse-triage[bot] 41acf9ca6f Keep feedback classification bound to the visible selection
Read only the selected feedback option rather than bug-like words in link destinations, titles, prose or withdrawn examples. Preserve all current dropdown choices, legacy Bug and Regression values, maintainer classifications and unrelated Community labels. Registered consumer controls exercise the silent label delta without contact or release inference.

Contract-Neutral: Silent issue-label metadata only; no product runtime, frontend, dependency, access or canonical subsystem contract delta.
Change-source: pulse-maintainer
2026-10-25 06:51:38 +00:00
pulse-triage[bot] 0696163d69 Keep formatted empty responses out of topic review
Read the visible text of a single inline-formatted paragraph before classifying explicit no-topic answers. Preserve qualifiers, images and block evidence, completed reviews and every genuine revised topic without public contact.

Contract-Neutral: Silent issue-label metadata only; no product runtime, frontend, dependency, access or canonical subsystem contract delta.
Change-source: pulse-maintainer
2026-10-25 03:28:13 +00:00
pulse-triage[bot] b8e64d1fff Keep feature-request context out of secondary-topic review
Bound reordered topic declarations at all four feature-request context fields. Extend the registered form-derived parser and consumer controls to every issue template, preserving cleared reviews on context edits and restoring review only for a real revised topic.

Contract-Neutral: Silent issue-label metadata only; no product runtime, frontend, dependency, access or canonical subsystem contract delta.
Change-source: pulse-maintainer
2026-10-25 02:27:20 +00:00
pulse-triage[bot] 46fadbeb80 Keep platform and agent versions out of title triage
Qualify title-only server versions instead of labelling a monitored platform's first semver as Pulse. Preserve explicit body unknowns, server-qualified titles and neutral legacy declarations. Registered consumer controls cover exact metadata corrections without contact, release inference or Community-state changes.

Contract-Neutral: Silent issue-label metadata only; no product runtime, frontend, dependency, access or canonical subsystem contract delta.
Change-source: pulse-maintainer
2026-10-25 00:12:08 +01:00
pulse-triage[bot] 45f779bad3 Keep neighbouring issue fields out of topic review
Bound edited topic declarations by all current form fields without discarding deeper topic subheadings. Prevent unrelated version, environment and recovery edits from inventing or reopening decomposition work; preserve genuine revisions and Community labels.

Contract-Neutral: Silent issue-topic classification and registered regression controls only; no Pulse runtime, rendered product surface, dependency, access or public-contact change.
Change-source: pulse-maintainer
2026-10-24 22:38:54 +01:00
pulse-triage[bot] 18d7e0d2d7 Recognise declared Pro server artifacts during issue intake
The published native Pro archive and paid registry image currently become missing-version reports, unlike the Community server artifact. Accept those server naming shapes without mining unknown fields, link destinations, signatures or companion binaries. Exercise the actual silent label consumer and preserve Community-owned state and the live-read fence.

Contract-Neutral: Silent issue version classification and registered regression controls only; no Pulse runtime, rendered product surface, subsystem contract, dependency, access or public-contact change.
Change-source: pulse-maintainer
2026-10-24 21:20:05 +01:00
pulse-triage[bot] 6ab763c2e6 Keep revised secondary issue topics in the review queue
The existing synchronizer loses appended, replaced or revised topics after an earlier disposition because both field classifications remain true. Compare the current declared text while preserving quiet label deltas, Community ownership and stale-event/pre-write checks. Add registered regression controls, keep the served guide aligned, and record desktop/320px proof through the real documentation consumer.

Contract-Neutral: Repair the existing issue-topic queue and its guidance; no Pulse runtime, API, label ownership, navigation or subsystem contract change.
Change-source: pulse-maintainer
2026-10-24 01:59:27 +01:00
pulse-triage[bot] d972257ce1 Read declared issue versions from visible release-link text
A version supplied as a Markdown release link currently becomes needs-version-info even though its visible label states the version. Read only that label and ordinary inline formatting; never mine destinations, image text or literal Markdown for a version. Keep current-report checks, silent metadata deltas and Community labels unchanged.

Contract-Neutral: Recognise visible inline version values within the existing issue metadata contract; no product runtime, API or label ownership changes.
Change-source: pulse-maintainer
2026-10-23 23:49:45 +01:00
pulse-triage[bot] 04ac669a6c Extract release versions from attempted server archives
Failed-install forms accept attempted release asset names, but archive and platform suffixes currently become part of the affected-version label. Recognise the published server archive naming shapes, keep companion binaries and verification files out of server version evidence, and preserve unknown fields, bare prerelease qualifiers, Community-owned labels and the live-state fence. Reproduce the actual silent label consumer on five affected inputs and qualify archive, formatting and adverse controls without reporter collection or public contact.

Contract-Neutral: Silent issue classification and regression controls only; no product runtime, subsystem shape, rendered product surface, dependency, grant or public-contact behaviour change.
Change-source: pulse-maintainer
2026-10-14 12:53:35 +01:00
pulse-triage[bot] 11e0946999 Retire stale version labels when report evidence becomes unknown
A corrected unknown, incomplete or removed version field currently retains old exact-version affects labels beside needs-version-info. Reconcile those synchronizer-owned assertions with the live bug report, preserving Community labels and the pre-write state fence. Verify corrected fields, delayed events, removals-only writes and no-op/non-bug controls without public contact.

Contract-Neutral: Issue classification metadata and regression controls only; no product runtime, subsystem shape, rendered surface, dependency, grant or public-contact behaviour change.
Change-source: pulse-maintainer
2026-10-14 12:07:29 +01:00
pulse-triage[bot] 2ffacbaf1a Recheck live issue state before applying prepared triage labels
Label lookup and creation can outlive a report edit, closure or Community review. Abandon the prepared issue-label delta when a fresh pre-write read no longer matches its report and label snapshot; failed reads have no stale fallback. Keep no-op work to one read, preserve per-label mutations and make no public contact.

Contract-Neutral: Issue metadata synchronizer and its regression controls only; no product runtime, subsystem contract, rendered surface, grants, dependencies or public-contact behavior changes.
Change-source: pulse-maintainer
2026-10-14 11:23:53 +01:00
pulse-triage[bot] df3a3d1e71 Keep copied Markdown evidence out of issue metadata
Replace the repeatedly patched line scanner with the existing exact Marked 17.0.6 GFM lexer. Preserve real legacy values and silent current-thread label deltas while excluding quoted, nested, HTML and multiline-code declarations and upgrade-source title fallback. Install the complete one-package locked graph with scripts disabled and verify triage before minting its existing write token.

Contract-Neutral: Replace the issue metadata scanner within the existing silent classification contract; no product runtime, API, rendered Pulse UI, permissions, retest or disposition-authority change.
Change-source: pulse-maintainer
2026-10-14 09:18:15 +01:00
pulse-triage[bot] d2b126c3f8 Recognise edited Markdown issue fields without false declarations
Use one ATX heading recogniser for version, feedback, secondary topics and field boundaries. Preserve lightly indented headings and separated closing hashes, reject non-headings, and exercise the real label consumer without contact or release lookups.

Contract-Neutral: Respect Markdown heading boundaries within the existing issue metadata classifier; no product runtime, API, rendered UI or triage-authority delta.
Change-source: pulse-maintainer
2026-10-13 05:54:10 +01:00
pulse-triage[bot] ad1fdcacdd Preserve issue metadata after inline and quoted HTML literals
Keep closed inline backtick spans, escaped comment markers and quoted logs from hiding subsequent visible form declarations. Match backtick lengths exactly and keep genuine hidden comments, stale-event controls and Community labels unchanged. Regressions exercise the label consumer without a release lookup or public contact.

Contract-Neutral: No product runtime, API, rendered UI or triage authority change; preserve literal report evidence within the existing label classifier.
Change-source: pulse-maintainer
2026-10-13 03:12:15 +01:00
pulse-triage[bot] 71e47b72be Preserve visible issue fields after pasted HTML code
Ignore HTML comment delimiters inside the fenced and indented code already excluded from issue declarations. An unfinished copied response must not erase the actual failing-version, feedback or additional-topic fields that follow it. Keep genuine hidden comments hidden, preserve community labels and verify the existing GitHub label consumer without posting or closing reports.

Contract-Neutral: Restore existing visible-declaration intake semantics only; no Pulse runtime, public API, workflow identity, contact, disposition or release-policy delta.
Change-source: pulse-maintainer
2026-10-12 23:29:06 +01:00
pulse-triage[bot] 670a08be94 Keep specialist bug-report guidance optional
Move detailed upgrade, multi-host, notification and memory advice into closed disclosures beside the inputs they help. Keep public-disclosure and unsafe-collection warnings visible, preserve every submitted field and its validation, and retain the detailed advice verbatim. Check disclosure placement and safety alongside the existing triage fixtures.

Contract-Neutral: Presentation-only issue form guidance; submitted field schema, requiredness, triage metadata and safety instructions are unchanged.
Change-source: pulse-maintainer
2026-10-11 22:28:51 +01:00
pulse-triage[bot] 2ca102cc21 Distinguish memory baseline regressions from growth in support guidance
The latest memory report is about a higher steady baseline, not a leak. Keep steady regressions actionable, separate unlike process ages and CPU savings from RSS recovery, and preserve existing evidence without another restart, downgrade or profile. Keep the shipped guides, optional intake and regression controls aligned.

Contract-Neutral: Clarifies interpretation of existing memory reports and documentation only; no runtime, API, route, collection recipe, label synchronizer or subsystem contract changes.
Change-source: pulse-maintainer
2026-10-11 10:56:42 +01:00
pulse-triage[bot] 6809ca2b23 Separate failed-upgrade attempts from observed recovery in issue intake
Keep the failing runtime, intended release, original updater result, host stop and later recovery separate. Accept unknowns and existing redacted evidence without a repeat update, reboot, restore or loss of rollback backups. Guard both forms and preserve version classification when attempted and recovered versions differ.

Change-source: pulse-maintainer
Contract-Neutral: Community intake guidance and regression tests only; installer, updater, runtime and triage automation contracts are unchanged.
2026-10-10 11:39:23 +01:00
pulse-triage[bot] 50b5345be8 Reclaim closed PR CI held before runner admission
The close-event cleanup discovers only queued and running runs, leaving GitHub's requested, waiting and pending runs able to start obsolete checks later. Include those documented unfinished states without changing exclusive PR/head admission, fresh closure and branch-reuse checks, terminal-run protection or refusal handling.

The focused mocked-API suite passes all 52 controls; the same tests against the assigned parent fail ten, including each missing-state discovery and transition. Static workflow trust validation passes. No live cancellation or publication-latency saving is claimed.

Change-source: pulse-maintainer
2026-10-10 10:02:23 +01:00
pulse-triage[bot] 765b877717 Keep pasted code separate from issue metadata declarations
Recognise fenced and indented evidence without treating its headings as form fields. Preserve genuine fenced field values and product-named versions while refusing to borrow quoted or modified-build versions. Keep full secondary topics, current-issue reads and Community-owned state intact.

Contract-Neutral: Repair issue-form classification and its mirrored guide only; no product runtime or subsystem contract delta.
Change-source: pulse-maintainer
2026-10-10 04:25:31 +01:00
pulse-triage[bot] f1d4e6d5af Preserve complete visible issue-form declarations in triage
Read full secondary-topic fields instead of treating the first line as the whole declaration. Hidden HTML template headings cannot classify feedback or create decomposition work. Preserve nested topic headings, form boundaries, current-issue reads and Community-owned labels.

Contract-Neutral: Repair issue-form evidence parsing and its mirrored guide only; no product runtime or subsystem contract delta.
Change-source: pulse-maintainer
2026-10-10 03:40:12 +01:00
pulse-triage[bot] 92cf192103 Preserve explicitly shared server and agent versions in legacy reports
The complete live-backlog comparison caught the existing report #1788's shared server + pulse-agent v6.3.2 declaration. Keep that explicit field value rather than marking supplied evidence unknown; retain unknown and adjacent-field boundaries. Add a regression for the real report's version format.

Change-source: pulse-maintainer
Contract-Neutral: Preserves valid input compatibility in the existing silent issue metadata parser; no form, label, contact, product API or subsystem contract change.
2026-10-10 03:12:03 +01:00
pulse-triage[bot] 50a1e466c6 Keep legacy issue version labels bound to the declared value
Unknown or incomplete legacy Pulse version fields could inherit an adjacent agent or platform version, an upgrade source in the title, or a hidden template example. Give explicit legacy fields the same authority as headed forms, consume only their first visible conventional value and ignore HTML template comments. Add parser and mocked label-flow regressions plus matching triage guidance; preserve silent classification, Community label ownership and no-refile/no-diagnostic boundaries.

Change-source: pulse-maintainer
Contract-Neutral: Repairs the existing issue metadata parser without changing form fields, supported labels, public contact or disposition authority, product APIs or subsystem contracts.
2026-10-10 03:06:27 +01:00
pulse-triage[bot] 3ce8f5450d Keep guest memory report evidence distinct from Pulse performance
Clarify existing optional intake guidance so VM and LXC comparisons retain the affected guest, original episode and sample qualifications. Keep cache-inclusive footprints and process RSS distinct from guest pressure; API-only does not mean QGA is absent. Preserve original observations and forbid new probes or workload changes merely to file a report. Keep the shipped triage guide in sync and add discriminating parent-tested guidance assertions.

Change-source: pulse-maintainer
Contract-Neutral: Clarifies existing optional report evidence and its safety boundaries; no runtime, release, access or subsystem contract delta.
2026-10-10 01:55:26 +01:00
pulse-triage[bot] ebb7752bb5 Start slow non-API test packages before the small-package tail
Two complete containing runs spent 717 and 719 seconds in rest-1, with the installer binary near its end. Refresh whole-package costs from uncached passing rest-shard reports and emit heavier binaries first. Preserve both required checks, source-derived exhaustive coverage, race tests, failure propagation and internal/api ordering.

Contract-Neutral: Schedule existing independent CI package binaries only; no runtime, required-check, exhaustive coverage, race-test or dependency-admission contract changes.
Change-source: pulse-maintainer
2026-10-10 01:08:54 +01:00
pulse-triage[bot] 10678304d0 Classify current issue evidence before changing triage labels
Read the live report and label set instead of a delayed event snapshot. Stop on failed or mismatched reads, skip closed issues and pull requests, and do not restore decomposition work from superseded events. Keep individual label deltas and community-owned retest decisions; remove the unrelated release lookup. Add six discriminating regressions and document the boundary.

Change-source: pulse-maintainer
Contract-Neutral: Repairs the existing metadata synchronizer without changing issue-form fields, supported labels, public contact or disposition authority, product APIs or subsystem contracts.
2026-10-09 09:18:13 +01:00
pulse-triage[bot] 93459d762e Retain bounded API shard skip observations
Distinguish skipped selected tests and passing parents with skipped subtests in the existing CI sidecar. Retain only bounded source names and an aggregate child event count, including on failed or incomplete runs. Preserve shard selection, timings, diagnostics and required verdicts.

Change-source: pulse-maintainer
Contract-Neutral: CI-only additive skip diagnostics; no product installability, test-selection, threshold, privacy allowlist or required-verdict contract change.
2026-10-07 08:08:02 +01:00
pulse-triage[bot] f2b5080bcc Require complete source-selected API shard execution evidence
Fail empty, malformed, truncated or substituted test streams even when the producer exits zero. Bind each existing CI shard to its source-derived selected names and package, retaining skips, diagnostics and bounded missing coverage alongside the unchanged timings. Preserve required checks, race/vet execution and timing weights; exercise real Go race JSON and parent failure controls.

Change-source: pulse-maintainer
2026-10-07 06:28:16 +01:00