Stream: t-compiler

Topic: steering meeting 2019-07-05


nikomatsakis (Jul 05 2019 at 10:57, on Zulip):

Hey @pnkfelix -- so I just read the transcript from weekly meeting yesterday. I think we should hold a meeting today, but expect it to be very lightly attended -- perhaps just us two =)

Normally we would do a planning meeting and I think we should do a sort of planning -- but it won't take long to schedule meetings, as there aren't many options. So maybe we can touch base on some of these other things (and people can chime in with thoughts if they're around):

Also, regarding rescheduling the meeting, that seems good. I don't love having it on Friday either. We can either pick a time unilaterally or create a doodle poll, something like that.

pnkfelix (Jul 05 2019 at 11:03, on Zulip):

okay @nikomatsakis , that sounds great.

pnkfelix (Jul 05 2019 at 11:03, on Zulip):

cc @T-compiler/meeting ^

nikomatsakis (Jul 05 2019 at 11:03, on Zulip):

I guess also:

nikomatsakis (Jul 05 2019 at 11:04, on Zulip):

I would note that the current slot:

nikomatsakis (Jul 05 2019 at 11:04, on Zulip):

(We'll never get a single perfect slot, of course.)

nikomatsakis (Jul 05 2019 at 14:00, on Zulip):

Hello @T-compiler/meeting -- meeting, but I've got an urgent call to wrap up, so 5 minute

centril (Jul 05 2019 at 14:04, on Zulip):

Ohai!

HackMD document: https://hackmd.io/dvgegmdgQVSMbC4rcjG6EA?view

pnkfelix (Jul 05 2019 at 14:04, on Zulip):

that is probably not today's agenda

pnkfelix (Jul 05 2019 at 14:05, on Zulip):

see niko's note at top

centril (Jul 05 2019 at 14:06, on Zulip):

Oh; hehe;

but expect it to be very lightly attended -- perhaps just us two =)

Seems there are more than 2 folks ;)

Esteban Küber (Jul 05 2019 at 14:06, on Zulip):

(One thing that's been brought up before and I'd like to quickly address is having per WG P-labels to ease conversations)

pnkfelix (Jul 05 2019 at 14:06, on Zulip):

(the reasons being 1. we had intended for each monthly cycle to start with a planning meeting, and 2. we were not sure attendance for today's meeting will be at the level we'd like for a proper discussion of the maintenance/triage topic)

pnkfelix (Jul 05 2019 at 14:08, on Zulip):

((In particular I am not sure we would want to hold the maintenance/triage meeting with @nagisa or @eddyb absent. But hey, on the other hand, if people are clamoring to have that talk, we can at least get the conversation started today.))

nikomatsakis (Jul 05 2019 at 14:08, on Zulip):

OK, I'm back.

nikomatsakis (Jul 05 2019 at 14:08, on Zulip):

Sorry about that.

centril (Jul 05 2019 at 14:09, on Zulip):

If we are going to talk triage, cc @simulacrum and @Pietro Albini

pnkfelix (Jul 05 2019 at 14:10, on Zulip):

@nikomatsakis , maybe we can try to cover the most pressing matters at the outset

nikomatsakis (Jul 05 2019 at 14:10, on Zulip):

Well I had listed three possible agenda items:

nikomatsakis (Jul 05 2019 at 14:10, on Zulip):

I agree we should probably sort, that is in no particular order

pnkfelix (Jul 05 2019 at 14:10, on Zulip):

and then given that we do have a number of people present, we could try to work-steal items from the triage/maintanance doc as needed.

pnkfelix (Jul 05 2019 at 14:11, on Zulip):

I think most pressing question is plans for summer with both you and I absent. as you noted above, @nagisa has already said they can step up to run the Thursday meeting

nikomatsakis (Jul 05 2019 at 14:11, on Zulip):

Seems good -- I propose we start by briefly discussing the timing for this meeting going forward. It seems like there is a lot of interest in picking a new time.

I propose that I create a doodle, we advertise it here and over e-mail, wait until Monday, and then pick a new time based on that :)

pnkfelix (Jul 05 2019 at 14:12, on Zulip):

heh okay I'm going to let you steer

Vadim Petrochenkov (Jul 05 2019 at 14:12, on Zulip):

Reviewing stalls are the thing that bother me most in people being absent.

nikomatsakis (Jul 05 2019 at 14:12, on Zulip):

Presuming that seems fine, then I agree @pnkfelix checking in on the immediate plans is a good next thing to discuss

nikomatsakis (Jul 05 2019 at 14:13, on Zulip):

OK, I'm going to assume everyone agrees to that plan =)

Vadim Petrochenkov (Jul 05 2019 at 14:13, on Zulip):

Especially the Zoxc situation, when we are losing the full scale work from a senior developer .

pnkfelix (Jul 05 2019 at 14:13, on Zulip):

is there an email for T-compiler/meeting?

nikomatsakis (Jul 05 2019 at 14:13, on Zulip):

In terms of absence, we have at least the following extended absences coming up:

Vadim Petrochenkov (Jul 05 2019 at 14:13, on Zulip):

Due to lack of reviewing.

nikomatsakis (Jul 05 2019 at 14:14, on Zulip):

Incidentally, I'm not sure how much @Aaron Turon has communicated this, but he has been reviewing and reading into the parallel compilation code.

