[reference] rxjava-3.0 iteration-2 regen against skill-async-iteration-2#11991
Draft
jordan-wong wants to merge 1 commit into
Draft
[reference] rxjava-3.0 iteration-2 regen against skill-async-iteration-2#11991jordan-wong wants to merge 1 commit into
jordan-wong wants to merge 1 commit into
Conversation
Reference output from the toolkit's automated instrumentation-authoring workflow, run against the iteration-2 skill draft (feat/skill-async-iteration-2, 5 skill commits on top of master — see PR #11990 for the skill). Not intended to be merged as-is. Base: master @ 05671ce (iteration-2 skill under test: de407b5) Cost: \$55.01, wall time ~1h 30m Local :check :muzzle :latestDepTest all green. Score against iteration-1 gaps (mixed result — 2/7 CLOSED): CLOSED: - RI-1: super("rxjava", "rxjava-3") alias restored (fixes DD_TRACE_RXJAVA_3_ENABLED customer opt-out) - NR-1: helperClassNames() array ordering matches master STILL-OPEN (rule-adherence gap — rule in skill, model did not apply): - RI-2: muzzle { fail { name = "rxjava2-must-not-match" } } block missing - RI-3: reactive-streams compileOnly regressed 1.0.3 -> 1.0.0 - NR-2: contextStore() inlines Context.class.getName() five times instead of hoisting - NR-3: inline explanatory //-comments in Advice methods - NR-4: banner-style separator comments in test files The 5 STILL-OPEN gaps are the primary research signal of this PR for #11990 reviewers: the rules exist in the skill (all 5 are in the iter-2 skill draft) but the model did not apply them at generation time. Same rule-adherence gap class as HTTP cycle's N-HTTP-2 finding. Candidate remediation: move these to reviewer_checks/ grep-based enforcement rather than skill-prose advisories. Contrast with reactor-core-3.1 iter-2 (#11974): all 6 gaps CLOSED. The reactor result shows the rules generalize when the model naturally applies them; this rxjava3 result shows the residual adherence gap. Full outcome: docs/eval-research/runs/rxjava3/attempt2/outcome.md in apm-instrumentation-toolkit.
This comment has been minimized.
This comment has been minimized.
Contributor
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master results
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
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.
[reference] rxjava-3.0 iteration-2 regen against skill-async-iteration-2
Reference output from the toolkit's automated instrumentation-authoring
workflow, run against the iteration-2 skill draft (PR #11990, 13 new rules
encoded on top of
master).Not intended to be merged as-is.
Research context
Iteration-2 of the async research cycle in apm-instrumentation-toolkit.
Partner PR: #11974 (reactor-core-3.1 iter-2, all 6 gaps CLOSED).
Rxjava3 iteration-1 (#11939) surfaced 3 Rule #2 divergences (RI-1 super
alias dropped, RI-2 muzzle fail block missing, RI-3 reactive-streams
version regression) plus 4 reviewer-derived rules from @ygree (NR-1..NR-4).
All 7 were encoded into the iteration-2 skill (#11990). This PR is the
regeneration against that updated skill.
Score against iteration-1 gaps: 2 of 7 CLOSED
super("rxjava", "rxjava-3")aliashelperClassNames()array orderingmuzzle { fail { rxjava2-must-not-match } }blockreactive-streamscompileOnly1.0.31.0.0contextStore()hoistContext.class.getName()//-comments in Advice methods// ---banners still presentThe primary finding — rule-adherence gap
The 5 STILL-OPEN gaps are the primary research signal of this PR. All 5
rules exist in the iteration-2 skill draft (#11990) with explicit ❌/✅
examples and source citations. The model read them and generated output
anyway that violates each one.
This is the same problem class the HTTP cycle diagnosed as N-HTTP-2 earlier
this month: "encoding is not the same as adherence." Adding more prose
guidance to the skill produces inconsistent results — the model applies
some rules naturally (RI-1, NR-1) and doesn't apply others (RI-2, RI-3,
NR-2, NR-3, NR-4).
Contrast with reactor-core-3.1 iter-2 (#11974): all 6 gaps CLOSED. The
reactor result shows the rules work when the model naturally applies them;
this rxjava3 result surfaces the residual adherence gap.
Skill-update prescription for #11990 reviewers: consider whether the 5
open rules belong in
reviewer_checks/dd_trace_java/(deterministicgrep-based enforcement, forces a fix-loop) rather than in prose advisories.
All 5 are mechanically grep-able:
fail { name = "..." }presence checkcompileOnly ... version:diff vs mastercontextStore()body grep for repeatedClass.getName()@Advice.OnMethod*body grep for//-comment lines// ---banner patternsCost note
$55.01 for this iter-2 run vs $43.23 for iter-1 — MORE expensive despite
partial-fix output. Root cause: the reviewer step looped because the
toolkit's lint adapter looked for the wrong directory
(
dd-java-agent/instrumentation/rxjava3-generated/, doesn't exist) andcould not auto-fix any issues. That's a separate toolkit adapter bug,
unrelated to the skill iteration.
Local verification
:check :muzzle :latestDepTestall green after generation.Cross-references
skill(apm-integrations): async cycle iteration-2 — 13 rules from #11939/#11940 review feedback)docs/eval-research/runs/rxjava3/attempt2/outcome.mdin apm-instrumentation-toolkitdocs/eval-research/runs/rxjava3/attempt2/skill-provenance.md🤖 Generated with APM Instrumentation Toolkit