websem: repair ordinary-opacity source precision - #142
Conversation
Carry complete isolated source domains across rframe, prepare active blur sources once, and quarantine unrepresented composition profiles. Reopen both opacity checklist rows; retain the radial element own-row precedent. Add 36 immutable Chromium cells, 17 named refusal witnesses and actual-CLI assertions. Independent manual TICK/LAW and REPRO pass; no Workflow runner was exposed.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (85)
📒 Files selected for processing (34)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe change adds isolated opacity source domains across ChangesOpacity source-domain pipeline
Priority: ➖ Normal Estimated code review effort: 4 (Complex) | ~60 minutes Change: Bug fix Sequence Diagram(s)sequenceDiagram
participant SVGCompiler
participant RFrame
participant N0
participant AssertionCLI
SVGCompiler->>SVGCompiler: compute drawable source enclosure
SVGCompiler->>RFrame: attach IsolatedSourceDomain
RFrame->>N0: emit opacity scope with source domain
N0->>N0: validate and clip mapped source bounds
N0->>AssertionCLI: produce render or refusal result
Merge Risk: ⚪ Minimal · up to No actionable regression remains in the reviewed opacity source-domain changes. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 65.71% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 70 functions across 15 files. (19 skipped: 18 unsupported, 1 too large.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks 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 |
Landing paused: the Chromium reference is not environment-invariantPR remains draft and unmerged at Both runs identify Chromium 149.0.7827.55, the unchanged sole capture module SHA-256
For all six rendering cases, Linux n0, local n0 and the committed baked pixels agree exactly. All three .998 cases also agree across Chromium. Repeats are stable and both report integrity lists are empty. Therefore this is not an engine-output regression in these cases, but n0 does not match the observed Linux Chromium output for the high-opacity cases. Independent artifact review re-decoded the PNGs and checked 96 recorded PNG/RGBA identities plus source/tool identities. It confirmed the split. The shear refusal's Chromium observations also differ by 1,192 pixels at delta 1; its exact named-refusal assertion still passes. The Linux observations are measured, not celled. This establishes an environment association, not its cause: OS, CPU architecture, browser build/backend or another setting has not been isolated. Selecting whichever image agrees with n0 is not permitted by #140. A canonical reference environment must be explicitly investigated and reviewed before resuming this expansion; a version string alone is insufficient evidence of identical raster behavior. Failed assertion job · original report and images The original three-case pilot and all 40 tool-contract tests passed in that job. Automated review generated no actionable code comments. Other CI jobs may still finish independently; no all-CI-green or merge is claimed. The branch is clean and pushed; main remains |
Summary
Repair the retained ordinary-opacity precision cases in #136,
and quarantine additional source combinations exposed by the investigation.
Keep that issue open for the remaining source-composition profiles.
The cause spans two layers:
materialization. It now uses the existing one-per-source preparation policy;
zero, generated-input and unreachable blur branches do not activate it.
source enclosure.
rframenow carries this checked fact separately from thenumeric factor; both near-unit opacity restoration routes consume it.
An independent contract maintainer designed the
rframeboundary beforeproducer and consumer adaptation. The enclosure is drawable source, not
geometry, damage, visible ink, a viewport or an allocation hint. Existing
blend-domain compatibility names remain available. Solid/neutral spans avoid
the new enclosure walk; changed-view reuse remains byte-identical to fresh.
Measured verdict
Baseline actual-CLI renders repeated in both admissions reproduced the issue:
The reduced committed cases now match their own Chromium images exactly.
The no-opacity blur control also moves from 30 differing pixels at delta 1 to
exact. Native-circle and arc-path blur controls each retain their own oracle:
Chromium distinguishes their geometry, so substituting a path was not a fix.
36 new positive cells bring the primitive corpus to 1,575. Seventeen new
named-refusal witnesses bring the register to 368. The 16 sampled frames,
16 exact text cells and eight geometry witnesses are unchanged. The filter
estate is 459 cells, including six new blur controls. All previous 1,539
primitive records and oracle bytes are unchanged. New cells entered only via
just add;just bakecreated missing oracles without overwriting.Boundaries and checklist disposition
Both
opacitychecklist rows reopen. The repaired source profile does notcover all honored path, nested, resource-program or image-effect combinations.
Incomplete contributors, independently mapped children, shear/unequal scale,
complex strokes and unsupported source placement now refuse by stable name.
Root/host failures refuse at document level in both admissions; attributable
clients roll back as whole transactions in best effort.
The investigation also exposed bare multi-operation paint-server sources
feeding filters/masks without partial opacity. Those refuse separately by
name; completed child images are not reclassified as bare sources. Unequal-
scale controls also differ without opacity, so this does not claim to solve
#88. The radial element retains its tick under the now-open
opacity own-row precedent. No checklist row gains a tick.
The durable addendum distinguishes probe-only findings from committed cells.
No tolerance, existing oracle, pinned capture module, FLIP rule, CSS matcher
or conformance measure changes. Generic damage/geometry coverage, external
I/O, text and new filter vocabulary remain separate.
Assertion harness and sensitivity
The new
opacity-source.jsonmanifest contains six described render-exactclaims and two expected refusals. CI runs fresh Chromium and the actual CLI
alongside the unchanged three-case pilot, and retains its report in the
artifact's
opacity-sourcesubdirectory. It is not a second oracle or a score.Three deliberately introduced regressions prove the gate is sensitive:
assertions.
cells, including the one-pixel pattern examples. The assertion gate fails
all four pattern/radial claims and both expected-refusal claims.
cells by 315 pixels at maximum delta 1 each.
Every mutation was restored byte-for-byte before re-gating green.
Independent review and verification
No Workflow runner was exposed, so
.agents/workflows/verify-rung.jscould notbe invoked through
scriptPath. Independent manual TICK/LAW and REPRO rolesare the fallback; this is not a claim that the saved Workflow ran.
TICK/LAW identified zero-area retained Rect/Ellipse nodes incorrectly enlarging
the source enclosure and a radial-control delta typo. Both are fixed. Geometry
and node identity remain intact; empty box coverage does not fabricate source
area. Five additional cells and producer/consumer tests guard the fix. The
renewed TICK/LAW audit passes with no remaining must-fix or should-fix items.
Local verification passes:
cg,math2,csscascade,rframe,websem,n0-model,n0,n0_cli,animation-samplingandtextlayout; after the audit fix,renewed full
websem/n0_cli, n0 library/group/domain and trace tests.cargo fmt --all --checkand workspacecargo clippy --locked --no-deps -- -D warnings.and typechecks; link checks and pre-PR public-repository audit.
Independent REPRO also passes with no remaining must-fix or should-fix items:
six fresh matrices, 95 sources and 380 actual CLI executions with stable
repeats and a fixed binary. It verified all new source/oracle identities,
expected refusal names and complete owner rollback, then renewed the full
gate and STATUS. All eight corrected assertions and the original three-case
pilot pass with empty integrity-error lists. It also rechecked the retained
mutation reports and exact restoration hashes without re-enacting mutations.
The known no-opacity unequal-scale control remains outside the claimed repair.