centril (Jul 05 2019 at 14:14, on Zulip):

@nikomatsakis this sounds pretty bad; I think t-compiler reviewership rate is already bad

nikomatsakis (Jul 05 2019 at 14:14, on Zulip):

(I was meaning to ping him today (over in #t-compiler/wg-parallel-rustc) to discuss his thoughts)

nikomatsakis (Jul 05 2019 at 14:15, on Zulip):

(I know Zoxc has a number of other PRs that don't fit into that category)

centril (Jul 05 2019 at 14:15, on Zulip):

(The bus factor on the infer/traits code in the compiler is also low)

nikomatsakis (Jul 05 2019 at 14:16, on Zulip):

Hmm. Should we try to do an audit of all open T-compiler PRs? (Not "live")

nikomatsakis (Jul 05 2019 at 14:16, on Zulip):

Reviewing is interesting because it has a relationship to triage but is distinct from the concerns we've been discussing. I agree it's been hard to stay on top of it.

pnkfelix (Jul 05 2019 at 14:17, on Zulip):

the first bullet on the maintenance/triage hackmd doc says "are there topics we should cover not on this list" ; sounds like "keeping up with reviews is one I need to add.

nikomatsakis (Jul 05 2019 at 14:17, on Zulip):

Indeed.

centril (Jul 05 2019 at 14:18, on Zulip):

btw, it's good if y'all have some way to tell T-release about when T-compiler members are on vacation, etc. so that we can reassign PRs and such.

nikomatsakis (Jul 05 2019 at 14:18, on Zulip):

I think that some of the problem there is also what the design meetings were intended to address -- i.e., particularly for bigger refactoring PRs, there aren't a lot of design documents available, making reviewing quite hard.

nikomatsakis (Jul 05 2019 at 14:18, on Zulip):

btw, it's good if y'all have some way to tell T-release about when T-compiler members are on vacation, etc.

why don't we create a calendar on the compiler-team repo?

eddyb (Jul 05 2019 at 14:18, on Zulip):

so wifi is down in the office and I took my time switching to a phone hotspot....

nikomatsakis (Jul 05 2019 at 14:18, on Zulip):

although ultimately seems like something that would be nice to add to the team repo in general

nikomatsakis (Jul 05 2019 at 14:19, on Zulip):

Still, i'd like to focus on actions we can take over next week to lay groundwork. There are basically two things to consider:

nikomatsakis (Jul 05 2019 at 14:20, on Zulip):

I don't have much of a better idea for existing PRs than to try and do a survey and work through it?

pnkfelix (Jul 05 2019 at 14:20, on Zulip):

the most obvious thing I can think of is to make reviewing the PR review queue part of weekly pre-triage

pnkfelix (Jul 05 2019 at 14:20, on Zulip):

so that the triager can potentially reassign things that haven't gotten addressed.

centril (Jul 05 2019 at 14:20, on Zulip):

weekly pre-triage already seems stretched

pnkfelix (Jul 05 2019 at 14:20, on Zulip):

but I am somewhat loathe to make that task even bigger

pnkfelix (Jul 05 2019 at 14:20, on Zulip):

yes exactly

nikomatsakis (Jul 05 2019 at 14:20, on Zulip):

confirm to all those things :)

pnkfelix (Jul 05 2019 at 14:21, on Zulip):

still the answer might be to parallelize

centril (Jul 05 2019 at 14:21, on Zulip):

so that the triager can potentially reassign things that haven't gotten addressed.

this is T-release's job, I think

nikomatsakis (Jul 05 2019 at 14:21, on Zulip):

I was going to say, there is already some effort to do this

pnkfelix (Jul 05 2019 at 14:21, on Zulip):

its T-release's job to reassign PR's in review queue?

centril (Jul 05 2019 at 14:21, on Zulip):

@pnkfelix yes.

pnkfelix (Jul 05 2019 at 14:21, on Zulip):

okay

centril (Jul 05 2019 at 14:21, on Zulip):

If T-release knows who to reassign to we can do it

pnkfelix (Jul 05 2019 at 14:22, on Zulip):

of course knowing whom to reassign to is itself an issue

centril (Jul 05 2019 at 14:22, on Zulip):

but we need to know "Who are the experts?" (experts map should help)

pnkfelix (Jul 05 2019 at 14:22, on Zulip):

I had a thought about this recently:

nikomatsakis (Jul 05 2019 at 14:22, on Zulip):

right, in theory we have this map in part for this reason

pnkfelix (Jul 05 2019 at 14:22, on Zulip):

if any topic is important enough/big enough to have a label

pnkfelix (Jul 05 2019 at 14:22, on Zulip):

then there should be an owner for that label

nagisa (Jul 05 2019 at 14:22, on Zulip):

I’m here now.

pnkfelix (Jul 05 2019 at 14:22, on Zulip):

someone who knows enough to re-delegate tickets+PR's in that area

Vadim Petrochenkov (Jul 05 2019 at 14:22, on Zulip):

We also need an @rfcbot roll command, selecting an arbitrary reviewer from the team, but not the previous one :slight_smile:

nikomatsakis (Jul 05 2019 at 14:23, on Zulip):

We also need an @rfcbot roll command, selecting an arbitrary reviewer from the team, but not the previous one :)

I was going to suggest that :)

centril (Jul 05 2019 at 14:23, on Zulip):

