feat(resource): aggregate bounded browser process-set RSS - #66
Draft
seonghobae wants to merge 28 commits into
Draft
feat(resource): aggregate bounded browser process-set RSS#66seonghobae wants to merge 28 commits into
seonghobae wants to merge 28 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This was referenced Aug 11, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partial implementation of #28, stacked on live PR #51.
Buyer-visible gap
PR #51 samples one caller-supplied Linux process RSS value, but Chromium is multi-process. A resource governor that accepts only one PID can materially undercount a real Agent Task even when every individual
/proc/<pid>/statussample is valid. This follow-up defines a bounded, duplicate-safe process-set aggregation boundary and additionally prevents a PID-reuse race from silently rebinding a previously observed process identity to a different Linux process.Live dependency / reconstructed stack
The independently refetched live prerequisite is exact PR #51 head
6b1595e9e04ddb791a2e219bd81dd6752c1f3d84. The prior #66 head had merge baseed01297e5fd0e6a97336078e23f49206c0952ef3and had become 77 commits behind that live prerequisite.This lane was therefore reconstructed non-destructively: the current #51 tree was used as the fresh base, #66's unique resource production/tests were overlaid unchanged, and the unique process-set CHANGELOG semantics were reapplied onto the current prerequisite CHANGELOG instead of carrying the stale whole-file blob. Current exact #66 head is
15713ac15e52cc88369af2c4b50abd86fce869b9.Fresh comparison reports ahead 28 / behind 0, with merge base exactly current #51. The current semantic delta is limited to:
CHANGELOG.md;crates/originweave-resource/src/lib.rs;crates/originweave-resource/tests/browser_process_identity_rss.rs; andcrates/originweave-resource/tests/browser_process_set_rss.rs.No prerequisite/predecessor check, review, status, synthetic-merge, or historical-head evidence transfers. Keep Draft while #51 remains active.
Implemented boundary
The process-set slice:
aggregate_browser_process_rss_samplesover explicit(pid, rss_bytes)samples;/proc/<pid>/statusVmRSSparser;/proc/<pid>/statstructurally from the final)of the processcommfield and extracts the kernel process start-time field without assuming the command name is delimiter-free;LinuxProcessIdentityto exact nonzero PID plus kernel start-time ticks;ProcessIdentityChangedwhen the PID names another process; andThe implementation does not infer Chromium ownership from a PID or process set. A trusted browser/process adapter must still derive and authenticate the intended process set for the governed task.
Exact-current evidence
On unchanged exact head
15713ac15e52cc88369af2c4b50abd86fce869b9against exact prerequisite6b1595e9e04ddb791a2e219bd81dd6752c1f3d84:32957302027: success;98141784683: repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, and rustdoc success on exact checkout;98141784983: exact owned-production function/line/region/branch measurement and enforcement success;461/461, lines3944/3944, regions4922/4922, branches576/576— all 100%;9602525440, digestsha256:1571754db68a9581fb15bf8fcb062646010d078349665d9843b3f6a82dfb07db;The exact-head workflow inventory for this feature-base Draft exposes CI only. SAST/Semgrep, Security Scan, Manifest V3, OpenCode, Noema, Strix, or independent approval evidence not returned for this head is absent, not passing. No predecessor-head, prerequisite-head, skipped, queued, cancelled, synthetic, stale, status-only, or model-only evidence is promoted.
The live organization ruleset currently requires one qualifying approval, stale-review dismissal on push, resolved review threads, and does not require latest-push approval. No approval is manufactured or inferred from automated checks, comments, model output, or author activity.
Truth / authority boundary
This lane does not discover Chromium PIDs, prove that supplied identities belong to one browser task, walk or authenticate a Chromium process tree/cgroup, sample GPU/VRAM or JS heap, launch/control Chromium, persist telemetry, or make release claims. Protected-main
AGENTS.mdremains authoritative. This scheduled actor does not merge, self-approve, force-push, destructively rebase, alter workflows/rulesets/secrets, weaken checks, tag, release, or publish.