@Vadim Petrochenkov seems like r? @rust-lang/compiler

centril (Jul 05 2019 at 14:23, on Zulip):

but reassigning to random t-compiler members is suboptimal; I can often do better

Vadim Petrochenkov (Jul 05 2019 at 14:23, on Zulip):

(Or rather high-five bot.)
Yes, r? @rust-lang/compiler is what I used a few times, but the bot doesn't understand it.

pnkfelix (Jul 05 2019 at 14:24, on Zulip):

but reassigning to random t-compiler members is suboptimal; I can often do better

yeah this is why I was thinking having official way to narrow based on label(s) would be good

centril (Jul 05 2019 at 14:24, on Zulip):

@Vadim Petrochenkov https://github.com/rust-lang/highfive/issues/187

nikomatsakis (Jul 05 2019 at 14:24, on Zulip):

so we had this experts map that @Santiago Pastorino made, which is machine readable, but some work needs to be done to fill it out more completely.

nikomatsakis (Jul 05 2019 at 14:25, on Zulip):

Tooling improvements aside, I think that there are two actionable things here:

As @centril pointed out, I think the bus factor is a big problem here, but not one that is easily solved.

pnkfelix (Jul 05 2019 at 14:26, on Zulip):

right, if there is a mapping from every label to an entry on the experts map then my idea would be implementable

centril (Jul 05 2019 at 14:26, on Zulip):

Looking at https://github.com/rust-lang/compiler-team/blob/master/experts/map.toml it feels pretty sparse on many items

centril (Jul 05 2019 at 14:26, on Zulip):

e.g. there's just @Vadim Petrochenkov on many things

centril (Jul 05 2019 at 14:27, on Zulip):

where are all the compiler team contributors on this list? (the new sub-team)

nikomatsakis (Jul 05 2019 at 14:27, on Zulip):

I was going to say, I think they are missing :)

pnkfelix (Jul 05 2019 at 14:28, on Zulip):

also, no one knows anything about Libs.

centril (Jul 05 2019 at 14:28, on Zulip):

the bus factor on libs is probably higher

centril (Jul 05 2019 at 14:28, on Zulip):

except for some specific places

pnkfelix (Jul 05 2019 at 14:28, on Zulip):

(but its a work-in-progress, so hey)

nikomatsakis (Jul 05 2019 at 14:29, on Zulip):

I feel like we've reached a kind of "stasis" on this topic of reviewing. I was wondering if we should shift to talk about the idea of a "triage WG". This basically stems from the observation that, right now, triage is mostly done by @pnkfelix alone, in the "pre meeting" -- this causes problems when (e.g.) pnkfelix cannot be there for some reason. We were discussing the idea of trying to get some kind of larger group started.

centril (Jul 05 2019 at 14:30, on Zulip):

There was also the idea of ICE-breakers

Pietro Albini (Jul 05 2019 at 14:30, on Zulip):

t-release's triage-wg had their first meeting yesterday iirc

Pietro Albini (Jul 05 2019 at 14:30, on Zulip):

(o/)

nagisa (Jul 05 2019 at 14:30, on Zulip):

I tend to do pre-triage before I drive the meeting as well.

nikomatsakis (Jul 05 2019 at 14:31, on Zulip):

Yes. There is one other related thing, around the meta WG. I've been thinking for a bit that perhaps the role of that group -- which was initially to try and design wg setup etc -- has come to a bit of a standstill, and perhaps it makes sense to try and "repurpose" to people who are trying to ensure that "the wheels keep turning".

nagisa (Jul 05 2019 at 14:31, on Zulip):

(not that I drive often)

nikomatsakis (Jul 05 2019 at 14:31, on Zulip):

(I was thinking of things like posting meeting summaries, but I think triage kind of fits into that bucket.)

centril (Jul 05 2019 at 14:32, on Zulip):

@nikomatsakis that is some of this work should be moved to T-release/WG-triage ?

nikomatsakis (Jul 05 2019 at 14:32, on Zulip):

Maybe, I'm not really sure what the relationship ought to be.

nikomatsakis (Jul 05 2019 at 14:32, on Zulip):

I guess it woudl be helpful to try and be more specific about what work we are talking about

nikomatsakis (Jul 05 2019 at 14:33, on Zulip):

Previously I think the focus of our triage has been:

nikomatsakis (Jul 05 2019 at 14:33, on Zulip):

i.e., somebody is assigned, they are not blocked, etc

nikomatsakis (Jul 05 2019 at 14:34, on Zulip):

I think this has been more difficult lately

pnkfelix (Jul 05 2019 at 14:34, on Zulip):

yeah see hackmd doc section

pnkfelix (Jul 05 2019 at 14:35, on Zulip):

though we did at least get a lot of them assigned recently

Vadim Petrochenkov (Jul 05 2019 at 14:35, on Zulip):

The people like @Jonas Schievink who put labels on fresh issues are doing great job (with an eye on long term maintenance).
Otherwise, I don't think I personally benefited from any other forms of triage.
I triage nightly/beta regressions related to resolve and other parts of the compiler related to me myself.

centril (Jul 05 2019 at 14:35, on Zulip):

So there seems to be a few tasks, including:

nikomatsakis (Jul 05 2019 at 14:35, on Zulip):

One of the thoughts I've had is that there are often a lot of steps that can be done before the actual fix occurs. Most notably, bisecting, narrowing down the test case.

nikomatsakis (Jul 05 2019 at 14:36, on Zulip):

A lot of time this gets done before hand, but not always.

nikomatsakis (Jul 05 2019 at 14:36, on Zulip):

Yeah, what @centril said. =)

nikomatsakis (Jul 05 2019 at 14:36, on Zulip):

I think this could plausibly be some of the work that a compiler "triage team" does -- or maybe the ICE-breaker team.

centril (Jul 05 2019 at 14:37, on Zulip):

Bisecting + Minimizing repros is probably something release-WG-triage / T-release can do

pnkfelix (Jul 05 2019 at 14:37, on Zulip):

another task that we don't always do, but probably should, is archiving the original bug test case when it wasn't provided as an inline piece of code

nikomatsakis (Jul 05 2019 at 14:37, on Zulip):

I'm not sure what the difference is there, I'm sort of sensing a few areas of possible focus:

vs

vs

i.e., there's a spectrum, and I suspect that an ICE-breaker group could indeed do a bit of all 3, depending on how involved the problem is.

pnkfelix (Jul 05 2019 at 14:38, on Zulip):

another task that we don't always do, but probably should, is archiving the original bug when it wasn't provided as an inline piece of code

e.g. we've had occasions where someone links to an external git repo or branch thereof, and then the bug gets "reduced," but when its time to double-check that the original bug is fixed, the original way to reproduce it is gone.

nikomatsakis (Jul 05 2019 at 14:38, on Zulip):

Bisecting + Minimizing repros is probably something release-WG-triage / T-release can do

Yeah, so maybe this doesn't belong in the compiler team at all. that's plausible. Something feels a bit funny to me about it though.

nikomatsakis (Jul 05 2019 at 14:39, on Zulip):

Regardless of "where" the work formally falls, it'd be nice if we could make it easy to search for bugs that need those things.

centril (Jul 05 2019 at 14:39, on Zulip):

@nikomatsakis "identify and narrow" seems like 1) minimizing, 2) bisecting, 3) finding the problem in the code

centril (Jul 05 2019 at 14:39, on Zulip):

3) is probably for ICE-breakers

centril (Jul 05 2019 at 14:39, on Zulip):

and writing the PR

pnkfelix (Jul 05 2019 at 14:39, on Zulip):

a reason bisecting reduction minimization could be T-compiler is if it is something we do via automation

pnkfelix (Jul 05 2019 at 14:39, on Zulip):

because that is the kind of thing that often requires compiler tech to do well...

nikomatsakis (Jul 05 2019 at 14:39, on Zulip):

(Separately I think we should do work to improve cargo-bisect-rustc.)

centril (Jul 05 2019 at 14:40, on Zulip):

a reason bisecting could be T-compiler is if it is something we do via automation

I think we had the idea of having some way to mark a reproducer that a bot goes and tests (and adds E-needstest) and bisects it otherwise

centril (Jul 05 2019 at 14:40, on Zulip):

Minimization feels harder; you need some sort of shrinking via proptesting?

nikomatsakis (Jul 05 2019 at 14:41, on Zulip):

I think we should separate a bit the automation factor

pnkfelix (Jul 05 2019 at 14:41, on Zulip):

Minimization feels harder; you need some sort of shrinking via proptesting?

yeah it would probably only be applicable to things like ICEs (that don't require knowledge of the intent of original code)

pnkfelix (Jul 05 2019 at 14:41, on Zulip):

I think we should separate a bit the automation factor

I agree with this, sorry for distraction

nikomatsakis (Jul 05 2019 at 14:41, on Zulip):

So it seems like the steps for a regression are:

We could be having some regular task to look at all (say) regressions that do not have a bisection or a test case and try to assign those out for those purposes.

centril (Jul 05 2019 at 14:42, on Zulip):

@nikomatsakis typically when I label issues as part of T-release work I also do minimization

centril (Jul 05 2019 at 14:42, on Zulip):

(but not bisecting)

nikomatsakis (Jul 05 2019 at 14:42, on Zulip):

(Minimization is also often a good way to aid with bisection)

nikomatsakis (Jul 05 2019 at 14:42, on Zulip):

Both are pretty useful

centril (Jul 05 2019 at 14:42, on Zulip):

yep; and independently doable :tada:

nikomatsakis (Jul 05 2019 at 14:43, on Zulip):

So the question is: would this group be better off as part of t-release, or t-compiler?

nikomatsakis (Jul 05 2019 at 14:43, on Zulip):

I don't have a strong opinion about it

centril (Jul 05 2019 at 14:43, on Zulip):

@nikomatsakis We can have a joint WG?

nikomatsakis (Jul 05 2019 at 14:43, on Zulip):

Yes, sure.

nikomatsakis (Jul 05 2019 at 14:43, on Zulip):

I still like the name ICE-breakers :)

nikomatsakis (Jul 05 2019 at 14:43, on Zulip):

as an aside ;)

pnkfelix (Jul 05 2019 at 14:44, on Zulip):

so some of the things discussed sound like how we are going to deal with new incoming bugs. And I guess that is what triage means at a hospital (I think)

pnkfelix (Jul 05 2019 at 14:44, on Zulip):

but another issue is that we have a big backlog of issues

nikomatsakis (Jul 05 2019 at 14:44, on Zulip):

I guess the other question is whether it makes sense to have a distinct set of people that are "ICE-breaking". I a imagining something like this. There coudl be a triage group that basically tries to narrow things down as much as they can and maybe even fix the problem, but at some point can bail out and ask for somebody else to tpick it up.

nikomatsakis (Jul 05 2019 at 14:44, on Zulip):

And that later point is when "t-compiler proper" gets involved.

nikomatsakis (Jul 05 2019 at 14:45, on Zulip):

but another issue is that we have a big backlog of issues

Yes.

centril (Jul 05 2019 at 14:45, on Zulip):

@nikomatsakis Right; I was thinking ICE-breakers (+ you get a t-shirt with a :pick:?) are the folks who write the PRs to fix the ICEs.

centril (Jul 05 2019 at 14:46, on Zulip):

and they can help with minimization and such if they want as well

pnkfelix (Jul 05 2019 at 14:46, on Zulip):

what, the triagers are the ICE-melters then?

nikomatsakis (Jul 05 2019 at 14:46, on Zulip):

So maybe there is a T-compiler "ICE-breakers" group and there is wg-triage, and they are distinct things with high overlap.

centril (Jul 05 2019 at 14:46, on Zulip):

I think it's mostly about increasing capacity overall here. (We don't need to draw so fine lines about who gets to do what.)

nikomatsakis (Jul 05 2019 at 14:46, on Zulip):

I don't know that it's worth thinking about it that way. =)

nikomatsakis (Jul 05 2019 at 14:47, on Zulip):

Exactly

nikomatsakis (Jul 05 2019 at 14:47, on Zulip):

I guess I think this is the same group

nikomatsakis (Jul 05 2019 at 14:47, on Zulip):

some people within prefer to do bisection etc, some might prefer to write PRs, some do both, but it feels like a common activity -- and a good fit for people looking to get into the compiler, or who just want to put in a few hours here and there to help out

centril (Jul 05 2019 at 14:48, on Zulip):

It feels a bit different in terms of skill-sets.
Minimizing and bisecting is easier than writing PRs, I think

centril (Jul 05 2019 at 14:48, on Zulip):

you don't need to understand the codebase to minimize

pnkfelix (Jul 05 2019 at 14:48, on Zulip):

or build the compiler locally

centril (Jul 05 2019 at 14:48, on Zulip):

(well, it helps if you understand lowering and MIR building, but it is by no means a must-have)

nikomatsakis (Jul 05 2019 at 14:49, on Zulip):

One other observation: probably a lot of these concerns apply to libs

davidtwco (Jul 05 2019 at 14:49, on Zulip):

Somewhat related: one task that I think might help see bugs get fixed quicker is if during triage, someone worked out what the expected behavior of some code is. I don't know if it is just me who looks at issues and isn't really sure if they're actually supposed to be compiling successfully, or causing an error, etc.

nikomatsakis (Jul 05 2019 at 14:49, on Zulip):

Just comes up less often I imagine

nikomatsakis (Jul 05 2019 at 14:49, on Zulip):

Anyway it comes down to this: I want to try and advertise this effort and I'm trying to figure out how to describe it :)

pnkfelix (Jul 05 2019 at 14:49, on Zulip):

@davidtwco hmm. Would a categorization like we used in WG-NLL help here?

nikomatsakis (Jul 05 2019 at 14:50, on Zulip):

(Also we need to talk about who's going to organize it)

davidtwco (Jul 05 2019 at 14:50, on Zulip):

davidtwco hmm. Would a categorization like we used in WG-NLL help here?

Yeah, I think something like that would help.

centril (Jul 05 2019 at 14:50, on Zulip):

@davidtwco good point; T-release triage could be clearer wrt. this... might need more labels

centril (Jul 05 2019 at 14:50, on Zulip):

(Tho if it is A-diagnostics it means it should be an error.)

pnkfelix (Jul 05 2019 at 14:50, on Zulip):

right but sometimes that means it is an error, but the error needs improvement

centril (Jul 05 2019 at 14:51, on Zulip):

Yep; C-enhancement A-diagnostics?

centril (Jul 05 2019 at 14:51, on Zulip):

also A-suggestion-diagnostics

nikomatsakis (Jul 05 2019 at 14:51, on Zulip):

Who is organizing the T-release wg-triage again?

centril (Jul 05 2019 at 14:51, on Zulip):

@nikomatsakis @dpc is

nikomatsakis (Jul 05 2019 at 14:51, on Zulip):

(Also, I think this is a good example of something that doesn't fit the "defined scope" t-compiler working groups -- it's more of an "ongoing effort")

nikomatsakis (Jul 05 2019 at 14:51, on Zulip):

(Not sure if that matters.)

nikomatsakis (Jul 05 2019 at 14:52, on Zulip):

(Just an opportunity to find a nice new term, wg is kind of overloaded)

centril (Jul 05 2019 at 14:52, on Zulip):

it's very fresh; they just had their first meeting on Discord and have only talked about PR triage (S-waiting-on) and how to ping y'all.

nikomatsakis (Jul 05 2019 at 14:53, on Zulip):

I have a question -- we have traditionally had T-compiler doing some amount of deciding what is p-high and not. But I think that is something that we could plausibly move to release

nikomatsakis (Jul 05 2019 at 14:53, on Zulip):

Basically: help us figure out what to fix, based on impact etc. Of course, part of the "Fix" might be saying "This is expected"

centril (Jul 05 2019 at 14:54, on Zulip):

I think that's reasonable; we can do that and then the compiler team can override if necessary

centril (Jul 05 2019 at 14:54, on Zulip):

@simulacrum @Pietro Albini ^---

nikomatsakis (Jul 05 2019 at 14:54, on Zulip):

maybe we need to write-up some notes, try to make a proposal, and try to have a "release team / compiler" joint chat to discuss?

nikomatsakis (Jul 05 2019 at 14:55, on Zulip):

(as a next step)

simulacrum (Jul 05 2019 at 14:55, on Zulip):

I've been hesitant historically to do so. Most people triaging don't have as much experience. But that does sound intriguing.

simulacrum (Jul 05 2019 at 14:56, on Zulip):

Probably wg-triage / compiler, perhaps, though

Vadim Petrochenkov (Jul 05 2019 at 14:56, on Zulip):

Importance of an issue and priority of its fix indeed look like more a release team territory.

centril (Jul 05 2019 at 14:56, on Zulip):

Of course, part of the "Fix" might be saying "This is expected"

Sometimes this also requires a language team member to review an issue ;)

pnkfelix (Jul 05 2019 at 14:56, on Zulip):

@simulacrum you mean hesitant to assign P-labels?

nikomatsakis (Jul 05 2019 at 14:56, on Zulip):

I feel like this si s a pretty important job. I want to give this group some...authority.

simulacrum (Jul 05 2019 at 14:56, on Zulip):

P-labels less so -- but things like "this is expected" even for me often feel like maybe even a lang team call

Vadim Petrochenkov (Jul 05 2019 at 14:56, on Zulip):

(That's for P-high issues, for P-medium and P-low I still don't see why those labels are useful.)

nikomatsakis (Jul 05 2019 at 14:57, on Zulip):

P-labels less so -- but things like "this is expected" even for me often feel like maybe even a lang team call

yeah that's sort of out of scope I think

centril (Jul 05 2019 at 14:57, on Zulip):

Also t-lib's call

nikomatsakis (Jul 05 2019 at 14:57, on Zulip):

but I think basically saying "This is worth you spending time on" is good

simulacrum (Jul 05 2019 at 14:57, on Zulip):

Sure, yeah, that makes sense

simulacrum (Jul 05 2019 at 14:57, on Zulip):

I definitely think we could use a I-nominated-but-like-not-urgent

pnkfelix (Jul 05 2019 at 14:57, on Zulip):

Do we need to ensure that wee have T-compiler members to have some voice during these decisions (about e.g. P-labels), in order to try to push back against having too many things on our plate?

simulacrum (Jul 05 2019 at 14:57, on Zulip):

(maybe that's P-med)

Vadim Petrochenkov (Jul 05 2019 at 14:58, on Zulip):

... an if release team has questions, then I-nominated is the way to reroute the issue to the compiler team.

nikomatsakis (Jul 05 2019 at 14:58, on Zulip):

Do we need to ensure that wee have T-compiler members to have some voice during these decisions (about e.g. P-labels), in order to try to push back against having too many things on our plate?

I think we should, this is probably the "compiler team ice-breaker" role

nikomatsakis (Jul 05 2019 at 14:58, on Zulip):

or part of it

pnkfelix (Jul 05 2019 at 14:58, on Zulip):

or should the problem of "too many things on plate" be handled in some other manner, after the fact?

centril (Jul 05 2019 at 14:58, on Zulip):

(do we want I-nominated-compiler?)

nikomatsakis (Jul 05 2019 at 14:58, on Zulip):

I think we should, this is probably the "compiler team ice-breaker" role

by this I just meant: compiler team should have some folks who are part of wg-triage :)

simulacrum (Jul 05 2019 at 14:58, on Zulip):

I'm not sure -- haven't read scrollback -- but maybe what we want is to for now just do I-nominated-compiler?

pnkfelix (Jul 05 2019 at 14:58, on Zulip):

I think at this point we need at least I-nominated-compiler and I-nominated-lang

nikomatsakis (Jul 05 2019 at 14:59, on Zulip):

yeah, we definitely need more nominated labels :)

simulacrum (Jul 05 2019 at 14:59, on Zulip):

or maybe I-attention + T-{foo}?

nikomatsakis (Jul 05 2019 at 14:59, on Zulip):

no, that's too ambiguous

centril (Jul 05 2019 at 14:59, on Zulip):

seems like just renaming I-nominated :P

simulacrum (Jul 05 2019 at 14:59, on Zulip):

with nominated meaning "urgent" and attention "good to look at"

pnkfelix (Jul 05 2019 at 14:59, on Zulip):

()if we always only labelled issues with just one team, then this wouldn't be an issue)

pnkfelix (Jul 05 2019 at 14:59, on Zulip):

(( but we obviously cannot do that ))

nikomatsakis (Jul 05 2019 at 15:00, on Zulip):

perhaps N-foo ("nominated for reason foo")

simulacrum (Jul 05 2019 at 15:00, on Zulip):

My concern historically has been that nominated issues feel like "please resolve this ASAP"

centril (Jul 05 2019 at 15:00, on Zulip):

@simulacrum Consider T-lang + T-compiler + P-high + I-nominated

nikomatsakis (Jul 05 2019 at 15:00, on Zulip):

this seems like a good thing to toss onto that triage hackmd

simulacrum (Jul 05 2019 at 15:00, on Zulip):

sure, okay, I can go for T-nominated-{team}

nikomatsakis (Jul 05 2019 at 15:00, on Zulip):

we're at 11am, I think we made some progress here but I"d like to figure out what it comes down to

simulacrum (Jul 05 2019 at 15:00, on Zulip):

(not sure if we should discuss now)

centril (Jul 05 2019 at 15:00, on Zulip):

@nikomatsakis what are the set of foos in N-foo?

pnkfelix (Jul 05 2019 at 15:01, on Zulip):

@centril JIT-created

nikomatsakis (Jul 05 2019 at 15:01, on Zulip):

I would go and look, but there are often a number of reasons we nominate things

nikomatsakis (Jul 05 2019 at 15:01, on Zulip):

e.g., "prioritize", "decide what semantics are", "impl complexity concern"

nikomatsakis (Jul 05 2019 at 15:01, on Zulip):

just grouping by team is prob a good start

centril (Jul 05 2019 at 15:01, on Zulip):

@pnkfelix does that have a tracing GC? ;)

simulacrum (Jul 05 2019 at 15:02, on Zulip):

I think there's a couple main buckets: "please make a decision" (though we also have I-needs-decision, fwiw); "please find a mentor"; "semantics decision"; "can we close?"

simulacrum (Jul 05 2019 at 15:02, on Zulip):

decision sort of falls into the others but is a bit more broad I guess

centril (Jul 05 2019 at 15:03, on Zulip):

(don't we have E-needs-mentor?)

nikomatsakis (Jul 05 2019 at 15:03, on Zulip):

we had at least a few things brought up:

some things we should toss for further discussion:

simulacrum (Jul 05 2019 at 15:03, on Zulip):

So - yes - but my impression is teams don't look at that

simulacrum (Jul 05 2019 at 15:04, on Zulip):

if someone says "I want to do this, but need help" I want some way to surface that beyond "let's just ping compiler team and hope for the best"

nikomatsakis (Jul 05 2019 at 15:04, on Zulip):

I added E-needs-mentor because, during impl period, I was spending some time just writing mmentoring instructions to help get people involved.

nikomatsakis (Jul 05 2019 at 15:05, on Zulip):

And I hoped to make that a more regular activity :)

nikomatsakis (Jul 05 2019 at 15:05, on Zulip):

I don't thikn it's seen a ton of use

Vadim Petrochenkov (Jul 05 2019 at 15:05, on Zulip):

how to stay on top of reviewing queue?

https://github.com/pulls/assigned + S-waiting-on labels?
(That's all I use basically.)

Vadim Petrochenkov (Jul 05 2019 at 15:06, on Zulip):

Or do you mean, as a team?

centril (Jul 05 2019 at 15:06, on Zulip):

https://github.com/pulls/assigned + S-waiting-on labels?

o.O; useful, thanks!

pnkfelix (Jul 05 2019 at 15:06, on Zulip):

Or do you mean, as a team?

I think this was intent. after all, it was a concern you yourself rose, right?

nikomatsakis (Jul 05 2019 at 15:06, on Zulip):

I have to go and time's up but the main thing I want to know is:

(I think figuring out how to find good mentors / assignees is definitely part of that)

davidtwco (Jul 05 2019 at 15:07, on Zulip):

Would it make sense to do triage on PRs for review difficulty?

simulacrum (Jul 05 2019 at 15:07, on Zulip):

I think talking to dpc is probably a good first step here, I don't want to step on toes

simulacrum (Jul 05 2019 at 15:07, on Zulip):

I think I don't have bandwidth for organizational work on this scale personally :)

nikomatsakis (Jul 05 2019 at 15:07, on Zulip):

Definitely, I imagined the next step would mostly be sending an e-mail with a summary of the thoughts and cc'ing dpc and a few others

nikomatsakis (Jul 05 2019 at 15:08, on Zulip):

(and trying to arrange a place to chat and refine)

nikomatsakis (Jul 05 2019 at 15:08, on Zulip):

I can plausibly do this =) but I was curious if somebody else had interest.

centril (Jul 05 2019 at 15:08, on Zulip):

It seems like something I should be involved in :slight_smile:

pnkfelix (Jul 05 2019 at 15:09, on Zulip):

(did we really address questions of how things will be handled with niko and myself absent? I guess we sort of thrashed about talking about reviews....)

davidtwco (Jul 05 2019 at 15:09, on Zulip):

Would it make sense to do triage on PRs for review difficulty?

e.g. I'd be happy to review simpler PRs in areas that I'm familiar with, but I'm very cautious of not being assigned things that I'm not qualified to review and making mistakes by approving code I shouldn't be. If that took some load off of team members then would that be good.

simulacrum (Jul 05 2019 at 15:10, on Zulip):

(did we really address questions of how things will be handled with niko and myself absent? I guess we sort of thrashed about talking about reviews....)

from a release team perspective it'd be good to know "who to ping" basically

davidtwco (Jul 05 2019 at 15:10, on Zulip):

(Zulip have a bot assign size-XL, size-L labels on incoming PRs)

simulacrum (Jul 05 2019 at 15:10, on Zulip):

i.e. point person

centril (Jul 05 2019 at 15:11, on Zulip):

@simulacrum there's the experts map, but it's sparse

simulacrum (Jul 05 2019 at 15:11, on Zulip):

@centril more so like "we need this PR approved tonight"

simulacrum (Jul 05 2019 at 15:11, on Zulip):

(for backports, etc.)

centril (Jul 05 2019 at 15:11, on Zulip):

oh

simulacrum (Jul 05 2019 at 15:12, on Zulip):

@davidtwco I've found that a lot of the time I can leave a comment essentially saying r=me if you feel that's reasonable, and the author has a better sense of whether you're qualified enough to review their patch :)

pnkfelix (Jul 05 2019 at 15:12, on Zulip):

@nikomatsakis can we have @nagisa be point person for such matters in our absence? I don't know if they signed on for that load.

simulacrum (Jul 05 2019 at 15:12, on Zulip):

fwiw I don't think it's a big load, but it is the sort of load that is always unexpected

nagisa (Jul 05 2019 at 15:15, on Zulip):

I will run meetings on whatever few weeks both of you are absent.

nagisa (Jul 05 2019 at 15:16, on Zulip):

unless a train falls onto me or something; at which point I’ll do my best to let it know that meeting(s) are cancelled or redelegate driving to somebody else ;)

Vadim Petrochenkov (Jul 05 2019 at 15:17, on Zulip):

@davidtwco

I'd be happy to review simpler PRs in areas that I'm familiar with

I think I'll have exactly what you want this weekend - a huge PR refactoring resolve with simple individual commits.
Now I know who I can assign it to!

centril (Jul 05 2019 at 15:18, on Zulip):

@davidtwco have fun with that =)

davidtwco (Jul 05 2019 at 15:19, on Zulip):

:nervous: :laughing:

centril (Jul 05 2019 at 15:19, on Zulip):

@davidtwco I have plans for huge PRs to refactor parser.rs into smaller files. =)

Wesley Wiser (Jul 05 2019 at 15:19, on Zulip):

I'm also happy to take some of those PRs on

Santiago Pastorino (Jul 05 2019 at 15:20, on Zulip):

I'm also happy to review stuff that I'm familiar with

Santiago Pastorino (Jul 05 2019 at 15:20, on Zulip):

which is not a lot probably but still if I can help I'd be happy to do so :)

davidtwco (Jul 05 2019 at 15:20, on Zulip):

We need an "not-quite-experts-yet" map.

centril (Jul 05 2019 at 15:21, on Zulip):

@davidtwco yes I thought the experts map was a bit too selective

centril (Jul 05 2019 at 15:21, on Zulip):

Can we have expertise-levels in that map maybe?

centril (Jul 05 2019 at 15:21, on Zulip):

1-5... or something like that

Santiago Pastorino (Jul 05 2019 at 15:22, on Zulip):

Would it make sense to do triage on PRs for review difficulty?

e.g. I'd be happy to review simpler PRs in areas that I'm familiar with, but I'm very cautious of not being assigned things that I'm not qualified to review and making mistakes by approving code I shouldn't be. If that took some load off of team members then would that be good.

I'd worry about the same thing, don't want to approve stuff that I'm not very strong about

davidtwco (Jul 05 2019 at 15:22, on Zulip):

I'd be more comfortable putting my name onto the expert map if it wasn't a binary expert-or-not.

simulacrum (Jul 05 2019 at 15:23, on Zulip):

I think levels are a great idea

centril (Jul 05 2019 at 15:23, on Zulip):

E.g. I feel comfortable reviewing most code in parser.rs that @Esteban Küber might throw at me but not comfortable with reviewing some of the macros stuff or weird Span infrastructure

simulacrum (Jul 05 2019 at 15:24, on Zulip):

One thing I will note is that a lot of the time if you don't think you know enough to review something or are struggling to understand that might be a good opportunity for comments/docs (perhaps in rustc-guide)

simulacrum (Jul 05 2019 at 15:25, on Zulip):

(so tell people!)

centril (Jul 05 2019 at 15:25, on Zulip):

Or in the code; sometimes when I ask for comments it is because of that

nikomatsakis (Jul 05 2019 at 15:26, on Zulip):

davidtwco yes I thought the experts map was a bit too selective

I wanted to rename from experts to something else in part for this reason

nikomatsakis (Jul 05 2019 at 15:27, on Zulip):

Also, yes, I highly recommend the "Review by interrogation" strategy -- ask the questions and then try to get somebody to answer (either PR author or somebody else)

centril (Jul 05 2019 at 15:27, on Zulip):

(knowledge map?)

Vadim Petrochenkov (Jul 05 2019 at 15:27, on Zulip):

We have a compiler team member vs contributor grades now, the expert map can use it too.

centril (Jul 05 2019 at 15:28, on Zulip):

So an action item is to add levels / grades to the experts map starting with the existing people?

centril (Jul 05 2019 at 15:29, on Zulip):

(a numbered system seems good, cause e.g. I'm not on the "compiler team contributors" but I think it's my duty as a language team member to learn how the compiler works)

nikomatsakis (Jul 08 2019 at 21:41, on Zulip):

I created minutes from this meeting:

https://github.com/rust-lang/compiler-team/pull/114

I also noted down the following action items:

Emerging from this meeting:

Last update: Nov 20 2019 at 01:35UTC