diff --git a/.gitignore b/.gitignore index be716e66a..9814fdebd 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,9 @@ vite.config.ts.timestamp-* # Temporary local design jigs. /apps/web/design-jig/ /apps/web/src/design-jig/ + +# Raw GitHub responses for evals/datasets/decisions-v1 (never commit) +/.cache/decisions/ + +# Python bytecode from dataset tooling +__pycache__/ diff --git a/evals/datasets/README.md b/evals/datasets/README.md index 1422b836c..ccafebcc8 100644 --- a/evals/datasets/README.md +++ b/evals/datasets/README.md @@ -35,6 +35,14 @@ Likewise, GitHub's [site terms](https://docs.github.com/en/site-policy/github-te do not by themselves clearly permit republication of complete third-party issue and discussion comments outside GitHub, so v2 uses attributed summaries. +## decisions-v1 + +[decisions-v1](decisions-v1/README.md) is a larger corpus of 127 adapted GitHub +decision threads in the same `async-discussion` format. Each thread has a +decision record annotated for Chopin's questions design. It passed the holdout +check on 2026-10-19. `bun test evals/datasets` runs its structural validator; +the verbatim-leak check needs the collector's raw cache. + ## Offline use ```ts diff --git a/evals/datasets/decisions-v1.test.ts b/evals/datasets/decisions-v1.test.ts new file mode 100644 index 000000000..4f3fde1b6 --- /dev/null +++ b/evals/datasets/decisions-v1.test.ts @@ -0,0 +1,43 @@ +import { describe, expect, test } from "bun:test"; +import { createHash } from "node:crypto"; +import { readFile } from "node:fs/promises"; +import manifest from "./decisions-v1/manifest.json"; + +let root = new URL("./decisions-v1/", import.meta.url); + +// The leak check needs the collector's git-ignored raw cache, so CI runs the +// structural checks only. +function validate(script: string) { + let run = Bun.spawnSync(["python3", "-I", new URL(script, root).pathname, "--no-leaks"]); + return { code: run.exitCode, output: run.stdout.toString() + run.stderr.toString() }; +} + +describe("decisions-v1 corpus", () => { + test("passes its validator", () => { + let result = validate("validate.py"); + expect(result.output).toContain(" 0 problems"); + expect(result.code).toBe(0); + }); + + test("cuts every case at its checkpoints the way v2 does", async () => { + expect(manifest.cases.length).toBeGreaterThan(0); + for (let entry of manifest.cases) { + let bytes = await readFile(new URL(entry.file.path, root)); + expect(bytes.byteLength).toBe(entry.file.bytes); + expect(createHash("sha256").update(bytes).digest("hex")).toBe(entry.file.sha256); + let document = JSON.parse(new TextDecoder().decode(bytes)); + expect(document).toMatchObject({ schemaVersion: 2, origin: "adapted", id: entry.id }); + expect(document.cutoffs.map((cutoff: { id: string }) => cutoff.id)).toEqual( + entry.checkpoints, + ); + for (let cutoff of document.cutoffs) { + let at = Date.parse(cutoff.at); + let visible = document.events.filter( + (event: { createdAt: string; visibleAt?: string }) => + Date.parse(event.visibleAt ?? event.createdAt) <= at, + ); + expect(visible[0]?.kind).toBe("opening"); + } + } + }); +}); diff --git a/evals/datasets/decisions-v1/README.md b/evals/datasets/decisions-v1/README.md new file mode 100644 index 000000000..506fb6778 --- /dev/null +++ b/evals/datasets/decisions-v1/README.md @@ -0,0 +1,200 @@ +# decisions-v1 + +A corpus of 127 real software decisions debated on public GitHub threads. It +has two jobs: + +1. **Coverage critique** for Chopin's questions feature. Each decision record + says which question shape it needed (explore, choice, tune, check), which + flows it exercised, and what it needed that the design does not offer. +2. **Evals.** Each case file uses the v2 `async-discussion` format from + [`../v2/discussions`](../v2/discussions/README.md), with 2–4 cutoffs at + meaningful moments. + +| File | Contents | +| ------------------------------------ | ----------------------------------------------------------------------------- | +| [`cases/*.json`](cases) | 127 adapted threads, 8,367 paraphrased events | +| [`decisions.jsonl`](decisions.jsonl) | 132 decision records; a thread may hold more than one | +| [`manifest.json`](manifest.json) | Path, SHA-256, bytes, source URL, retrieval time and cutoff purposes per case | +| [`stats.json`](stats.json) | Shape, flow and gap distributions, plus process shares | +| [`candidates.json`](candidates.json) | Every one of the 192 screened candidates and its outcome | +| [`validate.py`](validate.py) | Schema, enum, identity, manifest and licensing-leak checks | +| [`tools/`](tools) | The fetcher, normaliser, assembler, packager and annotation guide | + +## Provenance + +The 192 candidates came from two sources: + +- **24 seeds** from an earlier cloud session's scratch corpus. +- **168 search hits** from `gh search issues`, `gh search prs` and GraphQL + discussion search, targeted at the six source quotas below. + +Every candidate was refetched through the GitHub API (`gh api`) on +2026-10-18; each case records its exact `retrievedAt`: + +- **Discussions:** GraphQL, with both comment levels paginated. +- **Issues:** REST issue, comments, timeline and reactions. +- **PRs:** the issue endpoints plus reviews, review comments and the changed-file + count. + +Raw responses live only in the git-ignored `.cache/decisions/`. +`tools/normalise.py` turns each thread into an event skeleton. Every structural +field comes from the API and is never typed by hand: IDs, actors, `actorId`, +`actorType`, times, URLs and reply parents. + +Annotation was done by Claude subagents, one per batch of threads, following +[`tools/ANNOTATING.md`](tools/ANNOTATING.md). Each subagent: + +- read the digest, screened the thread, +- wrote one paraphrased summary per event, +- placed the cutoffs, and +- filled the decision record. + +`tools/assemble.py` merges the summaries into the skeleton. +`tools/check_ann.py` and `validate.py` checked every annotation. Two +cross-references that carried the decision were followed one hop and merged +into their case: a Node.js TSC vote PR and a Home Assistant core PR. Other +followed links are cited in `sources` only. + +Of the 192 candidates: + +- **127 were kept** (14 of them seeds). +- **20 were discarded**: support Q&A, +1 piles, a single-author memo, or a + design settled elsewhere. +- **45 were fetched but not screened**, because their quota was already met + when screening stopped. Six are seeds: the very long Go threads #57001, + #48429, #49085, #19412 and discussions 58409 and 54763. `candidates.json` + records every status and reason. The v2 discussion threads were excluded. + +## Holdout check + +On 2026-10-19 every candidate, case source, related thread, decision-record +source and implementation link was checked against the 8 holdout threads: 5 for +validation from eval-hub partition snapshot +`dda78480888859ae3eec90846c1263cd28552d05`, and 3 sealed for final tests. None +matched, and no kept thread or source document links to any of them. Every +thread URL in that snapshot's conversation corpus was also checked, and none +matched. The holdout URLs are deliberately not recorded here. Rerun +`tools/holdout_check.py ` after adding cases. + +## Licensing approach + +GitHub's terms do not clearly permit republishing third-party comments, so +committed files contain **attributed paraphrases only**: + +- Each event's `summary` is a new one- or two-sentence description of the + position taken, with the actor's role made clear. +- Nothing is quoted. +- Logins are public handles. + +`validate.py` compares every summary and every free-text record field with that +case's own cached source threads. It fails on any run of 8 or more consecutive +words that also appears in the source. Annotators reworded every hit; the +committed set has none. The check needs the local raw cache. Without it, the +check warns and skips. + +A few annotators chose not to include linked threads with abusive comments, and +hidden off-topic comments are summarised only as hidden. + +## Counts + +Source quotas (target vs kept): + +| Quota | Target | Kept | +| -------------------------------------------------- | -----: | ---: | +| Product, UI/UX and behaviour (`product-ui`) | 30 | 35 | +| Debates inside PR reviews (`pr-debate`) | 20 | 26 | +| Formal processes (`formal-process`) | 15 | 24 | +| Engineering-team decisions in issues (`eng-issue`) | 15 | 20 | +| Small teams and solo maintainers (`small-team`) | 10 | 11 | +| Open choice (`open-choice`) | 10 | 11 | + +Annotators reassigned a thread's quota when it fitted better. For example, Home +Assistant architecture threads settled by an ADR moved to `formal-process`, and +repos with more than five regular contributors left `small-team`. The overrun +comes from parallel batches finishing after the quotas filled; no kept case +was dropped to hit a target. + +| Domain | Decisions | +| ------------------------------------------ | --------: | +| ui-ux | 32 | +| product-behaviour | 22 | +| api-design | 22 | +| architecture | 11 | +| compatibility, language-design, data-model | 8 each | +| process-governance | 6 | +| tooling, naming | 5 each | +| security | 3 | +| infra, dependency | 1 each | + +| Outcome (`how`) | Decisions | +| ------------------- | --------: | +| maintainer-decision | 78 | +| consensus | 18 | +| fcp | 12 | +| default/no-action | 10 | +| abandoned | 7 | +| unclear | 4 | +| vote | 3 | + +117 of the 132 decisions (89%) reached a decision. The rest are open, abandoned +or postponed. + +| Primary shape | Decisions | As secondary shape | +| ------------- | --------: | -----------------: | +| choice | 93 | 30 | +| mixed | 11 | — | +| check | 11 | 32 | +| explore | 10 | 33 | +| tune | 7 | 22 | + +The median decision involved 18 human participants and took 188 days from +opening to decision. See [`stats.json`](stats.json) for the gap clusters and +process shares. + +## Known limits + +- **One annotator per thread.** Each case was annotated once by a model, with no + second annotator and no agreement measure. Shapes, gaps, roles and outcomes + are judgements. Read the record, not just the label. +- **Gap names are free text.** `stats.json` folds them into clusters using the + keyword rules in `tools/package.py`. Single-occurrence gaps that match no rule + appear as `other: …`. +- **Sub-questions are over-reported.** Annotators listed sub-questions for + nearly every decision (98.5%), so `shareWithSubQuestions` says little. The + coupling-gap share (38.6%) is the more useful measure. +- **Edits.** Summaries describe each comment's final text. `editedAt` is + recorded, but no event sets `visibleAt`, so a cutoff may show an edit's + content before the edit happened. +- **The 150-event cap.** Two cases, `go-try-builtin` (822 source events) and + `nextjs-app-router-file-conventions` (481), keep the opening, maintainers, + bots, process events and the most-reacted comments. Their records are marked + `fidelity.truncated`. `participants.count`, `comments` and `reactionsTotal` + always count the whole thread. +- **Missing close events.** GitHub's timeline API omitted the close event on + 7 issues and PRs, including Go's `try` proposal. Those cases carry a close + event built from `closed_at`, with the actor recorded as `unknown`. +- **What `implementedIn` cites.** Go changes cite `go.dev/cl` Gerrit changes, + and Node.js PRs show as closed rather than merged because they land through + the commit queue. An open, unmerged PR is never listed as an implementation. +- **Off-platform evidence.** Meetings, Discord, blog posts and private data are + recorded only as other people reported them in the thread. They were not + fetched. +- **REST issue comments are flat.** Their `parentId` is the opening. Discussions + and PR review threads keep their true reply structure. +- **Not a gold set.** As with v2, these are development inputs. A close or merge + event is evidence of an outcome, not a verified Chopin settlement. + +## Reproducing + +```bash +python3 -I evals/datasets/decisions-v1/tools/fetch.py # cached, idempotent +python3 -I evals/datasets/decisions-v1/tools/normalise.py +python3 -I evals/datasets/decisions-v1/tools/assemble.py # needs .cache/decisions/ann/ +python3 -I evals/datasets/decisions-v1/tools/package.py +python3 -I evals/datasets/decisions-v1/validate.py +bun test evals/datasets # structural checks, no cache needed +``` + +The annotation files in `.cache/decisions/ann/` are not committed. They contain +only paraphrases, but their content is already fully represented in `cases/` +and `decisions.jsonl`. diff --git a/evals/datasets/decisions-v1/candidates.json b/evals/datasets/decisions-v1/candidates.json new file mode 100644 index 000000000..80477b98b --- /dev/null +++ b/evals/datasets/decisions-v1/candidates.json @@ -0,0 +1,1603 @@ +{ + "note": "Every screened candidate. status: pending|kept|discarded|holdout|unfetchable. Holdout check passed on 2026-10-19: none of the 8 holdout threads is present.", + "candidates": [ + { + "url": "https://github.com/golang/go/issues/32437", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-try-builtin" + }, + { + "url": "https://github.com/golang/go/issues/57001", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/issues/60078", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-loopvar-per-iteration" + }, + { + "url": "https://github.com/golang/go/issues/48429", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/issues/49085", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/issues/19412", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/discussions/58409", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/discussions/54763", + "provisionalQuota": "formal-process", + "source": "seed:cloud-session", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/mastodon/mastodon/issues/12753", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "mastodon-quote-toots" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/717", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "home-assistant-device-ip-mac-display" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/1340", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "homeassistant-template-delay-ui" + }, + { + "url": "https://github.com/home-assistant/frontend/discussions/8905", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "ha-toggle-confirmation" + }, + { + "url": "https://github.com/home-assistant/frontend/discussions/22288", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "frontend-section-border-background" + }, + { + "url": "https://github.com/microsoft/vscode/issues/98161", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-pinned-tab-sizing" + }, + { + "url": "https://github.com/microsoft/vscode/issues/330693", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-modern-ui-default-optin" + }, + { + "url": "https://github.com/microsoft/vscode/issues/334285", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-modern-ui-classic-removal" + }, + { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/15203", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "discarded", + "reason": "Help-category support Q&A: users ask why buttons lost the pointer cursor and are pointed to the upgrade guide; the design choice was made elsewhere and is not weighed here." + }, + { + "url": "https://github.com/zed-industries/zed/discussions/26344", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "discarded", + "reason": "Feature request with user +1s and one contributor explaining the current limit; no maintainer weighs options and it was closed administratively when the category moved to Discord." + }, + { + "url": "https://github.com/zed-industries/zed/discussions/26857", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "discarded", + "reason": "Feature-request pile-on of +1s and workarounds; no maintainer engages and no options are weighed toward a decision." + }, + { + "url": "https://github.com/logseq/logseq/discussions/5115", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "logseq-hierarchy-above-backlinks" + }, + { + "url": "https://github.com/outline/outline/discussions/3326", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "outline-raw-markdown-mode" + }, + { + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "excalidraw-handwritten-font-search" + }, + { + "url": "https://github.com/excalidraw/excalidraw/issues/1957", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "excalidraw-new-drawing-button" + }, + { + "url": "https://github.com/tldraw/tldraw/issues/7548", + "provisionalQuota": "product-ui", + "source": "seed:cloud-session", + "status": "discarded", + "reason": "Single-author, AI-drafted options memo with no replies from anyone else; a bot closed it as stale without any choice being made." + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/1287", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "homeassistant-addons-to-apps" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/1021", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "homeassistant-floors-vs-nested-areas" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/1185", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "home-assistant-entity-name-editing" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/668", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "home-assistant-numeric-state-unavailable" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/509", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "home-assistant-network-interface-binding" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/929", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "home-assistant-event-entity" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/894", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "home-assistant-lawn-mower-entity" + }, + { + "url": "https://github.com/home-assistant/architecture/issues/378", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "home-assistant-choose-branch-syntax" + }, + { + "url": "https://github.com/home-assistant/architecture/issues/230", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "home-assistant-last-changed-restart" + }, + { + "url": "https://github.com/home-assistant/architecture/issues/127", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "home-assistant-fan-speed-percentage" + }, + { + "url": "https://github.com/zed-industries/zed/discussions/33773", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "zed-single-file-diff-view" + }, + { + "url": "https://github.com/zed-industries/zed/discussions/54150", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "zed-manual-file-tree-refresh" + }, + { + "url": "https://github.com/zed-industries/zed/discussions/55157", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "zed-disable-threads-sidebar" + }, + { + "url": "https://github.com/zed-industries/zed/discussions/55183", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "zed-hide-title-status-bar" + }, + { + "url": "https://github.com/zed-industries/zed/discussions/26511", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "zed-commit-log-graph" + }, + { + "url": "https://github.com/microsoft/vscode/issues/30522", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-dim-unfocused-views" + }, + { + "url": "https://github.com/microsoft/vscode/issues/102118", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-scm-single-view-backlash" + }, + { + "url": "https://github.com/microsoft/vscode/issues/15684", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-centered-editor-layout" + }, + { + "url": "https://github.com/microsoft/vscode/issues/39441", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-completion-label-details" + }, + { + "url": "https://github.com/microsoft/vscode/issues/8939", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "vscode-quick-open-eager-preview" + }, + { + "url": "https://github.com/vercel/next.js/discussions/27953", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "nextjs-global-css-imports-rfc" + }, + { + "url": "https://github.com/vercel/next.js/discussions/71727", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Tracking thread for an already-decided feature (Node.js middleware runtime); the rest is support Q&A, canary bug reports and complaints, with no choice settled here." + }, + { + "url": "https://github.com/vercel/next.js/discussions/73753", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "nextjs-forbidden-unauthorized-rfc" + }, + { + "url": "https://github.com/shadcn-ui/ui/discussions/2930", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Support Q&A: users ask and guess what the Default and New York styles differ in; no maintainer engages and no design choice is weighed in the thread." + }, + { + "url": "https://github.com/shadcn-ui/ui/discussions/859", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request where users only share their own multi-select implementations and fixes; no maintainer engages and no design choice is weighed or settled." + }, + { + "url": "https://github.com/shadcn-ui/ui/discussions/1694", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request that turned into users sharing spinner snippets and support Q&A; no maintainer engagement or weighed design choice." + }, + { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "tailwindcss-prettier-whitespace-dedupe" + }, + { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "tailwindcss-variant-grouping" + }, + { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/5969", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Help-category support thread of workarounds for a preflight button reset; the only design response (lower selector specificity in 3.4.2) was decided elsewhere and announced without debate here." + }, + { + "url": "https://github.com/excalidraw/excalidraw/discussions/3879", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Support Q&A: a maintainer explains how to self-host collaboration, and the rest is setup and publishing help with no project design choice weighed." + }, + { + "url": "https://github.com/excalidraw/excalidraw/discussions/5515", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "excalidraw-wheel-zoom-mode" + }, + { + "url": "https://github.com/excalidraw/excalidraw/discussions/2533", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "excalidraw-paste-chart-type-choice" + }, + { + "url": "https://github.com/penpot/penpot/issues/768", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request with years of status pings; no options weighed in-thread and the design happened off-platform." + }, + { + "url": "https://github.com/penpot/penpot/discussions/1477", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request for physical units with only user workarounds and a guess from a contributor; no options weighed by the team." + }, + { + "url": "https://github.com/penpot/penpot/discussions/475", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "penpot-desktop-app" + }, + { + "url": "https://github.com/outline/outline/discussions/2256", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "outline-document-tags" + }, + { + "url": "https://github.com/outline/outline/discussions/1535", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request for comments answered at once as already in development; the rest is status pings and use cases, with no options weighed." + }, + { + "url": "https://github.com/outline/outline/discussions/3440", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "outline-database-board-views" + }, + { + "url": "https://github.com/logseq/logseq/discussions/4827", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request for F-Droid listing made of user +1s; the only maintainer reply notes a closed-source blocker, and inclusion happened in an external F-Droid merge request with no options weighed here." + }, + { + "url": "https://github.com/withastro/roadmap/discussions/1246", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "astro-remove-script-define-vars" + }, + { + "url": "https://github.com/withastro/roadmap/discussions/995", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "astro-inline-script-processing" + }, + { + "url": "https://github.com/withastro/roadmap/discussions/664", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "astro-scripts-only-when-rendered" + }, + { + "url": "https://github.com/mastodon/mastodon/issues/853", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "mastodon-toot-text-formatting" + }, + { + "url": "https://github.com/mastodon/mastodon/issues/861", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "mastodon-local-only-posts" + }, + { + "url": "https://github.com/mastodon/mastodon/issues/1053", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "mastodon-browse-remote-local-timeline" + }, + { + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "provisionalQuota": "product-ui", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "appflowy-dark-mode-palette" + }, + { + "url": "https://github.com/excalidraw/excalidraw/pull/338", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "excalidraw-arrow-binding-default" + }, + { + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "excalidraw-web-embeds-design" + }, + { + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "excalidraw-zen-mode-exit" + }, + { + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "excalidraw-export-dialog-redesign" + }, + { + "url": "https://github.com/zed-industries/zed/pull/33616", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/zed-industries/zed/pull/44827", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "zed-smooth-scroll-input-handling" + }, + { + "url": "https://github.com/zed-industries/zed/pull/46478", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/zed-industries/zed/pull/21675", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/zed-industries/zed/pull/39539", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/zed-industries/zed/pull/22668", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/zed-industries/zed/pull/20400", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/vercel/next.js/pull/17770", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/vercel/next.js/pull/4943", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "nextjs-strict-csp-support" + }, + { + "url": "https://github.com/sveltejs/svelte/pull/15069", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/sveltejs/svelte/pull/12409", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "svelte-create-raw-snippet-shape" + }, + { + "url": "https://github.com/sveltejs/svelte/pull/9549", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "svelte-css-nesting-approach" + }, + { + "url": "https://github.com/sveltejs/svelte/pull/5481", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "svelte-dynamic-element-attr" + }, + { + "url": "https://github.com/vitejs/vite/pull/3932", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "vite-node-worker-threads" + }, + { + "url": "https://github.com/vitejs/vite/pull/10632", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "vite-lib-auto-externalize-deps" + }, + { + "url": "https://github.com/vitejs/vite/pull/20609", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "vite-optimizer-browserhash-restart" + }, + { + "url": "https://github.com/tldraw/tldraw/pull/6862", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/tldraw/tldraw/pull/6739", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/tldraw/tldraw/pull/8216", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/helix-editor/helix/pull/9143", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "helix-persistent-state" + }, + { + "url": "https://github.com/helix-editor/helix/pull/2377", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "helix-file-explorer-pr" + }, + { + "url": "https://github.com/helix-editor/helix/pull/11149", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/helix-editor/helix/pull/11285", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "helix-picker-file-explorer" + }, + { + "url": "https://github.com/microsoft/TypeScript/pull/49886", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "typescript-node12-esm-mode" + }, + { + "url": "https://github.com/nodejs/node/pull/31806", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "discarded", + "reason": "A refactor PR dominated by CI runs and test fixes; reviewers approved without contesting the approach, so no design choice was genuinely weighed." + }, + { + "url": "https://github.com/nodejs/node/pull/38810", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "node-rm-windows-eperm" + }, + { + "url": "https://github.com/nodejs/node/pull/33035", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "node-incomingmessage-autodestroy" + }, + { + "url": "https://github.com/ghostty-org/ghostty/pull/3931", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "ghostty-official-snap" + }, + { + "url": "https://github.com/ghostty-org/ghostty/pull/13745", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "ghostty-broadcast-groups" + }, + { + "url": "https://github.com/astral-sh/uv/pull/7481", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "uv-named-explicit-indexes" + }, + { + "url": "https://github.com/denoland/deno/pull/19070", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "deno-deny-flags-strict-check" + }, + { + "url": "https://github.com/denoland/deno/pull/20337", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "deno-jupyter-rich-display" + }, + { + "url": "https://github.com/microsoft/vscode/pull/39972", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "vscode-windows-custom-titlebar" + }, + { + "url": "https://github.com/microsoft/vscode/pull/181729", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "pr-debate", + "caseId": "vscode-fixed-width-tabs" + }, + { + "url": "https://github.com/astral-sh/ruff/pull/21385", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/astral-sh/ruff/pull/9266", + "provisionalQuota": "pr-debate", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/home-assistant/architecture/issues/483", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "home-assistant-zwave-js-switch" + }, + { + "url": "https://github.com/home-assistant/architecture/discussions/902", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/home-assistant/architecture/issues/287", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "home-assistant-require-code-owner" + }, + { + "url": "https://github.com/home-assistant/architecture/issues/192", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "homeassistant-release-cycle" + }, + { + "url": "https://github.com/pnpm/pnpm/issues/2891", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "pnpm-pre-post-scripts" + }, + { + "url": "https://github.com/pnpm/pnpm/issues/8087", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "pnpm-package-manager-strict-default" + }, + { + "url": "https://github.com/pnpm/pnpm/issues/11633", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/denoland/deno/issues/5432", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "deno-typescript-checker-in-rust" + }, + { + "url": "https://github.com/denoland/deno/issues/12763", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "deno-permissions-in-config" + }, + { + "url": "https://github.com/eslint/eslint/issues/17522", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "eslint-deprecate-formatting-rules" + }, + { + "url": "https://github.com/eslint/eslint/issues/20442", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "eslint-codemod-replace-migrators" + }, + { + "url": "https://github.com/eslint/eslint/issues/19985", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "eslint-native-ts-config-flag" + }, + { + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "rust-analyzer-proc-macro-syntax-fixup" + }, + { + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "rust-analyzer-upstream-inlay-hints" + }, + { + "url": "https://github.com/scipy/scipy/issues/20334", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/micropython/micropython/issues/2603", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/godotengine/godot/issues/18591", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "godot-object-metadata-fate" + }, + { + "url": "https://github.com/MonoGame/MonoGame/issues/7204", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "crystal-io-argument-position" + }, + { + "url": "https://github.com/zephyrproject-rtos/zephyr/issues/22748", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/prettier/prettier/issues/10918", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/prettier/prettier/issues/6360", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "prettier-final-newline-option" + }, + { + "url": "https://github.com/oven-sh/bun/issues/887", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "discarded", + "reason": "Missing-feature request dominated by +1s and status pings; no design alternatives are weighed, and the only choice (splitting server support into a new issue) is a one-line maintainer housekeeping call." + }, + { + "url": "https://github.com/helix-editor/helix/issues/1125", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/helix-editor/helix/issues/1976", + "provisionalQuota": "eng-issue", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "helix-integrated-terminal" + }, + { + "url": "https://github.com/golang/go/issues/32825", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/golang/go/issues/60204", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-cmp-or" + }, + { + "url": "https://github.com/golang/go/issues/62483", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-unique-handle" + }, + { + "url": "https://github.com/golang/go/issues/46505", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-slice-to-array-conversion" + }, + { + "url": "https://github.com/golang/go/issues/28152", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-drop-binary-only-packages" + }, + { + "url": "https://github.com/golang/go/issues/59928", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-testing-output-writer" + }, + { + "url": "https://github.com/golang/go/issues/68780", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "go-xterm-pluggable-history" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/3537", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/1615", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rfcs-crate-changelogs" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rust-cargo-feature-docs" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rfcs-bool-to-option-methods" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rfcs-abort-by-default" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rfcs-derive-from-single-field" + }, + { + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "rust-check-cfg-rfc" + }, + { + "url": "https://github.com/tc39/proposal-pipeline-operator/issues/167", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/tc39/proposal-pipeline-operator/issues/205", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/tc39/proposal-decorators/issues/69", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "tc39-import-reflection-extensible-syntax" + }, + { + "url": "https://github.com/tc39/proposal-global/issues/32", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/nodejs/TSC/issues/1445", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/nodejs/TSC/issues/1104", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "tsc-primordials-error-path-vote" + }, + { + "url": "https://github.com/nodejs/TSC/issues/1012", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "nodejs-tsc-yarn-corepack-vote" + }, + { + "url": "https://github.com/nodejs/TSC/issues/1438", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "formal-process", + "caseId": "nodejs-remove-primordials" + }, + { + "url": "https://github.com/kubernetes/enhancements/pull/4213", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/kubernetes/enhancements/pull/3004", + "provisionalQuota": "formal-process", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/casey/just/issues/383", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/casey/just/issues/626", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "just-parallel-dependencies" + }, + { + "url": "https://github.com/casey/just/issues/531", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/casey/just/issues/11", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "just-format-string-interpolation" + }, + { + "url": "https://github.com/casey/just/discussions/2934", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "just-telemetry-hooks" + }, + { + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "ripgrep-built-in-pager" + }, + { + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "ripgrep-max-columns" + }, + { + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "ripgrep-file-hyperlinks" + }, + { + "url": "https://github.com/BurntSushi/ripgrep/issues/1497", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/sharkdp/bat/issues/1053", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "bat-builtin-pager" + }, + { + "url": "https://github.com/sharkdp/bat/issues/2455", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "eng-issue", + "caseId": "bat-debian-batcat-name" + }, + { + "url": "https://github.com/junegunn/fzf/discussions/2528", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "fzf-default-opts-file" + }, + { + "url": "https://github.com/junegunn/fzf/issues/587", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "fzf-preview-window" + }, + { + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "zoxide-fish-cd-alias-recursion" + }, + { + "url": "https://github.com/ajeetdsouza/zoxide/issues/433", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "discarded", + "reason": "Support/debugging thread about a purged database; no design choice, closed as not reproducible." + }, + { + "url": "https://github.com/dandavison/delta/issues/447", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "small-team", + "caseId": "delta-auto-light-dark-detection" + }, + { + "url": "https://github.com/dandavison/delta/issues/72", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/atuinsh/atuin/issues/51", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "discarded", + "reason": "Support Q&A about disabling the up-arrow binding; the maintainer agreed at once to make it configurable and the rest is workarounds and doc links, with no options genuinely weighed." + }, + { + "url": "https://github.com/atuinsh/atuin/issues/798", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "atuin-classic-up-arrow-from-db" + }, + { + "url": "https://github.com/jesseduffield/lazygit/discussions/2803", + "provisionalQuota": "small-team", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "product-ui", + "caseId": "lazygit-worktree-ux" + }, + { + "url": "https://github.com/microsoft/vscode/issues/326328", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "vscode-modern-ui-default" + }, + { + "url": "https://github.com/prettier/prettier/issues/7512", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "prettier-generator-star-revert" + }, + { + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "aspnetcore-mvc-in-shared-framework" + }, + { + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "uuid6-alt-text-encoding" + }, + { + "url": "https://github.com/prettier/prettier/issues/9561", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "prettier-nested-ternaries" + }, + { + "url": "https://github.com/tc39/proposal-class-fields/issues/100", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "not-screened", + "reason": "Fetched but not annotated: its quota was already met when screening stopped." + }, + { + "url": "https://github.com/vercel/next.js/discussions/37136", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "kept", + "reason": null, + "quota": "open-choice", + "caseId": "nextjs-app-router-file-conventions" + }, + { + "url": "https://github.com/shadcn-ui/ui/discussions/2262", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "discarded", + "reason": "Feature request dominated by +1 comments with no maintainer participation; the scattered user debate over Solid primitives libraries and community ports has no one able to decide and never forms a question the project weighs." + }, + { + "url": "https://github.com/pnpm/pnpm/issues/7072", + "provisionalQuota": "open-choice", + "source": "search:gh", + "status": "discarded", + "reason": "Implementation tracking issue: the catalogs design was settled in a separate RFC, and this thread is task updates, bug reports and feature requests; the one alternative raised was dismissed as out of scope without weighing." + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/appflowy-dark-mode-palette.json b/evals/datasets/decisions-v1/cases/appflowy-dark-mode-palette.json new file mode 100644 index 000000000..ffcdd3e20 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/appflowy-dark-mode-palette.json @@ -0,0 +1,334 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "appflowy-dark-mode-palette", + "title": "Which palette AppFlowy's dark mode should use", + "source": { + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "retrievedAt": "2026-10-18T07:20:50.815119+00:00", + "repository": "AppFlowy-IO/AppFlowy", + "number": 31 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-11-22T00:00:00Z" + }, + { + "id": "c2", + "at": "2021-12-13T06:00:00Z" + }, + { + "id": "c3", + "at": "2021-12-15T12:00:00Z" + }, + { + "id": "c4", + "at": "2021-12-16T00:00:00Z" + } + ], + "events": [ + { + "id": "appflowy-31:issue:31", + "kind": "opening", + "actor": "rhinotastic", + "createdAt": "2021-11-18T22:10:22Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "summary": "The opener requests a dark mode, or built-in themes more generally, saying nearly every user would benefit.", + "actorId": 47990498, + "actorType": "human" + }, + { + "id": "appflowy-31:process:renamed:2021-11-18T22:10:35Z", + "kind": "process", + "actor": "rhinotastic", + "createdAt": "2021-11-18T22:10:35Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "summary": "The opener retitles the request from an untitled template to Darkmode.", + "actorId": 47990498, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:973868335", + "kind": "comment", + "actor": "SleepDaemon", + "createdAt": "2021-11-19T08:38:49Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-973868335", + "summary": "A user agrees, saying the bright interface strains sensitive eyes and limits how long they can work.", + "actorId": 88533953, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:974554767", + "kind": "comment", + "actor": "MostHated", + "createdAt": "2021-11-20T00:23:10Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-974554767", + "summary": "A user says the app is too bright for long sessions even with a dimmed monitor and will follow the thread.", + "actorId": 3442753, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:974637197", + "kind": "comment", + "actor": "alilosoft", + "createdAt": "2021-11-20T11:41:04Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-974637197", + "summary": "A user new to Flutter asks the maintainers whether the app uses a custom Material theme and offers to work on the issue with guidance.", + "actorId": 25110612, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:974898527", + "kind": "comment", + "actor": "notd5a-alt", + "createdAt": "2021-11-21T21:25:22Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-974898527", + "summary": "A contributor offers to build it and asks what accent colours people want and where the dark mode toggle should sit.", + "actorId": 87091319, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:975114368", + "kind": "comment", + "actor": "rileyhawk1417", + "createdAt": "2021-11-22T04:54:30Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-975114368", + "summary": "A maintainer suggests starting with a simple light and dark switch and leaving custom themes for later.", + "actorId": 42723553, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:976124589", + "kind": "comment", + "actor": "kiralabs", + "createdAt": "2021-11-23T03:12:22Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-976124589", + "summary": "A user argues most people pick one theme and keep it, so swappable theme config files and a theme picker would serve users, including people who like heavy customisation, better than a toggle.", + "actorId": 61782679, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:976162186", + "kind": "comment", + "actor": "notd5a-alt", + "createdAt": "2021-11-23T04:34:43Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-976162186", + "summary": "The contributor says they will attempt the feature.", + "actorId": 87091319, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:989919065", + "kind": "comment", + "actor": "rileyhawk1417", + "createdAt": "2021-12-09T14:46:15Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-989919065", + "summary": "A maintainer asks the contributor for progress and says they are themselves aligning fonts and backgrounds.", + "actorId": 42723553, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:990026434", + "kind": "comment", + "actor": "notd5a-alt", + "createdAt": "2021-12-09T16:44:51Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-990026434", + "summary": "The contributor says they have been too busy, and suggests theming might be better built after the planned extension system lands, so users could make their own themes.", + "actorId": 87091319, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:990906887", + "kind": "comment", + "actor": "rileyhawk1417", + "createdAt": "2021-12-10T11:51:12Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-990906887", + "summary": "The maintainer says they are now working on it and wanted to know if anyone else had tried.", + "actorId": 42723553, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:992044332", + "kind": "comment", + "actor": "branhillsdesign", + "createdAt": "2021-12-13T02:07:50Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-992044332", + "summary": "A designer says they have taken the colours from the theme files and are mocking up dark mode options in Figma, mapped to existing colour tokens.", + "actorId": 51428934, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:992065113", + "kind": "comment", + "actor": "branhillsdesign", + "createdAt": "2021-12-13T03:04:35Z", + "editedAt": "2021-12-13T14:46:15Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-992065113", + "summary": "The designer posts three dark palettes, one tinted with the purple secondary brand colour, one in untinted greys and one tinted with the blue main brand colour, next to the current light theme, warns accessibility is untested, and links an external straw poll.", + "actorId": 51428934, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:992347148", + "kind": "comment", + "actor": "SleepDaemon", + "createdAt": "2021-12-13T11:02:35Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-992347148", + "summary": "A user votes for option 2.", + "actorId": 88533953, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:992359630", + "kind": "comment", + "actor": "rileyhawk1417", + "createdAt": "2021-12-13T11:16:19Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-992359630", + "summary": "A maintainer prefers option 2 as calmer.", + "actorId": 42723553, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:992542013", + "kind": "comment", + "actor": "MostHated", + "createdAt": "2021-12-13T14:35:27Z", + "editedAt": "2021-12-13T14:36:04Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-992542013", + "summary": "A user votes for option 2, the untinted greys.", + "actorId": 3442753, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:993094775", + "kind": "comment", + "actor": "mrtolkien", + "createdAt": "2021-12-14T02:23:20Z", + "editedAt": "2021-12-14T02:23:32Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-993094775", + "summary": "A user suggests starting from an established open scheme such as Solarized, Monokai or Dracula rather than designing a new one, so users feel at home.", + "actorId": 8489650, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:993095680", + "kind": "comment", + "actor": "annieappflowy", + "createdAt": "2021-12-14T02:25:25Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-993095680", + "summary": "A maintainer picks option 2, would use the left panel's grey for the editor too, and shares Obsidian's dark mode as a reference.", + "actorId": 12026239, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:993096282", + "kind": "comment", + "actor": "annieappflowy", + "createdAt": "2021-12-14T02:27:03Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-993096282", + "summary": "The same maintainer agrees that familiar schemes help users feel at home.", + "actorId": 12026239, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:995269689", + "kind": "comment", + "actor": "branhillsdesign", + "createdAt": "2021-12-15T22:39:08Z", + "editedAt": "2021-12-15T22:40:03Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-995269689", + "summary": "The designer replies that most popular editor schemes fail WCAG contrast and do not cover an app that uses colour for organisation, so they extended the MVP's existing colours with Obsidian influences. They post refined dark and light palettes, propose renaming colour variables by purpose for future theme authors, and ask for help implementing it in Flutter.", + "actorId": 51428934, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:995692289", + "kind": "comment", + "actor": "rileyhawk1417", + "createdAt": "2021-12-16T11:10:55Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-995692289", + "summary": "A maintainer says they are implementing dark mode as a starting point but text colour does not yet switch with the theme.", + "actorId": 42723553, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:process:cross-referenced:2022-01-17T07:15:22Z", + "kind": "process", + "actor": "hieugao", + "createdAt": "2022-01-17T07:15:22Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "summary": "A contributor links PR #259, which refactors the default themes and moves theme state management to Bloc.", + "actorId": 13729196, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:1038810790", + "kind": "comment", + "actor": "Aditya1402", + "createdAt": "2022-02-14T08:47:34Z", + "editedAt": "2022-02-14T08:47:53Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-1038810790", + "summary": "A first-time contributor asks how to help on the issue.", + "actorId": 75464869, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:1038814656", + "kind": "comment", + "actor": "hieugao", + "createdAt": "2022-02-14T08:52:00Z", + "editedAt": "2022-02-14T08:55:11Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-1038814656", + "summary": "A contributor points them to their related PR #259 and promises to list tasks there.", + "actorId": 13729196, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:comment:1198563784", + "kind": "comment", + "actor": "polypixeldev", + "createdAt": "2022-07-28T19:49:09Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31#issuecomment-1198563784", + "summary": "A contributor says dark mode appears to be implemented already and suggests closing the issue.", + "actorId": 79737178, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + }, + { + "id": "appflowy-31:process:closed:2022-07-28T22:10:22Z", + "kind": "process", + "actor": "MikeWallaceDev", + "createdAt": "2022-07-28T22:10:22Z", + "url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "summary": "A maintainer closes the issue as completed.", + "actorId": 5375835, + "actorType": "human", + "parentId": "appflowy-31:issue:31" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/aspnetcore-mvc-in-shared-framework.json b/evals/datasets/decisions-v1/cases/aspnetcore-mvc-in-shared-framework.json new file mode 100644 index 000000000..54d7673d7 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/aspnetcore-mvc-in-shared-framework.json @@ -0,0 +1,964 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "aspnetcore-mvc-in-shared-framework", + "title": "MVC in the ASP.NET Core shared framework", + "source": { + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "retrievedAt": "2026-10-18T07:35:31.975782+00:00", + "repository": "dotnet/aspnetcore", + "number": 3755 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-11-01T00:00:00Z" + }, + { + "id": "c2", + "at": "2018-11-06T13:50:00Z" + }, + { + "id": "c3", + "at": "2018-11-08T08:00:00Z" + }, + { + "id": "c4", + "at": "2018-11-08T12:00:00Z" + } + ], + "events": [ + { + "id": "aspnetcore-3755:issue:3755", + "kind": "opening", + "actor": "natemcmaster", + "createdAt": "2018-10-29T22:22:24Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A team member posts a working draft list of assemblies to be removed from Microsoft.AspNetCore.App in 3.0, still available as NuGet packages, including auth providers, EF Core, Razor tooling and SPA services.", + "actorId": 2696087, + "actorType": "human" + }, + { + "id": "aspnetcore-3755:comment:434874412", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-10-31T22:51:01Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-434874412", + "summary": "A user argues MVC should also become a separate package, since it is opinionated and the shared framework should be MVC-free or have an MVC-free variant.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435244804", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-02T01:47:06Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435244804", + "summary": "A maintainer asks what benefit that would bring to people building apps.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435562085", + "kind": "comment", + "actor": "CwjXFH", + "createdAt": "2018-11-03T05:28:58Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435562085", + "summary": "A user welcomes getting only what they need.", + "actorId": 11468733, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435571339", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-03T08:44:56Z", + "editedAt": "2018-11-03T08:45:07Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435571339", + "summary": "The user replies that the same reasons apply as for the listed removals, and it is easier to add to the framework later than remove.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435590671", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-03T14:09:02Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435590671", + "summary": "A maintainer says the framework must also be useful by default.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435591076", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-03T14:14:53Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435591076", + "summary": "The user says the plain framework is already useful and suspects the decision is made.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435594597", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-03T15:03:29Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435594597", + "summary": "A maintainer says drawing the line is a judgement call based on experience and there are no current plans to pull MVC out.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435794417", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-05T08:39:50Z", + "editedAt": "2018-11-05T08:43:27Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435794417", + "summary": "The user argues bundling MVC blurs lines the team once drew, promotes a narrow experience, and asks the team to reconsider; they hope SignalR is separate too.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435797516", + "kind": "comment", + "actor": "forki", + "createdAt": "2018-11-05T08:51:01Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435797516", + "summary": "A contributor wants more removed, especially MVC, to help alternative frameworks, and asks why common result types live in MVC.", + "actorId": 57396, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435810168", + "kind": "comment", + "actor": "aidapsibr", + "createdAt": "2018-11-05T09:33:21Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435810168", + "summary": "A user argues keeping MVC costs non-users little while most developers use it, recalling that early fragmented packages were confusing and slow to restore.", + "actorId": 621605, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435815838", + "kind": "comment", + "actor": "forki", + "createdAt": "2018-11-05T09:52:18Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435815838", + "summary": "The contributor replies the installer could pre-cache separate packages.", + "actorId": 57396, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435816118", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-05T09:53:15Z", + "editedAt": "2018-11-05T09:57:01Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435816118", + "summary": "The user asks for a real case where a single MVC package would hurt and argues small production footprint matters more than restore speed.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435847509", + "kind": "comment", + "actor": "gerardtoconnor", + "createdAt": "2018-11-05T11:48:33Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435847509", + "summary": "A user calls MVC unwanted bloat, says it is inconsistent that other components are split out, and names alternative frameworks that suffer.", + "actorId": 5388991, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435904859", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-05T14:57:57Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435904859", + "summary": "An alternative framework author argues .NET Core should follow Node's lean, unopinionated core to foster an ecosystem, and that bundling MVC imposes a lasting tax.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435971085", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2018-11-05T17:56:04Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435971085", + "summary": "A team member explains removals follow published shared-framework criteria (third-party dependencies, deprecation, volatile protocols), states removing MVC is not under consideration, and notes empty templates need not use it.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:435994193", + "kind": "comment", + "actor": "Bomret", + "createdAt": "2018-11-05T19:00:55Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-435994193", + "summary": "A user asks whether usage metrics back keeping MVC and SignalR.", + "actorId": 246014, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436004597", + "kind": "comment", + "actor": "aidapsibr", + "createdAt": "2018-11-05T19:29:58Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436004597", + "summary": "A user notes the shared framework ships MVC precompiled, so removing it would slow startup and enlarge MVC deployments, and asks how to vote for a barebones runtime.", + "actorId": 621605, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436007566", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2018-11-05T19:38:52Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436007566", + "summary": "A team member says a separate issue is possible but unlikely to gain traction, and that nearly every customer app they inspected uses MVC.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436008819", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-05T19:42:20Z", + "editedAt": "2018-11-05T19:43:14Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436008819", + "summary": "A user realises they were conflating the metapackage with the shared framework.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436014291", + "kind": "comment", + "actor": "Bomret", + "createdAt": "2018-11-05T19:58:26Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436014291", + "summary": "A user says the arguments for removal have not been answered and calls the stance political.", + "actorId": 246014, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436023752", + "kind": "comment", + "actor": "forki", + "createdAt": "2018-11-05T20:29:23Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436023752", + "summary": "A contributor suggests a second reference for MVC apps and says many people like the core but not MVC, Razor, EF or SignalR.", + "actorId": 57396, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436030626", + "kind": "comment", + "actor": "Bomret", + "createdAt": "2018-11-05T20:53:06Z", + "editedAt": "2018-11-05T20:53:32Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436030626", + "summary": "A user agrees the community would supply alternatives if MVC were one option among many.", + "actorId": 246014, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436057214", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-05T22:19:57Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436057214", + "summary": "The user clarifies they mean the shared framework and agrees to a separate issue.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436173592", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-06T08:42:49Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436173592", + "summary": "The user asks the team to confirm their understanding of the shared framework, metapackages and minimal containers.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436175469", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-06T08:49:53Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436175469", + "summary": "A maintainer answers: the framework ships with the runtime as a framework reference, the All metapackage goes away, EF is excluded, and minimal deployments come from trimming rather than removing packages.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436257559", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-06T13:46:38Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436257559", + "summary": "The framework author proposes an official minimal base reference without MVC or SignalR, or composable product references, and describes tooling friction for non-MVC frameworks.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436260038", + "kind": "comment", + "actor": "poke", + "createdAt": "2018-11-06T13:54:36Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436260038", + "summary": "A contributor argues the shared framework is like a standard library, nothing forces MVC use, and non-MVC apps still use much MVC functionality.", + "actorId": 132240, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436271879", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-06T14:30:41Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436271879", + "summary": "A user asks which MVC functionality they would use.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436307310", + "kind": "comment", + "actor": "gerardtoconnor", + "createdAt": "2018-11-06T16:04:41Z", + "editedAt": "2018-11-06T16:27:24Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436307310", + "summary": "A user calls that patronising, cites faster F# frameworks, and asks for MVC to be excluded for a level playing field.", + "actorId": 5388991, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436312853", + "kind": "comment", + "actor": "Tratcher", + "createdAt": "2018-11-06T16:19:17Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436312853", + "summary": "A maintainer says any further layering adds major engineering overhead and the cost to non-MVC users is a few megabytes with no runtime impact.", + "actorId": 1821173, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436719895", + "kind": "comment", + "actor": "Bomret", + "createdAt": "2018-11-07T18:04:04Z", + "editedAt": "2018-11-07T18:08:35Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436719895", + "summary": "A user disputes that one package per product adds complexity.", + "actorId": 246014, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436722829", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-07T18:12:59Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436722829", + "summary": "The framework author argues the overhead reflects MVC's special casing, lists harms, and asks at least for a project flag disabling MVC tooling.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436727806", + "kind": "comment", + "actor": "Tratcher", + "createdAt": "2018-11-07T18:26:42Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436727806", + "summary": "A maintainer clarifies the overhead is in build, packaging and installers, and asks which tooling to disable, suggesting a separate issue.", + "actorId": 1821173, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436732620", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-07T18:41:39Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436732620", + "summary": "The framework author names the Razor publish and compilation-context settings that broke their project.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436764013", + "kind": "comment", + "actor": "Tratcher", + "createdAt": "2018-11-07T20:21:40Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436764013", + "summary": "A maintainer asks them to file that issue.", + "actorId": 1821173, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436863738", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T03:46:04Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436863738", + "summary": "A maintainer suggests framework authors could build their own shared framework.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436864353", + "kind": "comment", + "actor": "aidapsibr", + "createdAt": "2018-11-08T03:50:14Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436864353", + "summary": "A user likes the idea and asks for documentation.", + "actorId": 621605, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436866104", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T04:02:26Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436866104", + "summary": "A maintainer says it will not get first-class support but the build can be copied.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436878133", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-08T05:29:44Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436878133", + "summary": "The framework author argues a minimal base should be official, not community-maintained, and asks where to start.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436879654", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T05:39:30Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436879654", + "summary": "A maintainer says Kestrel can be used directly, notes ideas of minimal differ, and invites the community to build an alternative with team help.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436883303", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-08T06:03:30Z", + "editedAt": "2018-11-08T06:03:51Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436883303", + "summary": "The framework author says they only want an official minimal base and claims the thread is unanimous against MVC in the base.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436886683", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T06:23:40Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436886683", + "summary": "A maintainer offers a compromise: keep the App framework unchanged but introduce a lower core shared framework for other frameworks to target, and warns the thread is not representative of most customers.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436898980", + "kind": "comment", + "actor": "mythz", + "createdAt": "2018-11-08T07:30:34Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436898980", + "summary": "The framework author welcomes it and lists the abstractions they would want in such a base.", + "actorId": 89361, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436900604", + "kind": "comment", + "actor": "forki", + "createdAt": "2018-11-08T07:37:48Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436900604", + "summary": "A contributor notes people disagree on what core means, for example dependency injection.", + "actorId": 57396, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436901511", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T07:41:53Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436901511", + "summary": "A maintainer says most of those come transitively and jokes about defining core.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436905094", + "kind": "comment", + "actor": "dustinmoris", + "createdAt": "2018-11-08T07:58:00Z", + "editedAt": "2018-11-08T08:22:40Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436905094", + "summary": "A user criticises the team for deciding what users need and urges listening to power users.", + "actorId": 4580714, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:436907235", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2018-11-08T08:07:09Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-436907235", + "summary": "A maintainer restates the App framework will not change and that the compromise was offered.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:437309244", + "kind": "comment", + "actor": "NinoFloris", + "createdAt": "2018-11-09T09:56:32Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-437309244", + "summary": "A user supports the proposed base shared framework and thinks others would accept it.", + "actorId": 4218809, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:437311070", + "kind": "comment", + "actor": "forki", + "createdAt": "2018-11-09T10:03:26Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-437311070", + "summary": "The contributor accepts dependency injection grudgingly.", + "actorId": 57396, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2018-11-12T17:01:07Z", + "kind": "process", + "actor": "natemcmaster", + "createdAt": "2018-11-12T17:01:07Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR removing assemblies from the shared framework references the issue.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:labeled:2018-11-27T17:35:04Z", + "kind": "process", + "actor": "natemcmaster", + "createdAt": "2018-11-27T17:35:04Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A team member labels the issue a breaking change.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2018-12-19T21:54:19Z", + "kind": "process", + "actor": "natemcmaster", + "createdAt": "2018-12-19T21:54:19Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR removing JwtBearer and OIDC authentication references the issue.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:448757679", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2018-12-19T21:55:18Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-448757679", + "summary": "A team member adds JwtBearer and OpenIdConnect to the list because their IdentityModel dependency does not meet the guidelines, possibly returning later.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2018-12-19T23:55:41Z", + "kind": "process", + "actor": "natemcmaster", + "createdAt": "2018-12-19T23:55:41Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR removing DiagnosticAdapter references the issue.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2019-01-04T22:29:53Z", + "kind": "process", + "actor": "pakrym", + "createdAt": "2019-01-04T22:29:53Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A docs PR on logging migration references the issue.", + "actorId": 1697911, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2019-01-10T17:16:10Z", + "kind": "process", + "actor": "pranavkm", + "createdAt": "2019-01-10T17:16:10Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR removing WebApi.Client references the issue.", + "actorId": 174281, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:453179057", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2019-01-10T17:19:23Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-453179057", + "summary": "A team member adds WebApi.Client to the list.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2019-01-19T02:05:43Z", + "kind": "process", + "actor": "natemcmaster", + "createdAt": "2019-01-19T02:05:43Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR removing JsonPatch references the issue.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:465896150", + "kind": "comment", + "actor": "simeyla", + "createdAt": "2019-02-21T07:46:58Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-465896150", + "summary": "A user asks for IDE help working out which package references are redundant.", + "actorId": 3656278, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:466123645", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2019-02-21T19:00:47Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-466123645", + "summary": "A team member redirects that to Visual Studio feedback and says the metapackage disappears in 3.0, pointing to the migration guide.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:480428191", + "kind": "comment", + "actor": "Eilon", + "createdAt": "2019-04-05T21:29:44Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-480428191", + "summary": "A team member moves the issue to a Discussions milestone as it tracks no work.", + "actorId": 202643, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:cross-referenced:2019-05-20T15:54:15Z", + "kind": "process", + "actor": "pranavkm", + "createdAt": "2019-05-20T15:54:15Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A PR changing application part discovery references the issue.", + "actorId": 174281, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:494051842", + "kind": "comment", + "actor": "pranavkm", + "createdAt": "2019-05-20T16:08:35Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-494051842", + "summary": "A team member adds DependencyModel to the list.", + "actorId": 174281, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:499915903", + "kind": "comment", + "actor": "isaacrlevin", + "createdAt": "2019-06-07T14:52:23Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-499915903", + "summary": "A contributor asks whether templates with authentication will fail to build offline.", + "actorId": 8878502, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:500001363", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2019-06-07T18:59:03Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-500001363", + "summary": "A team member confirms that tradeoff is intentional, to avoid the problems of a pre-populated offline package cache.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:500013196", + "kind": "comment", + "actor": "isaacrlevin", + "createdAt": "2019-06-07T19:37:53Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-500013196", + "summary": "The contributor accepts but asks for clear documentation.", + "actorId": 8878502, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:503792048", + "kind": "comment", + "actor": "buvinghausen", + "createdAt": "2019-06-20T00:17:07Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-503792048", + "summary": "A user asks why JwtBearer now targets netcoreapp3.0 rather than netstandard.", + "actorId": 1130210, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:503795373", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2019-06-20T00:35:45Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-503795373", + "summary": "A maintainer links an announcement.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:514429671", + "kind": "comment", + "actor": "natemcmaster", + "createdAt": "2019-07-24T00:17:13Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-514429671", + "summary": "A team member asks for the change to be called out in 3.0 documentation.", + "actorId": 2696087, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:514636108", + "kind": "comment", + "actor": "dcb99", + "createdAt": "2019-07-24T13:39:06Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-514636108", + "summary": "A user says their serverless and API apps have no need for MVC.", + "actorId": 31573956, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:534318219", + "kind": "comment", + "actor": "Pilchie", + "createdAt": "2019-09-23T23:03:48Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-534318219", + "summary": "A team member says 3.0 has shipped and closes.", + "actorId": 312835, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:534377658", + "kind": "comment", + "actor": "davidfowl", + "createdAt": "2019-09-24T03:56:35Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-534377658", + "summary": "A maintainer asks for the list to move into the docs.", + "actorId": 95136, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:534669217", + "kind": "comment", + "actor": "pranavkm", + "createdAt": "2019-09-24T17:42:29Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-534669217", + "summary": "A team member links a migration doc section.", + "actorId": 174281, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:closed:2019-09-26T18:04:32Z", + "kind": "process", + "actor": "Pilchie", + "createdAt": "2019-09-26T18:04:32Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "A team member closes the issue.", + "actorId": 312835, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:536808657", + "kind": "comment", + "actor": "DamianEdwards", + "createdAt": "2019-10-01T00:40:59Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-536808657", + "summary": "A maintainer says that section is the opposite list and asks for the right one in the library authoring doc.", + "actorId": 249088, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:536823134", + "kind": "comment", + "actor": "pranavkm", + "createdAt": "2019-10-01T01:48:52Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-536823134", + "summary": "A team member links the section on removed assemblies.", + "actorId": 174281, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537261581", + "kind": "comment", + "actor": "DamianEdwards", + "createdAt": "2019-10-01T22:39:20Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537261581", + "summary": "The maintainer confirms it.", + "actorId": 249088, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537297341", + "kind": "comment", + "actor": "jahmai-ca", + "createdAt": "2019-10-02T01:31:04Z", + "editedAt": "2019-10-02T01:48:07Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537297341", + "summary": "A user raises concerns about waiting on framework releases, netstandard class libraries and pinning versions.", + "actorId": 2010997, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537305287", + "kind": "comment", + "actor": "Tratcher", + "createdAt": "2019-10-02T02:10:12Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537305287", + "summary": "A maintainer says SignalR ships on the same schedule, so nothing changes there.", + "actorId": 1821173, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537305720", + "kind": "comment", + "actor": "jahmai-ca", + "createdAt": "2019-10-02T02:12:43Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537305720", + "summary": "The user asks whether that holds for all removed packages.", + "actorId": 2010997, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537306809", + "kind": "comment", + "actor": "Tratcher", + "createdAt": "2019-10-02T02:18:24Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537306809", + "summary": "A maintainer says all components share one ship schedule.", + "actorId": 1821173, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:comment:537308319", + "kind": "comment", + "actor": "jahmai-ca", + "createdAt": "2019-10-02T02:26:06Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755#issuecomment-537308319", + "summary": "The user accepts this.", + "actorId": 2010997, + "actorType": "human", + "parentId": "aspnetcore-3755:issue:3755" + }, + { + "id": "aspnetcore-3755:process:locked:2019-12-03T18:01:02Z", + "kind": "process", + "actor": "ghost", + "createdAt": "2019-12-03T18:01:02Z", + "url": "https://github.com/dotnet/aspnetcore/issues/3755", + "summary": "The issue is locked.", + "actorType": "unknown", + "parentId": "aspnetcore-3755:issue:3755" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/astro-inline-script-processing.json b/evals/datasets/decisions-v1/cases/astro-inline-script-processing.json new file mode 100644 index 000000000..cbf7af7e0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/astro-inline-script-processing.json @@ -0,0 +1,251 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "astro-inline-script-processing", + "title": "Processing is:inline scripts", + "source": { + "url": "https://github.com/withastro/roadmap/discussions/995", + "retrievedAt": "2026-10-18T07:20:34.856922+00:00", + "repository": "withastro/roadmap", + "number": 995, + "nodeId": "D_kwDOGa48bc4Aa5tV" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-08-14T12:00:00Z" + }, + { + "id": "c2", + "at": "2025-10-16T11:00:00Z" + }, + { + "id": "c3", + "at": "2026-10-08T12:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOGa48bc4Aa5tV", + "kind": "opening", + "actor": "delucis", + "createdAt": "2024-08-14T10:33:47Z", + "editedAt": "2024-08-14T10:36:04Z", + "url": "https://github.com/withastro/roadmap/discussions/995", + "summary": "A maintainer proposes that scripts marked is:inline be minified and allow TypeScript while still being injected inline, so authors can write readable code without shipping comments and verbose names, as Starlight's colour-scheme scripts need.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human" + }, + { + "id": "DC_kwDOGa48bc4AnbzR", + "kind": "comment", + "actor": "matthewp", + "createdAt": "2024-08-14T13:28:30Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-10337489", + "summary": "A core team member asks what would happen to an inline script that only has an external src.", + "actorId": "MDQ6VXNlcjM2MTY3MQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4Anbzz", + "kind": "reply", + "actor": "delucis", + "createdAt": "2024-08-14T13:32:11Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-10337523", + "summary": "The proposer thinks nothing would change and raises a similar question for scripts filled through set:html.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AnbzR" + }, + { + "id": "DC_kwDOGa48bc4AofJ2", + "kind": "comment", + "actor": "sommerper", + "createdAt": "2024-09-11T11:26:04Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-10613366", + "summary": "A user agrees, noting that using define:vars forces a script inline and throws away their TypeScript.", + "actorId": "MDQ6VXNlcjE1MTIwNDg=", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4A4EBO", + "kind": "comment", + "actor": "delucis", + "createdAt": "2025-10-16T09:08:57Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-14696526", + "summary": "The proposer adds content security policy as a motivation, since processing inline scripts could let Astro add hashes automatically.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4A4EB4", + "kind": "reply", + "actor": "Adammatthiesen", + "createdAt": "2025-10-16T09:12:46Z", + "editedAt": "2025-10-16T09:13:46Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-14696568", + "summary": "A maintainer asks for a proper way to pass variables into inline scripts that still allows processing.", + "actorId": "MDQ6VXNlcjMwMzgzNTc5", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4A4EBO" + }, + { + "id": "DC_kwDOGa48bc4A4EMI", + "kind": "reply", + "actor": "delucis", + "createdAt": "2025-10-16T10:18:36Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-14697224", + "summary": "The proposer suggests three tiers: plain script bundled as now, is:inline processed but inlined, and is:raw left untouched.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AnbzR" + }, + { + "id": "DC_kwDOGa48bc4A9ONM", + "kind": "comment", + "actor": "ocavue", + "createdAt": "2026-03-09T06:45:16Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-16048972", + "summary": "A user shares a community plugin that already minifies inline scripts.", + "actorId": "MDQ6VXNlcjI0NzE1NzI3", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4BAim3", + "kind": "reply", + "actor": "spaceemotion", + "createdAt": "2026-05-14T12:45:18Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-16918967", + "summary": "A user would like set:html content to go through the processing step too.", + "actorId": "MDQ6VXNlcjQyOTE0Nw==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AnbzR" + }, + { + "id": "DC_kwDOGa48bc4BAit7", + "kind": "comment", + "actor": "jakefb", + "createdAt": "2026-05-14T13:34:48Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-16919419", + "summary": "A user links a related request for a render-blocking attribute on processed module scripts, noting limited browser support.", + "actorId": "MDQ6VXNlcjY4MzYyODI=", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4BAixr", + "kind": "reply", + "actor": "delucis", + "createdAt": "2026-05-14T14:03:54Z", + "editedAt": "2026-05-14T14:04:18Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-16919659", + "summary": "The proposer explains set:html values can depend on render-time data, which rules out build-time processing for them.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AnbzR" + }, + { + "id": "DC_kwDOGa48bc4BHubA", + "kind": "comment", + "actor": "delucis", + "createdAt": "2026-10-07T22:14:25Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18802368", + "summary": "The proposer asks the technical steering committee to move the proposal to Stage 2.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "DC_kwDOGa48bc4BHu7o", + "kind": "reply", + "actor": "matthewp", + "createdAt": "2026-10-08T02:07:23Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18804456", + "summary": "A core team member asks whether it would be a breaking change.", + "actorId": "MDQ6VXNlcjM2MTY3MQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BHvvT", + "kind": "reply", + "actor": "florian-lefebvre", + "createdAt": "2026-10-08T07:11:18Z", + "editedAt": "2026-10-08T07:11:27Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18807763", + "summary": "A maintainer asks that CSP support for eligible inline scripts be a goal.", + "actorId": "MDQ6VXNlcjY5NjMzNTMw", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BHwdY", + "kind": "reply", + "actor": "delucis", + "createdAt": "2026-10-08T10:36:37Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18810712", + "summary": "The proposer says it probably is breaking, so it would ship in a major or behind an experimental flag first, and Stage 2 can look for a non-breaking path.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BIB6W", + "kind": "reply", + "actor": "florian-lefebvre", + "createdAt": "2026-10-12T14:19:56Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18882198", + "summary": "A maintainer approves Stage 2.", + "actorId": "MDQ6VXNlcjY5NjMzNTMw", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BICFv", + "kind": "reply", + "actor": "ematipico", + "createdAt": "2026-10-12T14:57:28Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18882927", + "summary": "Another maintainer approves Stage 2.", + "actorId": "MDQ6VXNlcjYwMjQ3OA==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BIF74", + "kind": "reply", + "actor": "ascorbic", + "createdAt": "2026-10-13T10:15:56Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18898680", + "summary": "A core team member approves Stage 2.", + "actorId": "MDQ6VXNlcjIxMzMwNg==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHubA" + }, + { + "id": "DC_kwDOGa48bc4BIF-4", + "kind": "comment", + "actor": "delucis", + "createdAt": "2026-10-13T10:30:33Z", + "url": "https://github.com/withastro/roadmap/discussions/995#discussioncomment-18898872", + "summary": "The proposer announces the move to Stage 2 and points feedback to a new roadmap issue.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4Aa5tV" + }, + { + "id": "D_kwDOGa48bc4Aa5tV:process:closed:2026-10-13T10:30:33Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-10-13T10:30:33Z", + "url": "https://github.com/withastro/roadmap/discussions/995", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOGa48bc4Aa5tV" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/astro-remove-script-define-vars.json b/evals/datasets/decisions-v1/cases/astro-remove-script-define-vars.json new file mode 100644 index 000000000..a947161fe --- /dev/null +++ b/evals/datasets/decisions-v1/cases/astro-remove-script-define-vars.json @@ -0,0 +1,199 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "astro-remove-script-define-vars", + "title": "Remove define:vars on Astro script elements", + "source": { + "url": "https://github.com/withastro/roadmap/discussions/1246", + "retrievedAt": "2026-10-18T07:20:34.034225+00:00", + "repository": "withastro/roadmap", + "number": 1246, + "nodeId": "D_kwDOGa48bc4AidYZ" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-10-16T10:00:00Z" + }, + { + "id": "c2", + "at": "2025-10-16T17:00:00Z" + }, + { + "id": "c3", + "at": "2026-10-12T14:00:00Z" + }, + { + "id": "c4", + "at": "2026-10-13T11:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOGa48bc4AidYZ", + "kind": "opening", + "actor": "delucis", + "createdAt": "2025-10-16T09:54:55Z", + "editedAt": "2025-10-16T10:30:36Z", + "url": "https://github.com/withastro/roadmap/discussions/1246", + "summary": "A maintainer proposes deprecating and then removing `define:vars` on script elements (keeping it on styles), because it forces unbundled inline scripts, repeats them per component, blocks inline-script optimisation and CSP work, and has documented alternatives; a new data-passing API is out of scope, and he estimates a two-year deprecation given about twelve thousand public usages.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human" + }, + { + "id": "DC_kwDOGa48bc4A4EL9", + "kind": "comment", + "actor": "jdtjenkins", + "createdAt": "2025-10-16T10:17:24Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14697213", + "summary": "A user supports removal but asks why docs push custom elements, showing a simpler data-attribute approach.", + "actorId": "MDQ6VXNlcjc2NDkwMzE=", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AidYZ" + }, + { + "id": "DC_kwDOGa48bc4A4EMu", + "kind": "reply", + "actor": "delucis", + "createdAt": "2025-10-16T10:23:08Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14697262", + "summary": "The proposing maintainer explains custom elements scope logic per component instance, and shows a selector-based variant that handles repeats.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4A4EL9" + }, + { + "id": "DC_kwDOGa48bc4A4ENF", + "kind": "reply", + "actor": "Adammatthiesen", + "createdAt": "2025-10-16T10:26:22Z", + "editedAt": "2025-10-16T10:27:35Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14697285", + "summary": "Another maintainer warns selector-based scripts get painful as complexity grows, favouring custom elements.", + "actorId": "MDQ6VXNlcjMwMzgzNTc5", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4A4EL9" + }, + { + "id": "DC_kwDOGa48bc4A4EPi", + "kind": "reply", + "actor": "jdtjenkins", + "createdAt": "2025-10-16T10:46:15Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14697442", + "summary": "The user accepts the point, asks docs to show a lighter non-custom-element option, remains happy to see the feature go, and floats a future component-scoped element helper.", + "actorId": "MDQ6VXNlcjc2NDkwMzE=", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4A4EL9" + }, + { + "id": "DC_kwDOGa48bc4A4Ezm", + "kind": "comment", + "actor": "ascorbic", + "createdAt": "2025-10-16T14:17:00Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14699750", + "summary": "A contributor on the technical steering group objects to removal without an ergonomic replacement, calling the dataset workaround awkward outside custom elements.", + "actorId": "MDQ6VXNlcjIxMzMwNg==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AidYZ" + }, + { + "id": "DC_kwDOGa48bc4A4FHC", + "kind": "reply", + "actor": "delucis", + "createdAt": "2025-10-16T16:02:29Z", + "editedAt": "2025-10-16T16:09:17Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-14700994", + "summary": "The proposing maintainer replies with a raw script reading `document.currentScript.dataset`, arguing it is only slightly longer, more explicit, and avoids endorsing inline scripts.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4A4Ezm" + }, + { + "id": "DC_kwDOGa48bc4BHua-", + "kind": "comment", + "actor": "delucis", + "createdAt": "2026-10-07T22:14:17Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18802366", + "summary": "A year later the proposing maintainer asks the TSC to advance the proposal to Stage 2.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AidYZ" + }, + { + "id": "DC_kwDOGa48bc4BHvvG", + "kind": "reply", + "actor": "florian-lefebvre", + "createdAt": "2026-10-08T07:10:25Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18807750", + "summary": "A TSC member agrees with the goals and with relying on the web platform over a custom API, and asks whether this unblocks the inline-script proposal #995.", + "actorId": "MDQ6VXNlcjY5NjMzNTMw", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHua-" + }, + { + "id": "DC_kwDOGa48bc4BHw5e", + "kind": "reply", + "actor": "delucis", + "createdAt": "2026-10-08T10:50:21Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18812510", + "summary": "The proposing maintainer says it simplifies #995, since render-time script content prevents CSP, and notes the IIFE wrapping of `define:vars` scripts changes variable scoping in surprising ways.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHua-" + }, + { + "id": "DC_kwDOGa48bc4BIB6g", + "kind": "reply", + "actor": "florian-lefebvre", + "createdAt": "2026-10-12T14:20:22Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18882208", + "summary": "The TSC member approves Stage 2.", + "actorId": "MDQ6VXNlcjY5NjMzNTMw", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHua-" + }, + { + "id": "DC_kwDOGa48bc4BICFb", + "kind": "reply", + "actor": "ematipico", + "createdAt": "2026-10-12T14:56:40Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18882907", + "summary": "Another TSC member, after asking about breakage, approves Stage 2.", + "actorId": "MDQ6VXNlcjYwMjQ3OA==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHua-" + }, + { + "id": "DC_kwDOGa48bc4BIF8a", + "kind": "reply", + "actor": "ascorbic", + "createdAt": "2026-10-13T10:17:33Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18898714", + "summary": "The objecting contributor approves Stage 2, saying `document.currentScript` resolves most of his concerns.", + "actorId": "MDQ6VXNlcjIxMzMwNg==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4BHua-" + }, + { + "id": "DC_kwDOGa48bc4BIF-7", + "kind": "comment", + "actor": "delucis", + "createdAt": "2026-10-13T10:30:44Z", + "url": "https://github.com/withastro/roadmap/discussions/1246#discussioncomment-18898875", + "summary": "The proposing maintainer announces the move to Stage 2 and links the new tracking issue.", + "actorId": "MDQ6VXNlcjM1NzM3OQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AidYZ" + }, + { + "id": "D_kwDOGa48bc4AidYZ:process:closed:2026-10-13T10:30:44Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-10-13T10:30:44Z", + "url": "https://github.com/withastro/roadmap/discussions/1246", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOGa48bc4AidYZ" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/astro-scripts-only-when-rendered.json b/evals/datasets/decisions-v1/cases/astro-scripts-only-when-rendered.json new file mode 100644 index 000000000..ab240aefe --- /dev/null +++ b/evals/datasets/decisions-v1/cases/astro-scripts-only-when-rendered.json @@ -0,0 +1,284 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "astro-scripts-only-when-rendered", + "title": "Including component scripts and styles only when rendered", + "source": { + "url": "https://github.com/withastro/roadmap/discussions/664", + "retrievedAt": "2026-10-18T07:20:35.887853+00:00", + "repository": "withastro/roadmap", + "number": 664, + "nodeId": "D_kwDOGa48bc4AVMup" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-08-26T00:00:00Z" + }, + { + "id": "c2", + "at": "2023-09-07T15:00:00Z" + }, + { + "id": "c3", + "at": "2023-12-11T00:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOGa48bc4AVMup", + "kind": "opening", + "actor": "y-nk", + "createdAt": "2023-08-25T09:58:37Z", + "editedAt": "2023-08-25T09:58:52Z", + "url": "https://github.com/withastro/roadmap/discussions/664", + "summary": "The opener, building CMS-driven pages that pick components by type, proposes that Astro stop adding a component's script to a page merely because it is imported. Static import maps ship every component's script, while dynamic imports drop scripts entirely, so they ask to move from static to runtime analysis and offer to lead the PR.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human" + }, + { + "id": "DC_kwDOGa48bc4AaD9C", + "kind": "comment", + "actor": "lilnasy", + "createdAt": "2023-08-26T21:44:51Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6831938", + "summary": "A contributor suggests a workaround: a middleware that parses the full HTML response and strips unused scripts, accepting the loss of streaming for static sites.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4AaZwL", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-09-06T05:19:01Z", + "editedAt": "2023-09-06T05:19:29Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6921227", + "summary": "The opener says that idea was raised on Discord but scripts may be bundled together, and without data attributes on script tags they would be hard to identify.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AaD9C" + }, + { + "id": "DC_kwDOGa48bc4AaZxX", + "kind": "reply", + "actor": "lilnasy", + "createdAt": "2023-09-06T05:33:39Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6921303", + "summary": "The contributor proposes letting a page opt out of streaming with an exported flag, so Astro can track styles and scripts through component render calls instead of static analysis, which would also fix missing assets for content collections.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AaD9C" + }, + { + "id": "DC_kwDOGa48bc4AaZx5", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-09-06T05:40:23Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6921337", + "summary": "The opener asks whether this would apply only to prerendered pages and whether the existing prerender flag could be reused.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AaD9C" + }, + { + "id": "DC_kwDOGa48bc4AaZy1", + "kind": "reply", + "actor": "lilnasy", + "createdAt": "2023-09-06T05:50:00Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6921397", + "summary": "The contributor says the flags are independent and reusing prerender would be a breaking change, so the new behaviour must be opt-in.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AaD9C" + }, + { + "id": "DC_kwDOGa48bc4AadiE", + "kind": "comment", + "actor": "matthewp", + "createdAt": "2023-09-07T12:08:49Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6936708", + "summary": "A core contributor sees potential with caveats: building scripts at runtime would require shipping Vite at runtime, which is ruled out; building at build time and injecting only when used is possible but raises whether to inject once or per use, and moves scripts out of the head so they load later.", + "actorId": "MDQ6VXNlcjM2MTY3MQ==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4Aad6X", + "kind": "reply", + "actor": "bluwy", + "createdAt": "2023-09-07T14:40:37Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6938263", + "summary": "A maintainer favours the build-time-then-inject approach, noting the compiler can track hoisted script entrypoints and link them at render time as is done for island renderers, and floats an option to choose hoisting or per-use injection.", + "actorId": "MDQ6VXNlcjM0MTE2Mzky", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AadiE" + }, + { + "id": "DC_kwDOGa48bc4Aaeg-", + "kind": "reply", + "actor": "lilnasy", + "createdAt": "2023-09-07T19:07:34Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6940734", + "summary": "The contributor asks why anyone would want a hoisted script repeated for every instance of a component.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AadiE" + }, + { + "id": "DC_kwDOGa48bc4AaeiE", + "kind": "reply", + "actor": "matthewp", + "createdAt": "2023-09-07T19:15:39Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6940804", + "summary": "The core contributor knows of none; they raised it because injecting only once is hard with parallel rendering and caused bugs before.", + "actorId": "MDQ6VXNlcjM2MTY3MQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AadiE" + }, + { + "id": "DC_kwDOGa48bc4AapcE", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-09-13T04:19:53Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6985476", + "summary": "The opener agrees runtime Vite is undesirable and asks how Vue and Nuxt handle the same problem.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AadiE" + }, + { + "id": "DC_kwDOGa48bc4AapcQ", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-09-13T04:22:34Z", + "editedAt": "2023-09-13T04:22:59Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-6985488", + "summary": "The opener worries a streaming flag could mislead users on adapters without streaming, and asks that any opt-in be settable per file and globally.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AaD9C" + }, + { + "id": "DC_kwDOGa48bc4AckkU", + "kind": "comment", + "actor": "adbl", + "createdAt": "2023-11-06T16:39:14Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7489812", + "summary": "A user reports the same over-inclusion with Astro.glob over MDX files, where an index page receives client scripts from components the MDX files import, and a hoisting setting did not help.", + "actorId": "MDQ6VXNlcjE3Nzg4MA==", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4AdPLE", + "kind": "comment", + "actor": "lilnasy", + "createdAt": "2023-11-25T01:18:53Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7664324", + "summary": "The contributor proposes a compiler-inserted internal propagate call listing the identifiers a template actually uses, so the runtime can collect only those components' assets into the head without Vite; it would apply only to the top-level page, with static analysis remaining for imported components to protect time to first byte.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4AdU3E", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-11-28T03:21:28Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7687620", + "summary": "The opener restates the idea as a function that inspects child components and accumulates their asset data into a page context for the framework to emit.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AdPLE" + }, + { + "id": "DC_kwDOGa48bc4AdU3O", + "kind": "reply", + "actor": "y-nk", + "createdAt": "2023-11-28T03:23:08Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7687630", + "summary": "The opener asks whether the propagate call would only be injected when streaming is disabled.", + "actorId": "MDQ6VXNlcjQxMTYyNQ==", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AdPLE" + }, + { + "id": "DC_kwDOGa48bc4AdU7x", + "kind": "reply", + "actor": "lilnasy", + "createdAt": "2023-11-28T04:15:00Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7687921", + "summary": "The contributor confirms the restatement, clarifies that it selects already bundled assets at render time, and says no flag is needed because the slow runtime check runs only on the page, which already blocks the response.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AdPLE" + }, + { + "id": "DC_kwDOGa48bc4Adzcj", + "kind": "comment", + "actor": "lilnasy", + "createdAt": "2023-12-10T18:34:39Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-7812899", + "summary": "The contributor reports implementing the approach as a third-party integration in their gratelets repository.", + "actorId": "MDQ6VXNlcjY5MTcwMTA2", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4AoRIt", + "kind": "comment", + "actor": "forberg", + "createdAt": "2024-09-05T10:11:50Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-10555949", + "summary": "A user proposes a per-component opt-in to inline stylesheet links next to the rendered component, as already done for scripts, relying on streaming and render-blocking hints to avoid unstyled flashes.", + "actorId": "MDQ6VXNlcjUxODYx", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + }, + { + "id": "DC_kwDOGa48bc4AoRjz", + "kind": "reply", + "actor": "bluwy", + "createdAt": "2024-09-05T13:16:16Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-10557683", + "summary": "A maintainer explains they investigated inlining styles but declined: scoped styles are common so pages would fill with tags, CSS would follow two different models, ordering bugs become likely, and a per-usage opt-in cannot work because emission is decided at compile time. Unused scoped styles are mostly harmless, unlike scripts.", + "actorId": "MDQ6VXNlcjM0MTE2Mzky", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AoRIt" + }, + { + "id": "DC_kwDOGa48bc4AoTne", + "kind": "reply", + "actor": "forberg", + "createdAt": "2024-09-06T07:56:32Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-10566110", + "summary": "The user regrets that the main style bundle keeps growing with dynamically chosen components and points to Loadable Components as a model.", + "actorId": "MDQ6VXNlcjUxODYx", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AoRIt" + }, + { + "id": "DC_kwDOGa48bc4AoWTA", + "kind": "reply", + "actor": "bluwy", + "createdAt": "2024-09-07T13:27:49Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-10577088", + "summary": "The maintainer says bundle size should not grow if components are imported where used; the cost is only unused styles appearing on some pages.", + "actorId": "MDQ6VXNlcjM0MTE2Mzky", + "actorType": "human", + "parentId": "DC_kwDOGa48bc4AoRIt" + }, + { + "id": "DC_kwDOGa48bc4BISac", + "kind": "comment", + "actor": "florian-lefebvre", + "createdAt": "2026-10-15T13:11:03Z", + "url": "https://github.com/withastro/roadmap/discussions/664#discussioncomment-18949788", + "summary": "A maintainer says they have been experimenting with the problem and asks people to try a preview release from an Astro PR and leave feedback there.", + "actorId": "MDQ6VXNlcjY5NjMzNTMw", + "actorType": "human", + "parentId": "D_kwDOGa48bc4AVMup" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/atuin-classic-up-arrow-from-db.json b/evals/datasets/decisions-v1/cases/atuin-classic-up-arrow-from-db.json new file mode 100644 index 000000000..469d67bec --- /dev/null +++ b/evals/datasets/decisions-v1/cases/atuin-classic-up-arrow-from-db.json @@ -0,0 +1,570 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "atuin-classic-up-arrow-from-db", + "title": "Classic in-place up-arrow history backed by Atuin's database", + "source": { + "url": "https://github.com/atuinsh/atuin/issues/798", + "retrievedAt": "2026-10-18T07:35:19.304519+00:00", + "repository": "atuinsh/atuin", + "number": 798 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-03-22T20:45:00Z" + }, + { + "id": "c2", + "at": "2023-04-15T05:00:00Z" + }, + { + "id": "c3", + "at": "2023-10-18T03:00:00Z" + }, + { + "id": "c4", + "at": "2023-11-02T15:00:00Z" + } + ], + "events": [ + { + "id": "atuin-798:issue:798", + "kind": "opening", + "actor": "endigma", + "createdAt": "2023-03-22T00:22:16Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "The opener asks whether the up arrow could keep the shell's normal in-place history stepping, but read from Atuin's database instead of opening the full-screen search.", + "actorId": 34945114, + "actorType": "human" + }, + { + "id": "atuin-798:comment:1479277487", + "kind": "comment", + "actor": "RafaelKr", + "createdAt": "2023-03-22T10:16:22Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1479277487", + "summary": "A user points to the docs for disabling Atuin's up-arrow binding.", + "actorId": 14234815, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1479640988", + "kind": "comment", + "actor": "endigma", + "createdAt": "2023-03-22T14:13:41Z", + "editedAt": "2023-03-22T14:15:13Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1479640988", + "summary": "The opener clarifies that disabling loses Atuin's history; they want classic in-place scrolling backed by the Atuin database, since the TUI disrupts quick history use.", + "actorId": 34945114, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1479677165", + "kind": "comment", + "actor": "conradludgate", + "createdAt": "2023-03-22T14:32:43Z", + "editedAt": "2023-03-22T14:33:14Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1479677165", + "summary": "A maintainer mentions a blocked work-in-progress inline view (#648) with a smaller search list near the prompt.", + "actorId": 6625462, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1480230528", + "kind": "comment", + "actor": "endigma", + "createdAt": "2023-03-22T20:39:01Z", + "editedAt": "2023-03-22T20:39:41Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1480230528", + "summary": "The opener asks whether a drop-in replacement of native up/down behaviour is planned or possible, stressing they want no search UI at all.", + "actorId": 34945114, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1480244126", + "kind": "comment", + "actor": "conradludgate", + "createdAt": "2023-03-22T20:51:55Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1480244126", + "summary": "The maintainer says they now understand and will check whether it is easy to achieve.", + "actorId": 6625462, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1480852365", + "kind": "comment", + "actor": "RafaelKr", + "createdAt": "2023-03-23T09:23:19Z", + "editedAt": "2023-03-23T09:26:05Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1480852365", + "summary": "A user reports that with the up-arrow binding disabled their native history still works, and asks which shell the opener uses and whether cross-terminal history is the goal.", + "actorId": 14234815, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1481083480", + "kind": "comment", + "actor": "endigma", + "createdAt": "2023-03-23T12:10:59Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1481083480", + "summary": "The opener explains native up arrow works but reads fish's own history file, not Atuin's database.", + "actorId": 34945114, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1490551240", + "kind": "comment", + "actor": "arcuru", + "createdAt": "2023-03-30T15:59:28Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1490551240", + "summary": "A contributor suggests the new `--offset` search flag from #825 makes this scriptable.", + "actorId": 160646, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1492800134", + "kind": "comment", + "actor": "endigma", + "createdAt": "2023-04-01T02:30:46Z", + "editedAt": "2023-04-01T02:53:24Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1492800134", + "summary": "The opener agrees it is feasible but wants it built in, noting that tracking the current history index per shell is the hard part.", + "actorId": 34945114, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1493172263", + "kind": "comment", + "actor": "arcuru", + "createdAt": "2023-04-01T23:38:43Z", + "editedAt": "2024-01-01T17:52:54Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1493172263", + "summary": "A contributor shares a fish prototype on a branch, notes rough edges, and asks whether maintainers want it integrated or just documented as a customisation example, declining to write other shells.", + "actorId": 160646, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1493410837", + "kind": "comment", + "actor": "endigma", + "createdAt": "2023-04-02T18:35:39Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1493410837", + "summary": "The opener suggests an opt-in switch alongside the existing bindings and asks whether the prototype uses the current buffer as a search prefix.", + "actorId": 34945114, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1493454863", + "kind": "comment", + "actor": "arcuru", + "createdAt": "2023-04-02T22:26:48Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1493454863", + "summary": "The contributor says prefix search is a small change, worries about option sprawl, and sketches config for filter mode, search mode and prefix use on a cycling up arrow.", + "actorId": 160646, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1509159616", + "kind": "comment", + "actor": "ellie", + "createdAt": "2023-04-14T19:56:42Z", + "editedAt": "2023-04-14T19:57:12Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1509159616", + "summary": "A maintainer welcomes a docs page of custom shell integrations as a first step, with possible full integration later, and points to a zsh attempt in #826.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1509494561", + "kind": "comment", + "actor": "mentalisttraceur", + "createdAt": "2023-04-15T04:14:58Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1509494561", + "summary": "A contributor proposes negative offsets in the CLI so every shell script can keep a simple counter instead of reimplementing index tracking.", + "actorId": 6531708, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1535569798", + "kind": "comment", + "actor": "Nezteb", + "createdAt": "2023-05-05T00:57:48Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1535569798", + "summary": "A user shares a zsh gist reimplementing classic up/down against Atuin's database.", + "actorId": 3588798, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1535987198", + "kind": "comment", + "actor": "takac", + "createdAt": "2023-05-05T09:31:24Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1535987198", + "summary": "The contributor who added `--offset` explains `--reverse` can be combined with it to fetch the last or nth-last match.", + "actorId": 1015381, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1609835369", + "kind": "comment", + "actor": "ekristen", + "createdAt": "2023-06-27T16:13:41Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1609835369", + "summary": "A user supports the idea and asks for it natively behind a config switch.", + "actorId": 48329, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1670582389", + "kind": "comment", + "actor": "alextremblay", + "createdAt": "2023-08-09T03:00:39Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1670582389", + "summary": "A user shares a bash gist that cycles history when the line is empty and falls back to Atuin's interactive search when text is typed.", + "actorId": 23367954, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1761546263", + "kind": "comment", + "actor": "tyalie", + "createdAt": "2023-10-13T13:45:00Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1761546263", + "summary": "A user posts an improved zsh script that handles Ctrl-C by tracking the previous result buffer.", + "actorId": 14364148, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1767582886", + "kind": "comment", + "actor": "ellie", + "createdAt": "2023-10-18T03:47:26Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1767582886", + "summary": "A maintainer says it would be good to include behind config or possibly as a new default, lists the community scripts per shell, proposes an option such as `classic_inline` or reusing `inline_height = 1`, offers to write the Rust side, and asks where shell functions should live.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:labeled:2023-10-18T03:50:12Z", + "kind": "process", + "actor": "ellie", + "createdAt": "2023-10-18T03:50:12Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A maintainer labels the issue as an enhancement.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:labeled:2023-10-18T03:50:12Z+", + "kind": "process", + "actor": "ellie", + "createdAt": "2023-10-18T03:50:12Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A maintainer labels the issue help wanted.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1780143646", + "kind": "comment", + "actor": "arcuru", + "createdAt": "2023-10-25T22:27:58Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1780143646", + "summary": "A contributor says Nushell cannot support this yet, mentions they now prefer full-screen search with `enter_accept`, and votes to put the new function in the existing script and switch the binding.", + "actorId": 160646, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1790888026", + "kind": "comment", + "actor": "alextremblay", + "createdAt": "2023-11-02T14:52:55Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1790888026", + "summary": "A user agrees with keeping it in the same script and plans to rework their bash version.", + "actorId": 23367954, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1790892121", + "kind": "comment", + "actor": "alextremblay", + "createdAt": "2023-11-02T14:54:53Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1790892121", + "summary": "The same user prefers an explicit `classic_inline` option over overloading `inline_height = 1`, but accepts either.", + "actorId": 23367954, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1964485526", + "kind": "comment", + "actor": "cohml", + "createdAt": "2024-02-26T15:55:44Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1964485526", + "summary": "A user notes that with directory filter mode the up arrow still cycles global history, a mismatch this feature would fix.", + "actorId": 62400541, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1964511976", + "kind": "comment", + "actor": "ellie", + "createdAt": "2024-02-26T16:03:51Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1964511976", + "summary": "A maintainer says the mismatch is intentional and points to a separate filter setting for the up-arrow binding.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1964546446", + "kind": "comment", + "actor": "cohml", + "createdAt": "2024-02-26T16:13:41Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1964546446", + "summary": "The user replies that setting only affects the TUI, not native scrolling with the binding disabled, which is what this issue is about.", + "actorId": 62400541, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1964560600", + "kind": "comment", + "actor": "ellie", + "createdAt": "2024-02-26T16:20:08Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1964560600", + "summary": "The maintainer apologises for misreading the comment.", + "actorId": 53315310, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:cross-referenced:2024-02-27T16:59:56Z", + "kind": "process", + "actor": "arcuru", + "createdAt": "2024-02-27T16:59:56Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A contributor's config-file reorganisation PR (#1789) references the issue.", + "actorId": 160646, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:1974773630", + "kind": "comment", + "actor": "remmycat", + "createdAt": "2024-03-02T11:43:55Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-1974773630", + "summary": "A contributor notes remaining Nushell blockers and floats asking Nushell for a pluggable external history API instead of keystroke hacks.", + "actorId": 3317423, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2181121591", + "kind": "comment", + "actor": "atuin-bot", + "createdAt": "2024-06-20T16:43:23Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2181121591", + "summary": "A bot links a related community forum thread.", + "actorId": 152089506, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2264926171", + "kind": "comment", + "actor": "GDYendell", + "createdAt": "2024-08-02T09:09:40Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2264926171", + "summary": "A user wants prefix search using text left of the cursor and suggests separate inline heights for up arrow and Ctrl-R.", + "actorId": 15689569, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2310239299", + "kind": "comment", + "actor": "davidebenato", + "createdAt": "2024-08-26T13:37:34Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2310239299", + "summary": "A user adds support, preferring a one-line search for fast work.", + "actorId": 554170, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2336668026", + "kind": "comment", + "actor": "kboshold", + "createdAt": "2024-09-08T12:29:08Z", + "editedAt": "2025-03-28T06:56:51Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2336668026", + "summary": "A user shares their own fish implementation.", + "actorId": 18258842, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2727053776", + "kind": "comment", + "actor": "maphew", + "createdAt": "2025-03-15T23:27:43Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2727053776", + "summary": "A user describes setting a small inline height as a workaround and wishes it could resize dynamically.", + "actorId": 486200, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:2833409840", + "kind": "comment", + "actor": "laundmo", + "createdAt": "2025-04-27T11:31:17Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-2833409840", + "summary": "A user asks about progress, notes `inline_height = 1` still renders below the prompt, and asks whether separate up-arrow settings for style and height would be accepted.", + "actorId": 24855949, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:3262253321", + "kind": "comment", + "actor": "fyxw", + "createdAt": "2025-09-06T14:13:46Z", + "editedAt": "2025-09-06T14:24:09Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-3262253321", + "summary": "A user shares a zsh workaround that loads recent Atuin history into native history at shell start.", + "actorId": 37008822, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:3313599206", + "kind": "comment", + "actor": "wak-google", + "createdAt": "2025-09-19T19:42:57Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-3313599206", + "summary": "A user supports the request and points to elvish's split between inline up-arrow and a search UI.", + "actorId": 22405326, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:3445678720", + "kind": "comment", + "actor": "rseymour", + "createdAt": "2025-10-25T03:54:28Z", + "editedAt": "2025-10-25T03:54:36Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-3445678720", + "summary": "A user confirms the zsh workaround works for them.", + "actorId": 105805, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:3649782389", + "kind": "comment", + "actor": "nadeemkhedr", + "createdAt": "2025-12-13T20:31:29Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-3649782389", + "summary": "A user says they cannot replicate that workaround in fish.", + "actorId": 180256, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:3684564454", + "kind": "comment", + "actor": "khimaros", + "createdAt": "2025-12-22T23:47:33Z", + "editedAt": "2025-12-22T23:48:44Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-3684564454", + "summary": "A user recommends a long-used bash gist.", + "actorId": 231498, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:comment:4103348823", + "kind": "comment", + "actor": "dmd", + "createdAt": "2026-03-21T13:32:29Z", + "url": "https://github.com/atuinsh/atuin/issues/798#issuecomment-4103348823", + "summary": "A user reports that disabling the up arrow appears broken in a newer Atuin mode.", + "actorId": 41439, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:unlabeled:2026-07-30T20:14:48Z", + "kind": "process", + "actor": "markovejnovic", + "createdAt": "2026-07-30T20:14:48Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A maintainer removes the help wanted label.", + "actorId": 15203893, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:cross-referenced:2026-07-30T20:15:07Z", + "kind": "process", + "actor": "markovejnovic", + "createdAt": "2026-07-30T20:15:07Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A maintainer links the open TUI v2 PR (#3796).", + "actorId": 15203893, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:cross-referenced:2026-09-08T13:49:07Z", + "kind": "process", + "actor": "okuuva", + "createdAt": "2026-09-08T13:49:07Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A contributor links a reedline PR about cursor movement relevant to Nushell up navigation.", + "actorId": 2804020, + "actorType": "human", + "parentId": "atuin-798:issue:798" + }, + { + "id": "atuin-798:process:cross-referenced:2026-09-14T13:59:09Z", + "kind": "process", + "actor": "okuuva", + "createdAt": "2026-09-14T13:59:09Z", + "url": "https://github.com/atuinsh/atuin/issues/798", + "summary": "A contributor links an open Atuin PR to preserve multiline Up navigation in Nushell.", + "actorId": 2804020, + "actorType": "human", + "parentId": "atuin-798:issue:798" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/bat-builtin-pager.json b/evals/datasets/decisions-v1/cases/bat-builtin-pager.json new file mode 100644 index 000000000..b478248fe --- /dev/null +++ b/evals/datasets/decisions-v1/cases/bat-builtin-pager.json @@ -0,0 +1,424 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "bat-builtin-pager", + "title": "A builtin pager for bat", + "source": { + "url": "https://github.com/sharkdp/bat/issues/1053", + "retrievedAt": "2026-10-18T07:34:57.040476+00:00", + "repository": "sharkdp/bat", + "number": 1053 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-06-05T21:20:00Z" + }, + { + "id": "c2", + "at": "2022-02-06T00:00:00Z" + }, + { + "id": "c3", + "at": "2025-10-06T19:00:00Z" + }, + { + "id": "c4", + "at": "2025-10-24T21:00:00Z" + } + ], + "events": [ + { + "id": "bat-1053:issue:1053", + "kind": "opening", + "actor": "sharkdp", + "createdAt": "2020-06-05T21:07:40Z", + "url": "https://github.com/sharkdp/bat/issues/1053", + "summary": "The owner opens a discussion on writing a custom pager library to replace calling `less`, listing benefits such as consistent cross-platform behaviour, resize handling, fixed headers and editor launch, against the large effort and expected bug reports, and suggests starting opt-in; he has a private prototype.", + "actorId": 4209276, + "actorType": "human" + }, + { + "id": "bat-1053:process:renamed:2020-06-05T21:15:51Z", + "kind": "process", + "actor": "sharkdp", + "createdAt": "2020-06-05T21:15:51Z", + "url": "https://github.com/sharkdp/bat/issues/1053", + "summary": "The owner retitles the issue from a brainstorm to a discussion.", + "actorId": 4209276, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:639834183", + "kind": "comment", + "actor": "eth-p", + "createdAt": "2020-06-05T21:35:57Z", + "editedAt": "2020-06-05T21:36:59Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-639834183", + "summary": "A collaborator fully supports it, agrees it should start as an opt-in `--pager` value to avoid surprising users, and suggests scroll anchoring on resize.", + "actorId": 32112321, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:639874485", + "kind": "comment", + "actor": "rr0ss0rr", + "createdAt": "2020-06-05T22:42:45Z", + "editedAt": "2020-06-06T01:49:33Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-639874485", + "summary": "A new user praises bat and supports the idea.", + "actorId": 16386590, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:640075670", + "kind": "comment", + "actor": "rr0ss0rr", + "createdAt": "2020-06-06T15:10:28Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-640075670", + "summary": "A user asks for vim colour schemes.", + "actorId": 16386590, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:653894895", + "kind": "comment", + "actor": "mouse07410", + "createdAt": "2020-07-05T14:21:18Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-653894895", + "summary": "A user asks for printer-friendly page headers and footers.", + "actorId": 5923577, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:671461042", + "kind": "comment", + "actor": "oconnor663", + "createdAt": "2020-08-10T16:36:29Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-671461042", + "summary": "A user notes many tools, including man, would benefit from a good pager library.", + "actorId": 860932, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:724369609", + "kind": "comment", + "actor": "metov", + "createdAt": "2020-11-10T00:31:19Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-724369609", + "summary": "A user asks whether the pager could instead be a separate recommended program, closer to Unix philosophy.", + "actorId": 51468504, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:724378094", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2020-11-10T00:55:19Z", + "editedAt": "2020-11-10T00:57:09Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-724378094", + "summary": "A user is fine with either as long as their `PAGER` setting is still honoured.", + "actorId": 46915, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:739566677", + "kind": "comment", + "actor": "magistau", + "createdAt": "2020-12-06T21:26:06Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-739566677", + "summary": "A contributor shares the `minus` pager crate.", + "actorId": 43097806, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:739567239", + "kind": "comment", + "actor": "sharkdp", + "createdAt": "2020-12-06T21:30:07Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-739567239", + "summary": "The owner says it looks promising.", + "actorId": 4209276, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:749307612", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2020-12-22T02:51:16Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-749307612", + "summary": "A user asks for `more`-style page-break stops.", + "actorId": 4687791, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:749554515", + "kind": "comment", + "actor": "magistau", + "createdAt": "2020-12-22T14:01:52Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-749554515", + "summary": "The contributor compares how bat output looks in minus and another Rust pager with line numbers toggled.", + "actorId": 43097806, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:812919518", + "kind": "comment", + "actor": "ciscohack", + "createdAt": "2021-04-03T20:13:15Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-812919518", + "summary": "A user asks how to run the comparison command on macOS.", + "actorId": 11479557, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:1008022794", + "kind": "comment", + "actor": "stdedos", + "createdAt": "2022-01-08T15:17:50Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-1008022794", + "summary": "A user asks the owner to publish his prototype behind an experimental flag.", + "actorId": 133706, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:1030650853", + "kind": "comment", + "actor": "sharkdp", + "createdAt": "2022-02-05T16:05:42Z", + "editedAt": "2022-02-05T19:32:46Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-1030650853", + "summary": "The owner publishes a rough proof of concept (`riffle`) that reruns bat on resize, lists what it can and cannot do, and says requirements, design, and a check of existing crates such as minus should come first.", + "actorId": 4209276, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:1031292169", + "kind": "comment", + "actor": "stavros-mobal", + "createdAt": "2022-02-07T10:12:38Z", + "editedAt": "2022-02-07T10:12:57Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-1031292169", + "summary": "A user reports the prebuilt binary fails on an older glibc.", + "actorId": 98734638, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:1290569274", + "kind": "comment", + "actor": "hacker-DOM", + "createdAt": "2022-10-25T13:35:13Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-1290569274", + "summary": "A user asks for a two-column view.", + "actorId": 18601956, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:2107403600", + "kind": "comment", + "actor": "hacker-DOM", + "createdAt": "2024-05-13T12:08:12Z", + "editedAt": "2024-05-13T12:08:23Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-2107403600", + "summary": "A user points to Nushell's structured pager work.", + "actorId": 18601956, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3373558771", + "kind": "comment", + "actor": "academician", + "createdAt": "2025-10-06T19:27:01Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3373558771", + "summary": "A contributor notes a related issue was closed by PR #3402 and asks whether this one can close too.", + "actorId": 6391, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3424563467", + "kind": "comment", + "actor": "ManuLinares", + "createdAt": "2025-10-21T03:50:17Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3424563467", + "summary": "A user reports the builtin pager lacks an End key binding.", + "actorId": 3720020, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3444843712", + "kind": "comment", + "actor": "academician", + "createdAt": "2025-10-24T20:40:02Z", + "editedAt": "2025-10-24T20:41:04Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3444843712", + "summary": "The contributor who integrated minus as the builtin pager in #3402 explains minus uses `G`, and asks whether to request End upstream or add it in bat, preferring upstream.", + "actorId": 6391, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3444854928", + "kind": "comment", + "actor": "ManuLinares", + "createdAt": "2025-10-24T20:44:19Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3444854928", + "summary": "The user prefers adding it in bat, as minus's docs recommend.", + "actorId": 3720020, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3444980921", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2025-10-24T21:31:04Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3444980921", + "summary": "A user prefers fixing it upstream so platform conventions are the default for everyone.", + "actorId": 46915, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3462513352", + "kind": "comment", + "actor": "academician", + "createdAt": "2025-10-29T16:13:16Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3462513352", + "summary": "The contributor files an upstream feature request and will add it locally if declined.", + "actorId": 6391, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3462813123", + "kind": "comment", + "actor": "rr0ss0rr", + "createdAt": "2025-10-29T17:33:15Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3462813123", + "summary": "A user asks whether the builtin pager quits when output fits one screen.", + "actorId": 16386590, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3462842837", + "kind": "comment", + "actor": "ManuLinares", + "createdAt": "2025-10-29T17:42:56Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3462842837", + "summary": "A user points out minus has been inactive for over a year, so upstream changes are unlikely.", + "actorId": 3720020, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3463293005", + "kind": "comment", + "actor": "ciscohack", + "createdAt": "2025-10-29T18:55:23Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3463293005", + "summary": "A user says the builtin pager fails on large files and points to another pager as a better option.", + "actorId": 11479557, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3469835425", + "kind": "comment", + "actor": "academician", + "createdAt": "2025-10-30T19:55:45Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3469835425", + "summary": "The contributor confirms quit-if-one-screen was omitted by mistake and is harder to fix because minus supports it only in static mode.", + "actorId": 6391, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3470384225", + "kind": "comment", + "actor": "academician", + "createdAt": "2025-10-30T21:44:22Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3470384225", + "summary": "The contributor notes another tool switched from minus to a streampager fork for large inputs, lacking mouse support, and says they are improving minus.", + "actorId": 6391, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:3603816753", + "kind": "comment", + "actor": "keith-hall", + "createdAt": "2025-12-02T20:20:25Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-3603816753", + "summary": "A collaborator asks the contributor to add Home/End in bat for now since minus is unmaintained.", + "actorId": 11882719, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:process:cross-referenced:2026-03-24T19:31:16Z", + "kind": "process", + "actor": "keith-hall", + "createdAt": "2026-03-24T19:31:16Z", + "url": "https://github.com/sharkdp/bat/issues/1053", + "summary": "A collaborator links an upstream minus PR adding quit-if-one-screen for dynamic paging.", + "actorId": 11882719, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:process:cross-referenced:2026-03-24T19:34:39Z", + "kind": "process", + "actor": "keith-hall", + "createdAt": "2026-03-24T19:34:39Z", + "url": "https://github.com/sharkdp/bat/issues/1053", + "summary": "A collaborator links bat PR #3651 adding Home/End bindings to the builtin pager.", + "actorId": 11882719, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:5626459750", + "kind": "comment", + "actor": "Erquint", + "createdAt": "2026-09-10T22:46:59Z", + "editedAt": "2026-09-11T10:28:52Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-5626459750", + "summary": "A Windows user reports search and line-chopping problems with minus and reads the `less` default as a sign of little maintainer intent to develop the builtin pager.", + "actorId": 4364856, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + }, + { + "id": "bat-1053:comment:5844689199", + "kind": "comment", + "actor": "eugenesvk", + "createdAt": "2026-09-26T08:42:26Z", + "url": "https://github.com/sharkdp/bat/issues/1053#issuecomment-5844689199", + "summary": "A user asks for minus key bindings to be configurable.", + "actorId": 12956286, + "actorType": "human", + "parentId": "bat-1053:issue:1053" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/bat-debian-batcat-name.json b/evals/datasets/decisions-v1/cases/bat-debian-batcat-name.json new file mode 100644 index 000000000..ccae57f30 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/bat-debian-batcat-name.json @@ -0,0 +1,432 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "bat-debian-batcat-name", + "title": "Resolving the bat versus batcat name clash on Debian", + "source": { + "url": "https://github.com/sharkdp/bat/issues/2455", + "retrievedAt": "2026-10-18T07:35:01.511207+00:00", + "repository": "sharkdp/bat", + "number": 2455 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-01-21T13:00:00Z" + }, + { + "id": "c2", + "at": "2025-08-10T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-06-12T04:00:00Z" + }, + { + "id": "c4", + "at": "2026-06-12T09:00:00Z" + } + ], + "events": [ + { + "id": "bat-2455:issue:2455", + "kind": "opening", + "actor": "Tachi107", + "createdAt": "2023-01-21T12:10:25Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "A Debian contributor reports that Debian has moved the binary back from batcat to bat because the old owner of that path left the archive, and suggests the README prepare for Debian 12 and Ubuntu 23.04.", + "actorId": 34214253, + "actorType": "human" + }, + { + "id": "bat-2455:comment:1399244330", + "kind": "comment", + "actor": "sharkdp", + "createdAt": "2023-01-21T12:40:49Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-1399244330", + "summary": "The project owner welcomes the news and agrees the docs should get ready for the change.", + "actorId": 4209276, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:1521552974", + "kind": "comment", + "actor": "nabajour", + "createdAt": "2023-04-25T10:29:56Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-1521552974", + "summary": "A user finds bat broken again on Debian unstable because a later fix restored the clash with the Bacula console's bat, and describes a manual update-alternatives workaround they suspect is misuse.", + "actorId": 4026451, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:2395215798", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2024-10-05T22:35:36Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-2395215798", + "summary": "A user proposes asking Bacula upstream to rename its binary, with a staged plan across Debian releases and a transitional explainer script at the old path.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:2800380303", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2025-04-14T03:27:04Z", + "editedAt": "2026-06-10T21:49:26Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-2800380303", + "summary": "A user suggests looking at how moreutils and GNU parallel share a binary name via diversions, later pointing to a fuller follow-up.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:2801338859", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2025-04-14T11:04:16Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-2801338859", + "summary": "The opener explains Debian only allows alternatives for programs with similar function, and the two bat programs are unrelated; batcat could at most be an alternative for cat.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:2804089533", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2025-04-15T07:26:55Z", + "editedAt": "2025-04-15T07:28:26Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-2804089533", + "summary": "The user accepts the policy point, notes Bacula's seniority, and suggests a one-time manual symlink or a post-install prompt.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:2810484380", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2025-04-16T19:00:32Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-2810484380", + "summary": "A user notes the same name clash exists on Arch's AUR.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:3170614175", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2025-08-09T11:02:43Z", + "editedAt": "2026-06-11T19:02:59Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-3170614175", + "summary": "A user details local dpkg-divert commands that rename both binaries, while noting the Bacula desktop entry would then break, so a shell alias may be simpler.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:process:cross-referenced:2026-03-14T10:12:16Z", + "kind": "process", + "actor": "XploitMonk0x01", + "createdAt": "2026-03-14T10:12:16Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "A contributor links a docs pull request clarifying the Ubuntu and Debian executable name.", + "actorId": 132329210, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:process:cross-referenced:2026-05-17T04:22:58Z", + "kind": "process", + "actor": "wyf027", + "createdAt": "2026-05-17T04:22:58Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "A contributor links a docs pull request stating Debian 12 and later install bat.", + "actorId": 39647285, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4601466769", + "kind": "comment", + "actor": "ded-furby", + "createdAt": "2026-06-02T10:26:55Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4601466769", + "summary": "A user says a merged docs change now describes newer releases as shipping bat, and suggests closing the issue.", + "actorId": 190979964, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4603563061", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-02T14:44:14Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4603563061", + "summary": "The opener corrects this: Debian reverted the rename within months, so no Debian release ships bat, quoting the package changelog.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:process:renamed:2026-06-02T14:44:24Z", + "kind": "process", + "actor": "Tachi107", + "createdAt": "2026-06-02T14:44:24Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "The opener retitles the issue to say batcat has not been renamed after all.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4631462545", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-05T12:17:51Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4631462545", + "summary": "The user who proposed an upstream Bacula rename asks for opinions on it.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4638007961", + "kind": "comment", + "actor": "Huaian666", + "createdAt": "2026-06-06T08:46:09Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4638007961", + "summary": "A user posts off-topic praise about recommending bat.", + "actorId": 226061028, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4638008181", + "kind": "comment", + "actor": "Huaian666", + "createdAt": "2026-06-06T08:46:16Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4638008181", + "summary": "The same user posts off-topic praise for the docs.", + "actorId": 226061028, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4638296272", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-06T10:52:13Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4638296272", + "summary": "The opener calls the upstream rename sensible and asks the proposer to start the conversation with Bacula.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:process:cross-referenced:2026-06-07T05:45:11Z", + "kind": "process", + "actor": "ded-furby", + "createdAt": "2026-06-07T05:45:11Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "A contributor links a docs pull request clarifying the batcat fallback.", + "actorId": 190979964, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4645099771", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-08T03:06:36Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4645099771", + "summary": "The proposer says they could not join Debian's Salsa to reach the maintainers.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4646610449", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-08T08:06:02Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4646610449", + "summary": "The opener clarifies they meant contacting Bacula upstream, not Debian.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4647983140", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-08T10:34:14Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4647983140", + "summary": "The proposer says they could not find Bacula's repository.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4650441825", + "kind": "comment", + "actor": "Huaian666", + "createdAt": "2026-06-08T15:14:15Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4650441825", + "summary": "A user posts off-topic praise.", + "actorId": 226061028, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4651005748", + "kind": "comment", + "actor": "moposx", + "createdAt": "2026-06-08T16:15:21Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4651005748", + "summary": "A user links Bacula's community GitLab.", + "actorId": 15135544, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4655518271", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-09T02:42:54Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4655518271", + "summary": "The proposer reports filing a rename request on Bacula's GitLab and asks people to upvote it there.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4675317134", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2026-06-10T22:35:34Z", + "editedAt": "2026-06-11T19:12:47Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4675317134", + "summary": "A user suggests the Debian packager could divert Bacula's binary as GNU parallel does for moreutils, later striking this through as unsatisfactory.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4681981287", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-11T15:04:53Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4681981287", + "summary": "The opener, a Debian developer, says diversions between unrelated packages are not acceptable in Debian.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4683417415", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2026-06-11T17:52:57Z", + "editedAt": "2026-06-11T19:56:54Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4683417415", + "summary": "The user cites Debian policy calling package diversions a last resort and offers a docs PR and outreach advising local workarounds instead.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4683869439", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-11T18:47:21Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4683869439", + "summary": "The rename proposer welcomes contacting Debian.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4684076392", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-11T19:13:35Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4684076392", + "summary": "The opener doubts Debian would accept that, says diversions are too complex to recommend in a README, and stresses the issue is about fixing the name, not working around it.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4684391965", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2026-06-11T19:52:17Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4684391965", + "summary": "The user asks where the real fix lies and notes a Debian maintainer had already settled how users are told about the batcat name.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4686941645", + "kind": "comment", + "actor": "jvschiavo", + "createdAt": "2026-06-12T03:04:49Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4686941645", + "summary": "The rename proposer clarifies they want Bacula to rename its binary, which is a fix rather than a workaround.", + "actorId": 20977075, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4689004993", + "kind": "comment", + "actor": "Tachi107", + "createdAt": "2026-06-12T08:10:33Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4689004993", + "summary": "The opener agrees that asking Bacula to rename is the only way forward and that they had only objected to the diversion idea.", + "actorId": 34214253, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:4694429168", + "kind": "comment", + "actor": "ernstki", + "createdAt": "2026-06-12T19:08:35Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-4694429168", + "summary": "The user concludes the README already describes the situation about as well as possible for now.", + "actorId": 4009681, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:process:cross-referenced:2026-06-20T08:07:31Z", + "kind": "process", + "actor": "ded-furby", + "createdAt": "2026-06-20T08:07:31Z", + "url": "https://github.com/sharkdp/bat/issues/2455", + "summary": "A contributor links a docs pull request on a personal fork about the batcat naming note.", + "actorId": 190979964, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + }, + { + "id": "bat-2455:comment:5147505818", + "kind": "comment", + "actor": "monerostar", + "createdAt": "2026-07-31T21:11:52Z", + "url": "https://github.com/sharkdp/bat/issues/2455#issuecomment-5147505818", + "summary": "A user checks Ubuntu 26.04 and finds only batcat, so the current README and a pending docs PR wrongly say newer releases install bat; they propose wording that treats batcat as the usual name.", + "actorId": 203146215, + "actorType": "human", + "parentId": "bat-2455:issue:2455" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/crystal-io-argument-position.json b/evals/datasets/decisions-v1/cases/crystal-io-argument-position.json new file mode 100644 index 000000000..c3f89f481 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/crystal-io-argument-position.json @@ -0,0 +1,566 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "crystal-io-argument-position", + "title": "Standard position of the io argument in String/IO method overloads", + "source": { + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "retrievedAt": "2026-10-18T07:28:49.050097+00:00", + "repository": "crystal-lang/crystal", + "number": 5916 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-04-04T15:00:00Z" + }, + { + "id": "c2", + "at": "2018-04-26T15:00:00Z" + }, + { + "id": "c3", + "at": "2020-04-20T15:00:00Z" + }, + { + "id": "c4", + "at": "2020-05-14T00:00:00Z" + } + ], + "events": [ + { + "id": "crystal-5916:issue:5916", + "kind": "opening", + "actor": "straight-shoota", + "createdAt": "2018-04-04T13:49:05Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "summary": "A maintainer notes that stdlib methods with a String-returning and an IO-writing overload place the io argument inconsistently (first, middle or last), and proposes putting io first everywhere so optional arguments can be appended in both variants.", + "actorId": 466378, + "actorType": "human" + }, + { + "id": "crystal-5916:comment:378921762", + "kind": "comment", + "actor": "RX14", + "createdAt": "2018-04-05T12:39:55Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-378921762", + "summary": "A maintainer supports io first and asks for a PR.", + "actorId": 2788811, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:process:labeled:2018-04-05T12:40:00Z", + "kind": "process", + "actor": "RX14", + "createdAt": "2018-04-05T12:40:00Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "summary": "A maintainer labels the issue as a breaking change.", + "actorId": 2788811, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:process:cross-referenced:2018-04-05T19:51:04Z", + "kind": "process", + "actor": "straight-shoota", + "createdAt": "2018-04-05T19:51:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "summary": "The opener links PR #5925, moving io to the first argument.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379063415", + "kind": "comment", + "actor": "asterite", + "createdAt": "2018-04-05T20:18:21Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379063415", + "summary": "The language creator says io-first makes join look odd, since io is the destination and naturally last, calls the change bikeshedding, and argues effort should go to the stalled compiler instead.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379065282", + "kind": "comment", + "actor": "asterite", + "createdAt": "2018-04-05T20:25:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379065282", + "summary": "The creator adds appreciation for the opener's work but suggests focusing on the language and compiler.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379074119", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2018-04-05T20:56:54Z", + "editedAt": "2018-04-05T20:58:21Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379074119", + "summary": "The opener defends the proposal as API consistency, says io last would also be acceptable if applied everywhere, and argues io changes the method's nature so belongs first, and that io last clashes with optional arguments and splats.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379357471", + "kind": "comment", + "actor": "asterite", + "createdAt": "2018-04-06T19:44:31Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379357471", + "summary": "The creator concedes that standardising the order is good since others agree.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379456792", + "kind": "comment", + "actor": "ysbaddaden", + "createdAt": "2018-04-07T09:35:17Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379456792", + "summary": "A collaborator favours convention but strongly objects to join taking io before the separator.", + "actorId": 47380, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379459079", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2018-04-07T10:18:55Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379459079", + "summary": "The opener asks the collaborator what he proposes instead of the current inconsistency.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379459341", + "kind": "comment", + "actor": "RX14", + "createdAt": "2018-04-07T10:24:13Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379459341", + "summary": "A maintainer says he is ambivalent about join with io first.", + "actorId": 2788811, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379482335", + "kind": "comment", + "actor": "Sija", + "createdAt": "2018-04-07T16:35:42Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379482335", + "summary": "A contributor presses the collaborator for reasoning, citing the reactions in favour.", + "actorId": 988, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:379819725", + "kind": "comment", + "actor": "bcardiff", + "createdAt": "2018-04-09T16:52:26Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-379819725", + "summary": "A maintainer suggests io could always be a named argument, allowing it at the end alongside other named options, but says io first is an acceptable compromise.", + "actorId": 459923, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:384623818", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2018-04-26T12:31:55Z", + "editedAt": "2018-04-26T12:33:56Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-384623818", + "summary": "The opener prefers io first over a named io argument, which would add clutter wherever output is delegated.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:384661624", + "kind": "comment", + "actor": "ysbaddaden", + "createdAt": "2018-04-26T14:29:46Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-384661624", + "summary": "The collaborator proposes io always last, with rarely used optional arguments made keyword-only, and urges designing each API case rather than applying a blanket rule.", + "actorId": 47380, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:384680940", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2018-04-26T15:20:56Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-384680940", + "summary": "The opener agrees on keyword arguments for rarely used options but shows with a template-rendering example that io last multiplies overloads with optional positional arguments and cannot work with splats.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:384690382", + "kind": "comment", + "actor": "ysbaddaden", + "createdAt": "2018-04-26T15:45:19Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-384690382", + "summary": "The collaborator says the lack of a stdlib example settles it for him, since the discussion is about stdlib.", + "actorId": 47380, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:384702683", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2018-04-26T16:21:16Z", + "editedAt": "2018-04-26T16:21:37Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-384702683", + "summary": "The opener argues stdlib conventions shape the whole ecosystem and the problem will eventually arise in stdlib too.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612577548", + "kind": "comment", + "actor": "jhass", + "createdAt": "2020-04-12T07:45:27Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612577548", + "summary": "Two years later a maintainer proposes closing and keeping the per-method status quo, given disagreement and no further complaints.", + "actorId": 141294, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612629354", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-12T14:58:40Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612629354", + "summary": "The opener still wants standardisation, saying it causes friction and the thread largely agrees on standardising.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612644776", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-12T16:53:01Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612644776", + "summary": "The creator says io always last would let the compiler optimise string interpolation by calling an IO overload directly.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612645799", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-12T17:00:28Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612645799", + "summary": "The opener notes the same optimisation works with io always first.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612852807", + "kind": "comment", + "actor": "RX14", + "createdAt": "2020-04-13T10:55:22Z", + "editedAt": "2020-04-13T11:00:09Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612852807", + "summary": "A maintainer no longer minds which side, thinks io last is more common, and values standardisation for interpolation optimisations.", + "actorId": 2788811, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612901502", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-13T13:37:10Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612901502", + "summary": "The opener points out Enumerable#join is a real stdlib case: io first needs two overloads where io last needs three, and io last cannot work with splats.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612909277", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-13T13:57:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612909277", + "summary": "The creator finds that convincing, notes it is a big breaking change, and wants it done before 1.0 and recorded in the style guide.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:612924792", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-13T14:35:35Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-612924792", + "summary": "The opener says few methods are affected and deprecation warnings can ease it.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:process:cross-referenced:2020-04-19T15:37:15Z", + "kind": "process", + "actor": "straight-shoota", + "createdAt": "2020-04-19T15:37:15Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "summary": "The opener links PR #9134 standardising io as the first argument.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616183833", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T17:04:52Z", + "editedAt": "2020-04-19T17:07:52Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616183833", + "summary": "The opener announces the PR but exempts class methods that transform a source argument into a sink, such as Base64.encode, so data still flows from source to sink.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616209295", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-19T19:12:44Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616209295", + "summary": "The creator says that sink reasoning is why he always put io last.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616216833", + "kind": "comment", + "actor": "oprypin", + "createdAt": "2020-04-19T20:06:35Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616216833", + "summary": "A maintainer would also prefer io last, expecting fewer changes and inconsistencies.", + "actorId": 371383, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616222782", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T20:48:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616222782", + "summary": "The opener replies that the sink is first when the receiver is the source, and repeats the splat and overload arguments.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616223401", + "kind": "comment", + "actor": "oprypin", + "createdAt": "2020-04-19T20:52:49Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616223401", + "summary": "The maintainer accepts the overload argument as the one strong point and hopes for the interpolation optimisation.", + "actorId": 371383, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616232966", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T22:08:10Z", + "editedAt": "2020-04-19T22:08:36Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616232966", + "summary": "The opener frames the rule as the sink following the source at the call site, and says interpolation works with either side if standard.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616233328", + "kind": "comment", + "actor": "oprypin", + "createdAt": "2020-04-19T22:10:59Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616233328", + "summary": "The maintainer warns it only works if the first argument is always the sink.", + "actorId": 371383, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616234243", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-19T22:18:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616234243", + "summary": "The creator asks for examples of methods with both a non-self source and a sink.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616236443", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T22:33:07Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616236443", + "summary": "The opener says a trailing IO does not imply a String-overload pair either and doubts automatic interpolation can work without an explicit marker; he cites Time::Format#format.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616237255", + "kind": "comment", + "actor": "oprypin", + "createdAt": "2020-04-19T22:39:34Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616237255", + "summary": "The maintainer suggests a usage-based search could find such methods.", + "actorId": 371383, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616237313", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-19T22:39:55Z", + "editedAt": "2020-04-19T22:40:05Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616237313", + "summary": "The creator now sees no problem with io always first and asks if there are cases with two IOs besides copy.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616238460", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T22:48:46Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616238460", + "summary": "The opener cites FileUtils.cmp and says the current list matters less than future methods.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616239052", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-19T22:53:33Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616239052", + "summary": "The creator finds io first acceptable even for Base64.encode, as IO overloads are low level.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616243359", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-19T23:28:42Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616243359", + "summary": "The opener notes source IO already comes first by convention, so with both present the sink should follow the source.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616249961", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-20T00:17:04Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616249961", + "summary": "The creator asks where else a source IO appears besides copy.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616250117", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-20T00:17:55Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616250117", + "summary": "The creator floats a required named io argument as another option.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616418284", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-20T09:13:02Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616418284", + "summary": "The opener lists parse and from_io as source-IO methods, rejects a named io as verbose and already dismissed, and says PR #9134 is the right path.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616486594", + "kind": "comment", + "actor": "asterite", + "createdAt": "2020-04-20T11:20:41Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616486594", + "summary": "The creator says the PR is fine but would also move io first for Base64.encode.", + "actorId": 209371, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616557062", + "kind": "comment", + "actor": "ysbaddaden", + "createdAt": "2020-04-20T13:34:53Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616557062", + "summary": "The collaborator restates his objection: io last with keyword options gives a better API, and join and Base64.encode with io first read wrongly.", + "actorId": 47380, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:comment:616579402", + "kind": "comment", + "actor": "straight-shoota", + "createdAt": "2020-04-20T14:10:34Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916#issuecomment-616579402", + "summary": "The opener rebuts that the PR follows a sink-after-source rule, that Base64 is excluded, and that some optional positional arguments need not be keywords.", + "actorId": 466378, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + }, + { + "id": "crystal-5916:process:closed:2020-05-13T13:47:43Z", + "kind": "process", + "actor": "bcardiff", + "createdAt": "2020-05-13T13:47:43Z", + "url": "https://github.com/crystal-lang/crystal/issues/5916", + "summary": "A maintainer closes the issue as PR #9134 merges.", + "actorId": 459923, + "actorType": "human", + "parentId": "crystal-5916:issue:5916" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/delta-auto-light-dark-detection.json b/evals/datasets/decisions-v1/cases/delta-auto-light-dark-detection.json new file mode 100644 index 000000000..62c0c12f0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/delta-auto-light-dark-detection.json @@ -0,0 +1,591 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "delta-auto-light-dark-detection", + "title": "Automatic light or dark mode in delta", + "source": { + "url": "https://github.com/dandavison/delta/issues/447", + "retrievedAt": "2026-10-18T07:35:10.590404+00:00", + "repository": "dandavison/delta", + "number": 447 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-12-17T17:00:00Z" + }, + { + "id": "c2", + "at": "2020-12-18T17:00:00Z" + }, + { + "id": "c3", + "at": "2024-03-12T00:00:00Z" + }, + { + "id": "c4", + "at": "2024-03-17T00:00:00Z" + } + ], + "events": [ + { + "id": "delta-447:issue:447", + "kind": "opening", + "actor": "tshu-w", + "createdAt": "2020-12-15T06:08:42Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "The opener asks delta to pick its light or dark theme from the terminal theme or a system setting, since their terminal follows the macOS appearance.", + "actorId": 13161779, + "actorType": "human" + }, + { + "id": "delta-447:comment:747542951", + "kind": "comment", + "actor": "lourenci", + "createdAt": "2020-12-17T16:17:13Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-747542951", + "summary": "A user seconds the request, wanting delta to switch between its --light and --dark colours automatically, and asks which terminal the opener uses.", + "actorId": 2339362, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:747562276", + "kind": "comment", + "actor": "tshu-w", + "createdAt": "2020-12-17T16:49:37Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-747562276", + "summary": "The opener says they use iTerm2 with a script that toggles its theme.", + "actorId": 13161779, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:747595837", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2020-12-17T17:48:44Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-747595837", + "summary": "The maintainer proposes splitting the problem: detecting system state is the user's job, and delta will read a new DELTA_FEATURES environment variable naming light or dark custom features, already added on master.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:748184142", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2020-12-18T16:19:14Z", + "editedAt": "2020-12-18T16:23:40Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-748184142", + "summary": "The maintainer posts a proof of concept using iTerm2 escape codes, a zsh preexec hook and a luminance script to set DELTA_FEATURES, noting it fails under tmux.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:748188736", + "kind": "comment", + "actor": "ghost", + "createdAt": "2020-12-18T16:27:36Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-748188736", + "summary": "A contributor agrees detection is not strictly delta's job but notes demand, suggests the termbg library, and offers to implement it.", + "actorId": 10137, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:748193527", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2020-12-18T16:36:37Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-748193527", + "summary": "The maintainer welcomes termbg and says building background detection into delta would be the better solution, partly because it supports tmux.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:748194744", + "kind": "comment", + "actor": "ghost", + "createdAt": "2020-12-18T16:39:02Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-748194744", + "summary": "The contributor confirms tmux support and plans to try termbg soon.", + "actorId": 10137, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:748344622", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2020-12-18T22:12:12Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-748344622", + "summary": "The maintainer hands the work to that contributor.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:749681187", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2020-12-22T17:39:35Z", + "editedAt": "2020-12-22T20:38:47Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-749681187", + "summary": "The maintainer sketches the end state: detection first toggles --light and --dark, later users could define light and dark features, with an open question about fixed versus user-chosen feature names.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:757135015", + "kind": "comment", + "actor": "tshu-w", + "createdAt": "2021-01-09T11:23:03Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-757135015", + "summary": "The opener thanks both, calls the env-var workaround enough for now, and keeps the issue open for built-in detection.", + "actorId": 13161779, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:764889828", + "kind": "comment", + "actor": "sscherfke", + "createdAt": "2021-01-21T19:40:08Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-764889828", + "summary": "A user suggests a configurable command, such as a DELTA_TERMBG_CMD variable, as a fallback when termbg does not work.", + "actorId": 511179, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:766504351", + "kind": "comment", + "actor": "ghost", + "createdAt": "2021-01-25T02:46:42Z", + "editedAt": "2021-01-25T02:47:06Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-766504351", + "summary": "The contributor says they are busy until March and invites a PR.", + "actorId": 10137, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:792042705", + "kind": "comment", + "actor": "skyfaller", + "createdAt": "2021-03-06T19:58:00Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-792042705", + "summary": "A user points out that bat added an ansi theme that adapts to light and dark terminals and asks if delta could do the same.", + "actorId": 80093, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:808821016", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-03-28T00:10:07Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-808821016", + "summary": "The maintainer says delta will adopt bat's ansi theme, but notes that diff background colours are usually 256 or 24-bit, so automatic switching would still be unsolved.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:808822987", + "kind": "comment", + "actor": "skyfaller", + "createdAt": "2021-03-28T00:30:33Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-808822987", + "summary": "The user agrees ansi is a partial workaround and shares a GNOME and fish script that rewrites the delta theme in gitconfig when the desktop theme changes.", + "actorId": 80093, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:808823775", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-03-28T00:39:35Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-808823775", + "summary": "The maintainer thanks them for the examples.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:829533349", + "kind": "comment", + "actor": "jtroo", + "createdAt": "2021-04-29T19:38:19Z", + "editedAt": "2021-04-29T19:51:20Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-829533349", + "summary": "A user reports the ansi theme on master works on light backgrounds but not dark ones.", + "actorId": 6634136, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:process:cross-referenced:2021-04-29T21:12:26Z", + "kind": "process", + "actor": "dandavison", + "createdAt": "2021-04-29T21:12:26Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "The maintainer links a PR fixing the ansi syntax theme.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:829600246", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-04-29T21:13:25Z", + "editedAt": "2021-04-29T21:13:32Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-829600246", + "summary": "The maintainer says the linked PR should fix it and asks the user to confirm.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:829606997", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-04-29T21:25:52Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-829606997", + "summary": "The maintainer retracts that, saying the branch needs more work.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:829614706", + "kind": "comment", + "actor": "jtroo", + "createdAt": "2021-04-29T21:41:51Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-829614706", + "summary": "The user reports the branch works for them.", + "actorId": 6634136, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:process:closed:2021-04-30T02:16:24Z", + "kind": "process", + "actor": "dandavison", + "createdAt": "2021-04-30T02:16:24Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "The maintainer closes the issue.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:829750194", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-04-30T02:19:16Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-829750194", + "summary": "The maintainer says the fix is now on master.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:process:reopened:2021-04-30T11:47:22Z", + "kind": "process", + "actor": "dandavison", + "createdAt": "2021-04-30T11:47:22Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "The maintainer reopens the issue, since automatic detection is still not done.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:845073704", + "kind": "comment", + "actor": "lourenci", + "createdAt": "2021-05-20T12:40:12Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-845073704", + "summary": "A user says the ansi theme still looks wrong on their light terminal.", + "actorId": 2339362, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:845482338", + "kind": "comment", + "actor": "jtroo", + "createdAt": "2021-05-20T21:15:33Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-845482338", + "summary": "Another user says the output is correct and the diff backgrounds are just too dark, suggesting custom colours.", + "actorId": 6634136, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:845502233", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-05-20T21:53:51Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-845502233", + "summary": "The maintainer suggests adding light = true, since delta assumes a dark background by default.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:845503167", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2021-05-20T21:55:43Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-845503167", + "summary": "The maintainer clarifies that syntax-theme only affects foreground colours, while backgrounds come from plus-style and similar options.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1082724238", + "kind": "comment", + "actor": "chtenb", + "createdAt": "2022-03-30T07:26:11Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1082724238", + "summary": "A contributor agrees ansi syntax is not a full workaround because diff backgrounds still need 24-bit colours, and asks whether termbg support shipped.", + "actorId": 1030961, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1082726675", + "kind": "comment", + "actor": "chtenb", + "createdAt": "2022-03-30T07:29:16Z", + "editedAt": "2022-03-30T07:29:50Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1082726675", + "summary": "The contributor argues DELTA_FEATURES fails for their case: an editor terminal that follows system theme has no hook, and env changes do not reach open terminals.", + "actorId": 1030961, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1082730400", + "kind": "comment", + "actor": "floriankisser", + "createdAt": "2022-03-30T07:33:53Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1082730400", + "summary": "A user reports that termbg needs stdin, which delta already uses for its input pipe.", + "actorId": 6919601, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1083678769", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2022-03-30T22:07:42Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1083678769", + "summary": "The maintainer suggests a wrapper script reading a state file, and agrees termbg looks like a dead end because of stdin.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1084248127", + "kind": "comment", + "actor": "chtenb", + "createdAt": "2022-03-31T08:15:37Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1084248127", + "summary": "The contributor replies that a generic terminal-background check would be far cleaner, and that termbg does not support their editor's terminal anyway.", + "actorId": 1030961, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1085094665", + "kind": "comment", + "actor": "cben", + "createdAt": "2022-03-31T20:48:33Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1085094665", + "summary": "A user notes that any standard descriptor attached to a terminal is bidirectional, as less reads keys from stderr.", + "actorId": 273688, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1100397812", + "kind": "comment", + "actor": "chtenb", + "createdAt": "2022-04-15T21:12:51Z", + "editedAt": "2024-03-12T12:57:36Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1100397812", + "summary": "The contributor describes an alternative using only ANSI palette colours for syntax and diff backgrounds, so a terminal that swaps palettes adapts automatically, with config and a demo video.", + "actorId": 1030961, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1239398586", + "kind": "comment", + "actor": "seansfkelley", + "createdAt": "2022-09-07T13:34:26Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1239398586", + "summary": "A user shares a macOS gitconfig pager line that picks a delta feature from the system appearance at run time.", + "actorId": 2101409, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1431268846", + "kind": "comment", + "actor": "eproxus", + "createdAt": "2023-02-15T12:08:10Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1431268846", + "summary": "A user adds the matching diffFilter line for interactive git add.", + "actorId": 112878, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1480094036", + "kind": "comment", + "actor": "connorjs", + "createdAt": "2023-03-22T18:50:45Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1480094036", + "summary": "A user gives a POSIX sh version of that snippet.", + "actorId": 22208536, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1491838752", + "kind": "comment", + "actor": "anuanandpremji", + "createdAt": "2023-03-31T12:14:50Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1491838752", + "summary": "A user shares an equivalent GNOME setup that checks the GTK theme name.", + "actorId": 60327270, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1550532267", + "kind": "comment", + "actor": "texastoland", + "createdAt": "2023-05-17T00:49:01Z", + "editedAt": "2024-04-06T21:07:43Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1550532267", + "summary": "A user posts a shorter alias variant that only toggles --light.", + "actorId": 48431, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:process:cross-referenced:2023-07-29T13:55:03Z", + "kind": "process", + "actor": "aykevl", + "createdAt": "2023-07-29T13:55:03Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "A user links a PR that tries to read the default light or dark state from the terminal.", + "actorId": 729697, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1656806629", + "kind": "comment", + "actor": "aykevl", + "createdAt": "2023-07-29T17:56:15Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1656806629", + "summary": "That user reports that querying the terminal colour is unreliable alongside less because of a race, not stdin, and suggests reading COLORFGBG instead, which is static per session.", + "actorId": 729697, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1991557036", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2024-03-12T12:38:08Z", + "editedAt": "2024-03-12T15:08:53Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1991557036", + "summary": "The maintainer announces a solution contributed in PR 1615, merged to main, and asks people to test.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:1998778806", + "kind": "comment", + "actor": "texastoland", + "createdAt": "2024-03-15T01:50:55Z", + "editedAt": "2024-03-15T01:54:34Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-1998778806", + "summary": "A user reports it works with lazygit on macOS.", + "actorId": 48431, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:2002011943", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2024-03-16T14:58:40Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-2002011943", + "summary": "The maintainer says the fix shipped in delta 0.17.0 and notes tmux users must reattach for changes to apply.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:process:closed:2024-03-16T14:58:40Z", + "kind": "process", + "actor": "dandavison", + "createdAt": "2024-03-16T14:58:40Z", + "url": "https://github.com/dandavison/delta/issues/447", + "summary": "The maintainer closes the issue.", + "actorId": 52205, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:2016911013", + "kind": "comment", + "actor": "texastoland", + "createdAt": "2024-03-24T19:12:40Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-2016911013", + "summary": "A user retracts their report: detect-dark-light always shows dark for them.", + "actorId": 48431, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:2017875324", + "kind": "comment", + "actor": "tautropfli", + "createdAt": "2024-03-25T12:17:47Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-2017875324", + "summary": "A contributor says automatic detection does not work inside lazygit and links a separate issue.", + "actorId": 4602612, + "actorType": "human", + "parentId": "delta-447:issue:447" + }, + { + "id": "delta-447:comment:2017924648", + "kind": "comment", + "actor": "texastoland", + "createdAt": "2024-03-25T12:45:59Z", + "url": "https://github.com/dandavison/delta/issues/447#issuecomment-2017924648", + "summary": "The user thanks them.", + "actorId": 48431, + "actorType": "human", + "parentId": "delta-447:issue:447" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/deno-deny-flags-strict-check.json b/evals/datasets/decisions-v1/cases/deno-deny-flags-strict-check.json new file mode 100644 index 000000000..37f727f92 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/deno-deny-flags-strict-check.json @@ -0,0 +1,932 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "deno-deny-flags-strict-check", + "title": "Strictness of permission checks under deny flags", + "source": { + "url": "https://github.com/denoland/deno/pull/19070", + "retrievedAt": "2026-10-18T07:26:37.376617+00:00", + "repository": "denoland/deno", + "number": 19070 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-07-12T19:00:00Z" + }, + { + "id": "c2", + "at": "2023-07-17T03:00:00Z" + }, + { + "id": "c3", + "at": "2023-07-17T05:22:30Z" + } + ], + "events": [ + { + "id": "deno-19070:pr:19070", + "kind": "opening", + "actor": "iuioiua", + "createdAt": "2023-05-10T12:24:17Z", + "url": "https://github.com/denoland/deno/pull/19070", + "summary": "A contributor opens the pull request adding --deny-* permission flags, closing the tracking issue.", + "actorId": 29347852, + "actorType": "human" + }, + { + "id": "deno-19070:comment:1550926743", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-05-17T07:54:04Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1550926743", + "summary": "The author asks a more experienced contributor to implement their proposed generic permission API for env first, so the pattern can be copied to other permissions.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1553788683", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-05-18T23:47:13Z", + "editedAt": "2023-05-18T23:48:06Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1553788683", + "summary": "That contributor shares a commit moving most logic into a generic permission struct for env and read; flag parsing and serialisation are left undone and untested.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1553795269", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-05-18T23:51:33Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1553795269", + "summary": "The author thanks them.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1592378165", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-06-15T05:18:08Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1592378165", + "summary": "The author reports FFI and write permissions are done but tests fail, and asks for a quick review.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1241077098", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:40:48Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241077098", + "summary": "A maintainer suggests clearer help text for the deny-read flag.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241077316", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:42:08Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241077316", + "summary": "A maintainer asks to keep explicit enum numbers.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241078015", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:42:37Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241078015", + "summary": "A maintainer questions whether a comparison should be a strict greater-than.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241078764", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:44:43Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241078764", + "summary": "A maintainer suggests let-else guards for readability.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241078779", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:44:50Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241078779", + "summary": "A maintainer repeats the same readability suggestion.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241078809", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:44:57Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241078809", + "summary": "A maintainer repeats the same readability suggestion.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review-comment:1241078818", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:45:03Z", + "editedAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1241078818", + "summary": "A maintainer repeats the same readability suggestion.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1496946530" + }, + { + "id": "deno-19070:review:1496946530", + "kind": "review", + "actor": "bartlomieju", + "createdAt": "2023-06-25T07:46:10Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1496946530", + "summary": "A maintainer says the work looks good, asks for Rust unit and runtime API tests, and notes the manual must be updated before landing.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1606740776", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-06-26T06:31:56Z", + "editedAt": "2023-06-26T06:55:31Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1606740776", + "summary": "The author reports existing permission tests fail, probably in the net permission check.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1610305966", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-06-27T22:28:47Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1610305966", + "summary": "The author asks for help fixing the existing tests.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1610849799", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-06-28T06:37:51Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1610849799", + "summary": "A maintainer says they will look at the tests soon.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1251213965", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-03T19:18:16Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1251213965", + "summary": "A contributor suggests an implementation of the stronger-than comparison.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1251222982", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-03T19:35:17Z", + "editedAt": "2023-07-03T19:35:50Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1251222982", + "summary": "The contributor corrects their earlier code: the no-prompt check must recurse downward.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1622848265", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-06T02:12:00Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1622848265", + "summary": "The author renames the no-prompt fields to avoid confusion with the --no-prompt flag.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1253886950", + "kind": "review-comment", + "actor": "iuioiua", + "createdAt": "2023-07-06T03:38:48Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1253886950", + "summary": "The author asks whether revoke tests should now expect a partially granted state and whether prompt states should appear.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1253903380", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-06T04:14:16Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1253903380", + "summary": "A contributor explains revoke stays upward-recursive as before, giving the use case behind it, and floats a separate deny API for the opposite interpretation.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1253886950" + }, + { + "id": "deno-19070:review-comment:1253983432", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-06T06:15:55Z", + "editedAt": "2023-07-06T06:15:56Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1253983432", + "summary": "A contributor proposes reporting partial grants as a granted state with a partial flag rather than a new state, to keep compatibility.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1253992937", + "kind": "review-comment", + "actor": "iuioiua", + "createdAt": "2023-07-06T06:29:35Z", + "editedAt": "2023-07-06T06:29:36Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1253992937", + "summary": "The author agrees and plans the fix.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:review-comment:1253983432" + }, + { + "id": "deno-19070:comment:1624539160", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-07T02:07:16Z", + "editedAt": "2023-07-07T02:34:41Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1624539160", + "summary": "The author reports integration tests fail even though manual runs behave correctly.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1630005716", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-11T02:26:27Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1630005716", + "summary": "A contributor explains the failures: the PR fixed a wrong API name in prompts, so expectations must change, and a display-path detail was lost; they supply a fix.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1630163227", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-11T05:31:50Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1630163227", + "summary": "The author applies the fixes but tests still fail locally.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1630286649", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-11T07:21:58Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1630286649", + "summary": "The author finds net permission queries wrongly include the port.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1631094168", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-11T16:02:42Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1631094168", + "summary": "A contributor posts a commit fixing the port issue.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1631902428", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T06:06:10Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1631902428", + "summary": "A contributor posts a commit fixing remaining tests, which also shortens the net prompt wording and removes unused descriptions.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1631960008", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-12T07:02:15Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1631960008", + "summary": "The author marks the PR ready for review.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1261446185", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T16:40:52Z", + "editedAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261446185", + "summary": "A contributor says a new type alias is unnecessary.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1526786611" + }, + { + "id": "deno-19070:review-comment:1261488715", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T17:23:00Z", + "editedAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261488715", + "summary": "A contributor finds the status cache breaks onchange events and gives a test case.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1526786611" + }, + { + "id": "deno-19070:review-comment:1261491588", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T17:26:01Z", + "editedAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261491588", + "summary": "A contributor suggests factoring a conversion into a From implementation.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1526786611" + }, + { + "id": "deno-19070:review-comment:1261493976", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T17:28:33Z", + "editedAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261493976", + "summary": "A contributor explains the default stronger-than implementation only holds for equal descriptors.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1241078015" + }, + { + "id": "deno-19070:review-comment:1261496572", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T17:31:13Z", + "editedAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261496572", + "summary": "A contributor proposes renaming the denied fields to distinguish flag denials from prompt denials.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1526786611" + }, + { + "id": "deno-19070:review:1526786611", + "kind": "review", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T17:50:04Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1526786611", + "summary": "A contributor's review flags one correctness issue with onchange plus style points.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1632980807", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T18:02:09Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1632980807", + "summary": "A contributor says recursive APIs such as watchFs, recursive remove and readDir must use non-partial checks, proposing new check methods, and stresses testing so deny flags are not bypassed.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1261795847", + "kind": "review-comment", + "actor": "iuioiua", + "createdAt": "2023-07-12T22:49:16Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261795847", + "summary": "The author proposes the name prompt_denied instead.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:review-comment:1261496572" + }, + { + "id": "deno-19070:review-comment:1261797927", + "kind": "review-comment", + "actor": "iuioiua", + "createdAt": "2023-07-12T22:52:36Z", + "editedAt": "2023-07-12T23:04:33Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261797927", + "summary": "The author agrees to remove the alias since the partial field is only ever true.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:review-comment:1261446185" + }, + { + "id": "deno-19070:review-comment:1261805568", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-12T23:07:06Z", + "editedAt": "2023-07-12T23:07:07Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1261805568", + "summary": "The contributor agrees with the new name.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1261496572" + }, + { + "id": "deno-19070:comment:1637279907", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-17T01:58:39Z", + "editedAt": "2023-07-17T02:00:31Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1637279907", + "summary": "A contributor lists further APIs, including rename and link, that need non-partial checks so moving paths cannot bypass denials.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1637397689", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-17T05:21:17Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1637397689", + "summary": "The author reports that, after an offline talk, the default check was made strict (requiring full grant) and the lenient variant renamed check_partial; they ask whether existing tests suffice.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1637399656", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-17T05:23:59Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1637399656", + "summary": "A contributor says making the safe check the default eases their regression worry.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1267391080", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-18T23:39:05Z", + "editedAt": "2023-07-18T23:43:36Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1267391080", + "summary": "A contributor flags a missed rename.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1536034009" + }, + { + "id": "deno-19070:review-comment:1267391218", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-18T23:39:24Z", + "editedAt": "2023-07-18T23:43:36Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1267391218", + "summary": "A contributor flags a missed rename.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1536034009" + }, + { + "id": "deno-19070:review-comment:1267391521", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-18T23:40:06Z", + "editedAt": "2023-07-18T23:43:36Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1267391521", + "summary": "A contributor flags a missed rename.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1536034009" + }, + { + "id": "deno-19070:review-comment:1267391879", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-18T23:40:57Z", + "editedAt": "2023-07-18T23:43:36Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1267391879", + "summary": "A contributor flags a missed rename.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review:1536034009" + }, + { + "id": "deno-19070:review:1536034009", + "kind": "review", + "actor": "nayeemrmn", + "createdAt": "2023-07-18T23:43:36Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1536034009", + "summary": "A contributor notes missed renames and otherwise approves the direction.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review:1536098108", + "kind": "review", + "actor": "nayeemrmn", + "createdAt": "2023-07-19T01:15:29Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1536098108", + "summary": "A contributor approves.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1641233855", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-19T01:17:29Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1641233855", + "summary": "The author suggests also adding --deny-all as an alias for --no-prompt.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1641246372", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-19T01:21:58Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1641246372", + "summary": "A contributor prefers deferring it, saying the main use case is carve-outs and each global flag needs a clear use.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1641248019", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-19T01:24:00Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1641248019", + "summary": "The author says the logic for it mostly exists already.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1641250105", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-19T01:27:39Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1641250105", + "summary": "The contributor explains deny flags override allow flags while --no-prompt only affects ungranted permissions, so they differ.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1641250789", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-19T01:28:45Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1641250789", + "summary": "The author agrees to drop the idea.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1269971709", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-07-20T21:11:01Z", + "editedAt": "2023-07-20T21:19:06Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1269971709", + "summary": "A reviewer says some test defaults can be omitted.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-19070:review:1540101048" + }, + { + "id": "deno-19070:review:1540101048", + "kind": "review", + "actor": "mmastrac", + "createdAt": "2023-07-20T21:18:02Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1540101048", + "summary": "A reviewer leaves minor comments.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1646643198", + "kind": "comment", + "actor": "mmastrac", + "createdAt": "2023-07-22T18:15:55Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1646643198", + "summary": "A reviewer is happy with the PR but wants the lead maintainer's final approval.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:process:renamed:2023-07-27T11:05:00Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:05:00Z", + "url": "https://github.com/denoland/deno/pull/19070", + "summary": "A maintainer retitles the PR to name the new deny flags.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:process:renamed:2023-07-27T11:05:07Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:05:07Z", + "url": "https://github.com/denoland/deno/pull/19070", + "summary": "A maintainer fixes the flag spelling in the title.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1276124439", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:05:55Z", + "editedAt": "2023-07-27T11:12:11Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276124439", + "summary": "A maintainer asks why some tests switched from the query API to request.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1549594949" + }, + { + "id": "deno-19070:review-comment:1276125540", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:07:09Z", + "editedAt": "2023-07-27T11:12:11Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276125540", + "summary": "A maintainer notes the manual needs updating on landing.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1549594949" + }, + { + "id": "deno-19070:review-comment:1276130212", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:11:27Z", + "editedAt": "2023-07-27T11:12:11Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276130212", + "summary": "A maintainer asks whether renumbering the permission state enum could break user code.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review:1549594949" + }, + { + "id": "deno-19070:review-comment:1276130640", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:11:54Z", + "editedAt": "2023-07-27T11:12:11Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276130640", + "summary": "A maintainer asks for an explanatory code comment.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:review-comment:1241078015" + }, + { + "id": "deno-19070:review:1549594949", + "kind": "review", + "actor": "bartlomieju", + "createdAt": "2023-07-27T11:12:11Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1549594949", + "summary": "A maintainer leaves initial review notes and plans a deeper look.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1276605416", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-27T17:28:13Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276605416", + "summary": "A contributor says the tests already used request and only the prompt text was wrong.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1276124439" + }, + { + "id": "deno-19070:review-comment:1276606474", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-07-27T17:29:26Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1276606474", + "summary": "A contributor says the enum is only used between workers and does not reach user code.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1276130212" + }, + { + "id": "deno-19070:comment:1656403831", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-28T22:36:24Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1656403831", + "summary": "The author adds the requested comment.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:comment:1656486088", + "kind": "comment", + "actor": "iuioiua", + "createdAt": "2023-07-29T00:26:48Z", + "url": "https://github.com/denoland/deno/pull/19070#issuecomment-1656486088", + "summary": "The author notes one failing test also fails on main locally.", + "actorId": 29347852, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1282383590", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-08-02T20:22:58Z", + "editedAt": "2023-08-02T20:30:03Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282383590", + "summary": "A maintainer asks whether a single change event should fire when both state and partial change.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1282387247", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-08-02T20:27:21Z", + "editedAt": "2023-08-02T20:30:03Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282387247", + "summary": "A maintainer praises the cleanup.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1282388846", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-08-02T20:29:18Z", + "editedAt": "2023-08-02T20:30:03Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282388846", + "summary": "A maintainer praises the tests.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1282391871", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-08-02T20:32:56Z", + "editedAt": "2023-08-02T20:32:57Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282391871", + "summary": "A contributor suggests code that fires one event when either field changes.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1282383590" + }, + { + "id": "deno-19070:review-comment:1282392657", + "kind": "review-comment", + "actor": "nayeemrmn", + "createdAt": "2023-08-02T20:33:56Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282392657", + "summary": "A contributor adds that partial status cannot really change in practice.", + "actorId": 29990554, + "actorType": "human", + "parentId": "deno-19070:review-comment:1282383590" + }, + { + "id": "deno-19070:review-comment:1282393301", + "kind": "review-comment", + "actor": "dsherret", + "createdAt": "2023-08-02T20:34:47Z", + "editedAt": "2023-08-03T02:20:39Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282393301", + "summary": "A reviewer asks for a comment explaining the partial field.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-19070:review:1559802723" + }, + { + "id": "deno-19070:review:1559945445", + "kind": "review", + "actor": "bartlomieju", + "createdAt": "2023-08-02T22:55:58Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1559945445", + "summary": "The lead maintainer approves, saying the feature greatly expands the permission system, but waits for more reviews.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:review-comment:1282569298", + "kind": "review-comment", + "actor": "dsherret", + "createdAt": "2023-08-03T02:14:41Z", + "editedAt": "2023-08-03T02:20:39Z", + "url": "https://github.com/denoland/deno/pull/19070#discussion_r1282569298", + "summary": "A reviewer suggests a three-option enum instead of a boolean for clarity.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-19070:review:1559802723" + }, + { + "id": "deno-19070:review:1559802723", + "kind": "review", + "actor": "dsherret", + "createdAt": "2023-08-03T02:20:39Z", + "url": "https://github.com/denoland/deno/pull/19070#pullrequestreview-1559802723", + "summary": "A reviewer approves.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:process:merged:2023-08-03T11:19:20Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-08-03T11:19:20Z", + "url": "https://github.com/denoland/deno/pull/19070", + "summary": "The lead maintainer merges the PR.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + }, + { + "id": "deno-19070:process:closed:2023-08-03T11:19:20Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-08-03T11:19:20Z", + "url": "https://github.com/denoland/deno/pull/19070", + "summary": "The PR closes on merge.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-19070:pr:19070" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/deno-jupyter-rich-display.json b/evals/datasets/decisions-v1/cases/deno-jupyter-rich-display.json new file mode 100644 index 000000000..a4116a9c5 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/deno-jupyter-rich-display.json @@ -0,0 +1,945 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "deno-jupyter-rich-display", + "title": "Rich display API for the Deno Jupyter kernel", + "source": { + "url": "https://github.com/denoland/deno/pull/20337", + "retrievedAt": "2026-10-18T07:26:44.582099+00:00", + "repository": "denoland/deno", + "number": 20337 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-09-09T10:00:00Z" + }, + { + "id": "c2", + "at": "2023-09-09T17:00:00Z" + }, + { + "id": "c3", + "at": "2023-09-11T00:00:00Z" + }, + { + "id": "c4", + "at": "2023-09-11T02:47:30Z" + } + ], + "events": [ + { + "id": "deno-20337:pr:20337", + "kind": "opening", + "actor": "bartlomieju", + "createdAt": "2023-08-31T16:05:26Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "A maintainer reopens an earlier community Jupyter kernel PR, rebased onto main, to close the long-standing request for Jupyter support.", + "actorId": 13602871, + "actorType": "human" + }, + { + "id": "deno-20337:review-comment:1312473764", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-01T02:42:06Z", + "editedAt": "2023-09-01T02:44:33Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1312473764", + "summary": "A reviewer asks whether much of the code is unused and should be trimmed before merging.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:review:1606095141" + }, + { + "id": "deno-20337:review-comment:1312474356", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-01T02:43:47Z", + "editedAt": "2023-09-01T02:44:33Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1312474356", + "summary": "A reviewer notes some calls will panic and suggests printing instead.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:review:1606095141" + }, + { + "id": "deno-20337:review:1606095141", + "kind": "review", + "actor": "mmastrac", + "createdAt": "2023-09-01T02:44:33Z", + "url": "https://github.com/denoland/deno/pull/20337#pullrequestreview-1606095141", + "summary": "A reviewer finds the work polished and leans toward landing it and fixing issues afterwards.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1312727661", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-01T08:24:08Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1312727661", + "summary": "The maintainer agrees to print instead of panicking.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1312474356" + }, + { + "id": "deno-20337:review-comment:1312728386", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-01T08:24:44Z", + "editedAt": "2023-09-01T08:24:45Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1312728386", + "summary": "The maintainer says cleanup must happen first and that he wants to drop the Deno.jupyter JavaScript API from the first pass as questionable.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1312473764" + }, + { + "id": "deno-20337:review-comment:1313585445", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-01T22:16:16Z", + "editedAt": "2023-09-01T22:38:23Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1313585445", + "summary": "A Jupyter contributor jokes about a gitignore entry.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:review:1607716256" + }, + { + "id": "deno-20337:review:1607716256", + "kind": "review", + "actor": "rgbkrk", + "createdAt": "2023-09-01T22:38:23Z", + "url": "https://github.com/denoland/deno/pull/20337#pullrequestreview-1607716256", + "summary": "A Jupyter contributor looks forward to trying it and wonders what conventions for rich object representations will emerge.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:process:cross-referenced:2023-09-03T20:08:09Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-09-03T20:08:09Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "The maintainer links an earlier PR proposing a repl global with helpers.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1315102234", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-04T16:21:14Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1315102234", + "summary": "A Jupyter contributor explains that ZeroMQ identities are optional in typical setups but worth keeping for compatibility.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1706342012", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-05T10:17:32Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1706342012", + "summary": "The maintainer reports porting code from evcxr on the contributor's advice, says it works in VS Code and Jupyter, notes he cut custom formatting and the Deno.jupyter API, and asks how to test a kernel.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1707086622", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-05T18:13:12Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1707086622", + "summary": "A Jupyter contributor suggests jupyter_kernel_test or papermill-based notebook runs for testing.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1707152309", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-05T18:51:33Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1707152309", + "summary": "A Jupyter contributor flags known spec mismatches in evcxr and encourages shipping the basics for people to try.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1707231059", + "kind": "comment", + "actor": "kafonek", + "createdAt": "2023-09-05T19:58:22Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1707231059", + "summary": "Another user shares a sidecar tool for testing kernel messaging over ZeroMQ.", + "actorId": 3867768, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1707656955", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-06T04:56:28Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1707656955", + "summary": "The maintainer plans a simple notebook integration test, asks about language_info values, prefers avoiding Python in CI, and asks whether to shell out to jupyter kernelspec and whether interrupt requests matter.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1708959834", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-06T19:23:09Z", + "editedAt": "2023-09-07T01:30:21Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1708959834", + "summary": "A Jupyter contributor says SIGINT handling is enough for now, Python is unavoidable for those tools, and installation should go through jupyter kernelspec.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1709706918", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-07T08:32:04Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1709706918", + "summary": "The maintainer thanks him and plans to finish soon.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1711062755", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-08T04:37:55Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1711062755", + "summary": "The maintainer asks again about the right nbconvert_exporter value.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1711908215", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-08T16:06:40Z", + "editedAt": "2023-09-10T23:03:41Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1711908215", + "summary": "The maintainer says the team agreed to land it for Deno 1.37 and lists blockers: a test, CI time, binary size, cross-platform checks and settling how the subcommand and install flag are shaped.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1712138319", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-08T19:37:24Z", + "editedAt": "2023-09-08T19:37:50Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712138319", + "summary": "A Jupyter contributor confirms typescript for pygments_lexer and script for the exporter.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1320489823", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-09T05:46:17Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320489823", + "summary": "A Jupyter contributor assumed users would choose permissions in the kernelspec or at install time.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1320491196", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-09T05:55:49Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320491196", + "summary": "A Jupyter contributor hopes to discuss object representations and a way to send rich display_data such as HTML and JSON.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1320545240", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-09T11:33:49Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320545240", + "summary": "The maintainer worries that permissions fixed at install would force reinstalling the kernel to widen them.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1320489823" + }, + { + "id": "deno-20337:review-comment:1320545431", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-09T11:35:16Z", + "editedAt": "2023-09-09T11:35:17Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320545431", + "summary": "The maintainer notes the original PR had a Deno.jupyter API with display helpers, says he is uncomfortable adding such APIs now, and floats Deno.inspect-style formatting instead.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1320491196" + }, + { + "id": "deno-20337:comment:1712534259", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-09T15:12:55Z", + "editedAt": "2023-09-10T04:58:21Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712534259", + "summary": "A Jupyter contributor reports that pressing tab crashes the kernel because completion is unimplemented.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1320598308", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-09T16:04:55Z", + "editedAt": "2023-09-10T13:31:12Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320598308", + "summary": "A Jupyter contributor proposes a low-level raw display of a media-type bundle plus a hook for library authors, comparing IPython's display and _repr_html_, and warns that Deno.inspect would make libraries depend on Deno.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:review-comment:1320491196" + }, + { + "id": "deno-20337:review-comment:1320619083", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-09T17:58:46Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320619083", + "summary": "A Jupyter contributor argues a REPL-like kernel should allow all permissions by default and let locked-down deployments narrow them.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:review-comment:1320489823" + }, + { + "id": "deno-20337:comment:1712712986", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-10T04:59:17Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712712986", + "summary": "A Jupyter contributor says work from another PR should be brought over.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1320739429", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-10T10:10:00Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1320739429", + "summary": "The maintainer says the display question was talked through on Discord and he has a plan that lets libraries avoid depending on Deno, to be prototyped before landing.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1320491196" + }, + { + "id": "deno-20337:comment:1712773225", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-10T10:11:05Z", + "editedAt": "2023-09-10T10:33:11Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712773225", + "summary": "The maintainer says REPL completion can be wired in and that the other PR's fix is done.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1712813782", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-10T13:24:50Z", + "editedAt": "2023-09-10T14:20:07Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712813782", + "summary": "A Jupyter contributor sends a stub completion reply, notes REPL helpers are private, and offers example notebooks.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:process:cross-referenced:2023-09-10T14:19:42Z", + "kind": "process", + "actor": "rgbkrk", + "createdAt": "2023-09-10T14:19:42Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "A Jupyter contributor opens a PR against the maintainer's branch adding completions.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1712934508", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-10T20:55:05Z", + "editedAt": "2023-09-10T22:43:47Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712934508", + "summary": "A Jupyter contributor reports that running all cells groups stdout into the last cell and suggests flushing output per execution.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1712972025", + "kind": "comment", + "actor": "CLAassistant", + "createdAt": "2023-09-10T23:36:01Z", + "editedAt": "2023-09-11T01:09:25Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712972025", + "summary": "A bot reports CLA status.", + "actorId": 11571300, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1712991025", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-11T00:31:31Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1712991025", + "summary": "The maintainer asks for the CLA and shows a prototype in which an object exposes Symbol.for(\"Jupyter.display\") returning a media-type bundle.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1713077466", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-11T02:47:07Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1713077466", + "summary": "A Jupyter contributor likes that the display hook is a callable.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1713078260", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-11T02:48:26Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1713078260", + "summary": "A Jupyter contributor reports occasional fatal V8 crashes.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1713095247", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-11T03:15:35Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1713095247", + "summary": "The maintainer asks for a notebook that reproduces it.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1713097877", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-11T03:19:20Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1713097877", + "summary": "The contributor shares the two cells that trigger the crash.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1713110253", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-11T03:39:23Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1713110253", + "summary": "A Jupyter contributor finds that setting the display symbol on a class prototype from an npm library does not work and only per-instance definition does.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1714609126", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-11T21:27:58Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1714609126", + "summary": "The maintainer will investigate and suggests putting the symbol on the class itself.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1714789209", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-12T00:27:00Z", + "editedAt": "2023-09-12T00:36:50Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1714789209", + "summary": "The contributor reports that also fails and the prototype is read-only.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1714799175", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-12T00:40:35Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1714799175", + "summary": "A Jupyter contributor reports syntax errors go to logs and leave the cell stuck.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1714813320", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-12T01:01:04Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1714813320", + "summary": "A Jupyter contributor shares example notebooks, including one on the display symbol.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1718651293", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-14T02:22:23Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1718651293", + "summary": "The maintainer fixes the syntax error case, cannot reproduce the crash, and attributes the prototype issue to the library.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1325299290", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-14T02:59:52Z", + "editedAt": "2023-09-14T02:59:58Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1325299290", + "summary": "A Jupyter contributor signs off on a server change.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:review:1625751072" + }, + { + "id": "deno-20337:review:1625751072", + "kind": "review", + "actor": "rgbkrk", + "createdAt": "2023-09-14T02:59:58Z", + "url": "https://github.com/denoland/deno/pull/20337#pullrequestreview-1625751072", + "summary": "A Jupyter contributor approves.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1718702911", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-14T03:18:11Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1718702911", + "summary": "The maintainer says only the listed blockers remain for a first iteration.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1719887225", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-14T17:47:21Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1719887225", + "summary": "A Jupyter contributor offers to file follow-up issues or a roadmap.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1719889363", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-14T17:49:04Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1719889363", + "summary": "The maintainer welcomes that.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:process:cross-referenced:2023-09-14T21:06:51Z", + "kind": "process", + "actor": "shouples", + "createdAt": "2023-09-14T21:06:51Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "An external project links a PR updating its Deno kernel to this branch.", + "actorId": 7707189, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1720263746", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-14T23:02:16Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1720263746", + "summary": "The maintainer fixes the grouped stdout by adding a short delay between executions.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1720264235", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-14T23:02:59Z", + "editedAt": "2023-09-15T22:50:32Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1720264235", + "summary": "The maintainer marks most blockers done, including the subcommand question, leaving CI time unmeasured.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1720366269", + "kind": "comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T01:37:42Z", + "editedAt": "2023-09-15T01:50:08Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1720366269", + "summary": "A reviewer finds exceptions invisible and suggests shell-escape syntax, permissions either fully open or set by a magic in the first cell, and buffer support in the display hook.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1720681924", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-15T05:04:18Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1720681924", + "summary": "A Jupyter contributor agrees shell syntax can follow later, sees exceptions fine himself, and shows images working through the media bundle.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1721315007", + "kind": "comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T13:48:49Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1721315007", + "summary": "The reviewer finds exceptions appear after upgrading the notebook frontend.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327817429", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:43:33Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327817429", + "summary": "A reviewer asks whether to validate the installed kernelspec.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327818958", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:46:10Z", + "editedAt": "2023-09-15T21:46:18Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327818958", + "summary": "A reviewer flags a typo.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327822297", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:51:37Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327822297", + "summary": "A reviewer suggests printing failures to stderr.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327823287", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:53:37Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327823287", + "summary": "A reviewer suggests a CancelHandle.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327823745", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:54:37Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327823745", + "summary": "A reviewer asks to extract tasks into methods.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327825000", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:56:54Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327825000", + "summary": "A reviewer calls the delay-based flushing fragile and suggests a lock or a TODO.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327825858", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:58:47Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327825858", + "summary": "A reviewer asks to delete some leftover code.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review:1629774560", + "kind": "review", + "actor": "mmastrac", + "createdAt": "2023-09-15T21:59:53Z", + "url": "https://github.com/denoland/deno/pull/20337#pullrequestreview-1629774560", + "summary": "A reviewer approves with minor nits.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:review-comment:1327826451", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-15T22:00:04Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327826451", + "summary": "The maintainer says there is nothing to lock; channels simply need time to flush.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1327825000" + }, + { + "id": "deno-20337:review-comment:1327826677", + "kind": "review-comment", + "actor": "bartlomieju", + "createdAt": "2023-09-15T22:00:28Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327826677", + "summary": "The maintainer declines kernelspec validation since it may vary by Jupyter version.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:review-comment:1327817429" + }, + { + "id": "deno-20337:review-comment:1327830953", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T22:10:18Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327830953", + "summary": "The reviewer accepts that the protocol offers no better routing for now.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:review-comment:1327825000" + }, + { + "id": "deno-20337:review-comment:1327832220", + "kind": "review-comment", + "actor": "mmastrac", + "createdAt": "2023-09-15T22:12:05Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327832220", + "summary": "The reviewer notes ipykernel uses the same approach.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:review-comment:1327825000" + }, + { + "id": "deno-20337:review-comment:1327865446", + "kind": "review-comment", + "actor": "rgbkrk", + "createdAt": "2023-09-15T23:38:50Z", + "editedAt": "2023-09-19T21:08:14Z", + "url": "https://github.com/denoland/deno/pull/20337#discussion_r1327865446", + "summary": "A Jupyter contributor says proper parent message IDs would fix it but are not worth it for this release.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:review-comment:1327825000" + }, + { + "id": "deno-20337:process:merged:2023-09-16T00:42:10Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-09-16T00:42:10Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "The maintainer merges the PR.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:process:closed:2023-09-16T00:42:10Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2023-09-16T00:42:10Z", + "url": "https://github.com/denoland/deno/pull/20337", + "summary": "The PR is closed on merge.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1722084732", + "kind": "comment", + "actor": "ceifa", + "createdAt": "2023-09-16T00:50:03Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1722084732", + "summary": "A user asks how to use it in VS Code.", + "actorId": 26205666, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1722176848", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-16T08:32:12Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1722176848", + "summary": "The maintainer explains installing the kernel with the install flag on canary and selecting it in VS Code.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1722244526", + "kind": "comment", + "actor": "mmastrac", + "createdAt": "2023-09-16T14:41:24Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1722244526", + "summary": "A reviewer congratulates the maintainer.", + "actorId": 512240, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1724845921", + "kind": "comment", + "actor": "josephrocca", + "createdAt": "2023-09-19T05:20:03Z", + "editedAt": "2023-09-19T05:21:31Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1724845921", + "summary": "A contributor thanks the team for experimenting and suggests a built-in process manager.", + "actorId": 1167575, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1727728702", + "kind": "comment", + "actor": "guy-borderless", + "createdAt": "2023-09-20T13:25:58Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1727728702", + "summary": "A user says they will use it for data exploration.", + "actorId": 100129659, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1727840524", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-20T14:24:57Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1727840524", + "summary": "The maintainer says it is available to try.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1728090077", + "kind": "comment", + "actor": "guy-borderless", + "createdAt": "2023-09-20T16:38:14Z", + "editedAt": "2023-09-20T16:49:07Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1728090077", + "summary": "A user reports the CLI says the kernel is already installed and VS Code does not detect it.", + "actorId": 100129659, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1728212404", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2023-09-20T18:09:00Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1728212404", + "summary": "The maintainer asks for a new issue.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1728755276", + "kind": "comment", + "actor": "rgbkrk", + "createdAt": "2023-09-21T04:32:11Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1728755276", + "summary": "A Jupyter contributor offers to help debug there.", + "actorId": 836375, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + }, + { + "id": "deno-20337:comment:1728780313", + "kind": "comment", + "actor": "guy-borderless", + "createdAt": "2023-09-21T04:43:35Z", + "editedAt": "2023-09-21T04:43:45Z", + "url": "https://github.com/denoland/deno/pull/20337#issuecomment-1728780313", + "summary": "The user agrees to file one.", + "actorId": 100129659, + "actorType": "human", + "parentId": "deno-20337:pr:20337" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/deno-permissions-in-config.json b/evals/datasets/decisions-v1/cases/deno-permissions-in-config.json new file mode 100644 index 000000000..c7abd1c1e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/deno-permissions-in-config.json @@ -0,0 +1,703 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "deno-permissions-in-config", + "title": "Permissions in the Deno config file", + "source": { + "url": "https://github.com/denoland/deno/issues/12763", + "retrievedAt": "2026-10-18T07:28:14.989356+00:00", + "repository": "denoland/deno", + "number": 12763 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-11-14T23:45:00Z" + }, + { + "id": "c2", + "at": "2021-11-15T16:00:00Z" + }, + { + "id": "c3", + "at": "2025-08-06T09:30:00Z" + }, + { + "id": "c4", + "at": "2025-09-03T00:00:00Z" + } + ], + "events": [ + { + "id": "deno-12763:issue:12763", + "kind": "opening", + "actor": "kitsonk", + "createdAt": "2021-11-14T23:41:11Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A core contributor proposes a `permissions` section in `deno.jsonc` mirroring the CLI flags, overriding command-line flags with a warning, resolving paths relative to the config, and prompting for remote configs, with open questions on remote and non-TTY behaviour.", + "actorId": 1282577, + "actorType": "human" + }, + { + "id": "deno-12763:comment:968392451", + "kind": "comment", + "actor": "crowlKats", + "createdAt": "2021-11-14T23:47:47Z", + "editedAt": "2021-11-14T23:50:42Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968392451", + "summary": "A maintainer wants `permissions: true` for allow-all, opposes block keys that would have no flag equivalent, and wants list values only as arrays.", + "actorId": 13135287, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968392727", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2021-11-14T23:49:45Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968392727", + "summary": "A maintainer supports the idea, especially with tasks, but doubts a single top-level permission set suits projects with several entry points, and wants the shape to follow the test and worker permission objects.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968396128", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2021-11-15T00:07:15Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968396128", + "summary": "The opener replies that the config has no notion of entry points yet, so a top-level default set is the logical start, and the key point is not to flatten permissions into separate top-level keys.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968396516", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2021-11-15T00:08:43Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968396516", + "summary": "The opener notes the config can already express things the CLI cannot, citing compiler options.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968397158", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2021-11-15T00:10:53Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968397158", + "summary": "The opener agrees to follow the test and worker permission object shape.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968398270", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2021-11-15T00:14:47Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968398270", + "summary": "The maintainer accepts the chicken-and-egg point and agrees to start iterating this way.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968399325", + "kind": "comment", + "actor": "crowlKats", + "createdAt": "2021-11-15T00:18:56Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968399325", + "summary": "The first maintainer counters that compiler options are external, and splitting permission features between flags and config would be confusing.", + "actorId": 13135287, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:968406576", + "kind": "comment", + "actor": "Soremwar", + "createdAt": "2021-11-15T00:42:42Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-968406576", + "summary": "A contributor suggests config composition via an `extends` mechanism to handle per-entry-point permissions.", + "actorId": 42647963, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:cross-referenced:2021-11-15T05:54:19Z", + "kind": "process", + "actor": "crowlKats", + "createdAt": "2021-11-15T05:54:19Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A maintainer opens an early implementation PR (#12767).", + "actorId": 13135287, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:969006246", + "kind": "comment", + "actor": "crowlKats", + "createdAt": "2021-11-15T15:10:39Z", + "editedAt": "2021-11-15T15:10:53Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-969006246", + "summary": "A maintainer revises the shape to per-permission keys where an object form can later carry allow and block lists plus per-permission prompt behaviour.", + "actorId": 13135287, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:973255474", + "kind": "comment", + "actor": "lilnasy", + "createdAt": "2021-11-18T20:49:40Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-973255474", + "summary": "A contributor welcomes finer-grained path control than the CLI makes convenient.", + "actorId": 69170106, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:989881012", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2021-12-09T14:02:56Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-989881012", + "summary": "A contributor questions the claim that flags for every option are unrealistic, saying scripts usually build flags anyway.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:989893317", + "kind": "comment", + "actor": "RemyRylan", + "createdAt": "2021-12-09T14:17:10Z", + "editedAt": "2021-12-10T23:32:24Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-989893317", + "summary": "A user reverses earlier support and asks for an opt-out flag, fearing a compromised dependency could write new permissions into the config.", + "actorId": 337610, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1034288787", + "kind": "comment", + "actor": "stale[bot]", + "createdAt": "2022-02-09T23:01:09Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1034288787", + "summary": "A bot marks the issue stale.", + "actorId": 26384082, + "actorType": "bot", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:labeled:2022-02-09T23:03:52Z", + "kind": "process", + "actor": "kitsonk", + "createdAt": "2022-02-09T23:03:52Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "The opener labels the issue as a proposal.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1034293553", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2022-02-09T23:08:13Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1034293553", + "summary": "A contributor links a related issue that would matter more if this ships.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1079506368", + "kind": "comment", + "actor": "sno2", + "createdAt": "2022-03-25T23:09:50Z", + "editedAt": "2022-03-25T23:11:42Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1079506368", + "summary": "A comment hidden by its author as a duplicate suggests reusing the test permission object type.", + "actorId": 43641633, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1118578945", + "kind": "comment", + "actor": "ry", + "createdAt": "2022-05-05T13:49:47Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1118578945", + "summary": "The project's creator says he is in favour and adds the issue to the 1.22 milestone.", + "actorId": 80, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:cross-referenced:2022-05-07T15:28:20Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2022-05-07T15:28:20Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A maintainer opens a work-in-progress implementation PR (#14520).", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1121199270", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2022-05-09T14:45:27Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1121199270", + "summary": "A maintainer says he is implementing it and proposes leaving out remote configs at first, since resolving paths differently for remote and local configs would surprise users.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1121227203", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2022-05-09T15:08:53Z", + "editedAt": "2022-05-09T15:10:18Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1121227203", + "summary": "A contributor points out the maintainer linked the issue itself instead of the PR.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1121239447", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2022-05-09T15:18:35Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1121239447", + "summary": "The maintainer confirms the PR was meant.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1179627418", + "kind": "comment", + "actor": "stale[bot]", + "createdAt": "2022-07-10T00:25:22Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1179627418", + "summary": "A bot marks the issue stale again.", + "actorId": 26384082, + "actorType": "bot", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1179716378", + "kind": "comment", + "actor": "GuillaumeAmat", + "createdAt": "2022-07-10T12:09:03Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1179716378", + "summary": "A user signals continued interest.", + "actorId": 1179174, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:labeled:2022-07-10T23:22:50Z", + "kind": "process", + "actor": "kitsonk", + "createdAt": "2022-07-10T23:22:50Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "The opener labels the issue as a feature.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1211955090", + "kind": "comment", + "actor": "happy-little-one", + "createdAt": "2022-08-11T12:58:26Z", + "editedAt": "2022-08-11T12:59:05Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1211955090", + "summary": "A user suggests a shell alias as a workaround.", + "actorId": 13190639, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1336221614", + "kind": "comment", + "actor": "pkoch", + "createdAt": "2022-12-03T19:11:58Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1336221614", + "summary": "A user quotes the maintainer's closing note on #14520 that the core team lacked consensus, and asks whether to retry.", + "actorId": 9627, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1337185017", + "kind": "comment", + "actor": "cawa-93", + "createdAt": "2022-12-05T11:36:33Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1337185017", + "summary": "A user proposes global permissions plus extra per-subcommand permissions, for example for test.", + "actorId": 1662812, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1337194400", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2022-12-05T11:46:13Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1337194400", + "summary": "A contributor asks whether task definitions already cover this.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1337608484", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2022-12-05T15:51:15Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1337608484", + "summary": "A maintainer agrees tasks can carry permissions and explains the core team's worry: a write permission would let a rogue dependency edit the config and escalate; they may revisit in early 2023.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1337785461", + "kind": "comment", + "actor": "lilnasy", + "createdAt": "2022-12-05T17:27:26Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1337785461", + "summary": "A contributor replies that task definitions face the same tampering risk.", + "actorId": 69170106, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364514959", + "kind": "comment", + "actor": "sigmaSd", + "createdAt": "2022-12-24T11:37:12Z", + "editedAt": "2022-12-24T11:52:18Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364514959", + "summary": "A contributor links an alternative proposal for a permissions script file that could live outside the writable project.", + "actorId": 22427111, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364517670", + "kind": "comment", + "actor": "pkoch", + "createdAt": "2022-12-24T11:58:17Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364517670", + "summary": "A user asks maintainers to define a threat model so proposals stop going back and forth.", + "actorId": 9627, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364520490", + "kind": "comment", + "actor": "oscarotero", + "createdAt": "2022-12-24T12:14:31Z", + "editedAt": "2022-12-24T12:15:10Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364520490", + "summary": "A contributor suggests keeping permissions in deno.json with a separate write guard on the config file and portable path variables.", + "actorId": 377873, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364521866", + "kind": "comment", + "actor": "sigmaSd", + "createdAt": "2022-12-24T12:22:06Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364521866", + "summary": "The alternative proposal's author says static JSON cannot express platform-specific paths such as cache directories.", + "actorId": 22427111, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364527977", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2022-12-24T13:08:10Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364527977", + "summary": "A contributor replies that auditable static values are the foundation of permission security.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1364531720", + "kind": "comment", + "actor": "sigmaSd", + "createdAt": "2022-12-24T13:36:53Z", + "editedAt": "2022-12-24T13:37:35Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1364531720", + "summary": "The alternative proposal's author concedes the point.", + "actorId": 22427111, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1418307607", + "kind": "comment", + "actor": "dsherret", + "createdAt": "2023-02-06T00:10:33Z", + "editedAt": "2023-02-06T00:19:14Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1418307607", + "summary": "A core contributor explains why auto-discovered config permissions are riskier than tasks: a script could write a config in a parent directory that every later run picks up.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1451605003", + "kind": "comment", + "actor": "DerZade", + "createdAt": "2023-03-02T10:01:49Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1451605003", + "summary": "A user proposes an explicit flag to opt in to config permissions.", + "actorId": 12705416, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1452163713", + "kind": "comment", + "actor": "dsherret", + "createdAt": "2023-03-02T16:30:57Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1452163713", + "summary": "The core contributor says an opt-in flag has been discussed internally for test and bench, with a prompt otherwise, but doubts its value for `deno run` given tasks.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1452183589", + "kind": "comment", + "actor": "DerZade", + "createdAt": "2023-03-02T16:44:45Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1452183589", + "summary": "The user explains repeating long permission lists across several tasks is the real pain.", + "actorId": 12705416, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1586113302", + "kind": "comment", + "actor": "oscarotero", + "createdAt": "2023-06-11T10:50:07Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1586113302", + "summary": "A contributor suggests attaching permissions to task objects rather than globally.", + "actorId": 377873, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:1666855626", + "kind": "comment", + "actor": "wojpawlik", + "createdAt": "2023-08-06T13:11:38Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-1666855626", + "summary": "A user notes shebang lines can hold permissions but do not work on Windows.", + "actorId": 23058303, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:cross-referenced:2023-09-03T20:00:56Z", + "kind": "process", + "actor": "samyosm", + "createdAt": "2023-09-03T20:00:56Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A PR proposing shorthand permission flags (#19549) references the issue.", + "actorId": 99157490, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:labeled:2024-06-08T16:39:40Z", + "kind": "process", + "actor": "lucacasonato", + "createdAt": "2024-06-08T16:39:40Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A maintainer relabels the issue as a suggestion.", + "actorId": 7829205, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2266630822", + "kind": "comment", + "actor": "domenic", + "createdAt": "2024-08-03T08:03:47Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2266630822", + "summary": "A well-known user wants `deno test` to pick up permissions from config instead of needing a custom task.", + "actorId": 617481, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2266677363", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2024-08-03T11:05:53Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2266677363", + "summary": "A contributor explains the task runner is the intended way, or `-A` for all permissions.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2266697884", + "kind": "comment", + "actor": "domenic", + "createdAt": "2024-08-03T12:30:44Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2266697884", + "summary": "The user clarifies they want standard `deno test` to work for newcomers to a project.", + "actorId": 617481, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2266702683", + "kind": "comment", + "actor": "jsejcksn", + "createdAt": "2024-08-03T12:47:42Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2266702683", + "summary": "The contributor says implicit config permissions would break explicit granting, and suggests telling people to run the task.", + "actorId": 868251, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2268153825", + "kind": "comment", + "actor": "domenic", + "createdAt": "2024-08-05T04:34:07Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2268153825", + "summary": "The user replies that this makes Deno worse than npm, where the test command is standard.", + "actorId": 617481, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2365128250", + "kind": "comment", + "actor": "dandv", + "createdAt": "2024-09-21T09:58:40Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2365128250", + "summary": "A contributor suggests saving permissions granted at interactive prompts into config or a task.", + "actorId": 33569, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2421524187", + "kind": "comment", + "actor": "omarcresp", + "createdAt": "2024-10-18T06:22:27Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2421524187", + "summary": "A user shares an example of task-scoped permission objects improving readability.", + "actorId": 27465620, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2423430271", + "kind": "comment", + "actor": "brianpeiris", + "createdAt": "2024-10-19T01:31:02Z", + "editedAt": "2024-10-19T01:31:31Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2423430271", + "summary": "A user links their own proposal for named permission profiles selectable per context.", + "actorId": 79419, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2488461026", + "kind": "comment", + "actor": "mo", + "createdAt": "2024-11-20T12:29:41Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2488461026", + "summary": "A user supports a default profile plus an optional named profile flag.", + "actorId": 7117, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2511403466", + "kind": "comment", + "actor": "Xiphe", + "createdAt": "2024-12-02T12:26:52Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2511403466", + "summary": "A user links a similar discussion proposing permission config files.", + "actorId": 911218, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:comment:2608788217", + "kind": "comment", + "actor": "Reububble", + "createdAt": "2025-01-23T03:47:07Z", + "editedAt": "2025-01-23T04:31:51Z", + "url": "https://github.com/denoland/deno/issues/12763#issuecomment-2608788217", + "summary": "A contributor argues permissions must be granted explicitly, suggests prompting at test start, and calls for referenceable permission objects to avoid duplication.", + "actorId": 5813404, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:labeled:2025-06-17T08:26:52Z", + "kind": "process", + "actor": "bartlomieju", + "createdAt": "2025-06-17T08:26:52Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A maintainer labels the issue under permissions.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:cross-referenced:2025-08-06T09:35:11Z", + "kind": "process", + "actor": "dsherret", + "createdAt": "2025-08-06T09:35:11Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A core contributor opens PR #30330 adding named permission sets to the config file.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + }, + { + "id": "deno-12763:process:closed:2025-09-02T13:37:35Z", + "kind": "process", + "actor": "dsherret", + "createdAt": "2025-09-02T13:37:35Z", + "url": "https://github.com/denoland/deno/issues/12763", + "summary": "A core contributor closes the issue as completed when PR #30330 merges.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-12763:issue:12763" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/deno-typescript-checker-in-rust.json b/evals/datasets/decisions-v1/cases/deno-typescript-checker-in-rust.json new file mode 100644 index 000000000..f0fb6f00e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/deno-typescript-checker-in-rust.json @@ -0,0 +1,709 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "deno-typescript-checker-in-rust", + "title": "Whether Deno should port TypeScript type checking to Rust", + "source": { + "url": "https://github.com/denoland/deno/issues/5432", + "retrievedAt": "2026-10-18T07:28:06.778259+00:00", + "repository": "denoland/deno", + "number": 5432 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-05-15T12:00:00Z" + }, + { + "id": "c2", + "at": "2020-06-14T00:00:00Z" + }, + { + "id": "c3", + "at": "2024-01-16T12:00:00Z" + }, + { + "id": "c4", + "at": "2024-06-11T19:10:00Z" + } + ], + "events": [ + { + "id": "deno-5432:issue:5432", + "kind": "opening", + "actor": "kitsonk", + "createdAt": "2020-05-15T02:43:48Z", + "url": "https://github.com/denoland/deno/issues/5432", + "summary": "A long-time core collaborator (not a committer) explains how Deno compiles TypeScript, why startup costs about ten times more than JavaScript, and lays out an ordered, evolutionary plan: move dependency analysis to Rust, add a no-check type-stripping mode, profile tsc, try parsing in Rust and feeding tsc a serialised AST, optimise tsc for V8, and only last, if ever, port type checking to Rust, which he doubts would pay off.", + "actorId": 1282577, + "actorType": "human" + }, + { + "id": "deno-5432:comment:629401294", + "kind": "comment", + "actor": "Bnaya", + "createdAt": "2020-05-15T18:03:36Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-629401294", + "summary": "A user suggests using tsc's incremental mode or a long-lived language server.", + "actorId": 1304862, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:629406072", + "kind": "comment", + "actor": "dsherret", + "createdAt": "2020-05-15T18:14:39Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-629406072", + "summary": "A contributor links an existing PR on incremental compilation.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:629453495", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-05-15T19:57:49Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-629453495", + "summary": "The collaborator says incremental builds may help large projects once the compiler only type checks.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:629547964", + "kind": "comment", + "actor": "matklad", + "createdAt": "2020-05-15T23:31:28Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-629547964", + "summary": "A user with IDE-tooling experience argues a Rust checker could be much faster, since tsc is built for lazy interactive use and Rust controls data layout, but notes skipping checks for tests and relying on the editor may be the cost-effective path.", + "actorId": 1711539, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:629574132", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-05-16T02:15:12Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-629574132", + "summary": "The collaborator finds the data-structure point interesting but fears full type-checking parity is near impossible because the TypeScript team will never leave TypeScript, and expects the plan may never reach that last step.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:631876142", + "kind": "comment", + "actor": "znck", + "createdAt": "2020-05-21T04:43:35Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-631876142", + "summary": "A user suggests esbuild for type stripping.", + "actorId": 2596484, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:632432409", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-05-22T01:44:52Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-632432409", + "summary": "The collaborator rejects esbuild as a non-embeddable Go tool with no advantage over swc, which Deno already uses.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:632649388", + "kind": "comment", + "actor": "elektronik2k5", + "createdAt": "2020-05-22T11:42:44Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-632649388", + "summary": "A user says esbuild's language is irrelevant, notes it lacks decorators, and proposes Sucrase as faster than swc.", + "actorId": 1078554, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:632671843", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-05-22T12:43:16Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-632671843", + "summary": "The collaborator explains why porting esbuild or adopting Sucrase makes no sense given swc, and stresses that all these tools only strip types; the larger problem is type-checking speed.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:640474326", + "kind": "comment", + "actor": "apiel", + "createdAt": "2020-06-08T09:07:54Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-640474326", + "summary": "A user proposes letting users plug in their own transpiler, partly to avoid lagging behind new TypeScript releases.", + "actorId": 5873198, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643591696", + "kind": "comment", + "actor": "HKhademian", + "createdAt": "2020-06-13T08:35:02Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643591696", + "summary": "A user warns that a Rust rewrite would drift from upstream TypeScript and suggests compiling tsc to WebAssembly via AssemblyScript instead.", + "actorId": 2716791, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643603908", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-06-13T10:28:06Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643603908", + "summary": "The collaborator explains in detail why AssemblyScript and WebAssembly cannot compile or speed up tsc, and notes that the Deno and TypeScript teams talk regularly.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643626441", + "kind": "comment", + "actor": "HKhademian", + "createdAt": "2020-06-13T13:49:25Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643626441", + "summary": "The user repeats that a full rewrite is costly and argues a WebAssembly or native build of tsc would be a cheap interim step.", + "actorId": 2716791, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643673915", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-06-13T20:25:54Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643673915", + "summary": "The collaborator replies sharply that the conversion cannot be done and would be slower, and asks for a proof of concept.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643706578", + "kind": "comment", + "actor": "rezonant", + "createdAt": "2020-06-14T01:56:17Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643706578", + "summary": "A user shares the maintainability worry and asks whether the plan would track upstream by reusing TypeScript's test suite.", + "actorId": 409140, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643706941", + "kind": "comment", + "actor": "rezonant", + "createdAt": "2020-06-14T02:01:45Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643706941", + "summary": "The same user adds that multiple implementations can signal maturity but such an effort should be decoupled from Deno.", + "actorId": 409140, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643816565", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-06-14T20:15:13Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643816565", + "summary": "The collaborator notes his original post already raised maintainability, and says avoiding language fragmentation would be a goal if they ever got that far.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:643971530", + "kind": "comment", + "actor": "HKhademian", + "createdAt": "2020-06-15T08:05:18Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-643971530", + "summary": "The earlier user clarifies they only meant a faster compiler is less urgent than other work.", + "actorId": 2716791, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:644825100", + "kind": "comment", + "actor": "phaux", + "createdAt": "2020-06-16T15:07:35Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-644825100", + "summary": "A user argues a Rust checker need not stay compatible with tsc and could be stricter by default.", + "actorId": 1270987, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:644879856", + "kind": "comment", + "actor": "rezonant", + "createdAt": "2020-06-16T16:39:39Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-644879856", + "summary": "A user counters that many people share TypeScript between Node and Deno and further incompatibility would push them away.", + "actorId": 409140, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:645181261", + "kind": "comment", + "actor": "Ebuall", + "createdAt": "2020-06-17T06:35:11Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-645181261", + "summary": "A user agrees that ecosystem compatibility is why TypeScript is popular.", + "actorId": 10381141, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:645594280", + "kind": "comment", + "actor": "CreatCodeBuild", + "createdAt": "2020-06-17T20:04:09Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-645594280", + "summary": "A user reports a 20-second compile for a small game drove them back to webpack and Babel, calling compile time a developer-experience problem.", + "actorId": 8919794, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:645608846", + "kind": "comment", + "actor": "apiel", + "createdAt": "2020-06-17T20:32:38Z", + "editedAt": "2020-06-18T16:59:07Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-645608846", + "summary": "A user agrees and asks for a dev mode without type checking and a pluggable transpiler.", + "actorId": 5873198, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:646729825", + "kind": "comment", + "actor": "HKhademian", + "createdAt": "2020-06-19T16:25:39Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-646729825", + "summary": "A user suggests stripping types and running directly, with a separate check command.", + "actorId": 2716791, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:646733418", + "kind": "comment", + "actor": "dsherret", + "createdAt": "2020-06-19T16:33:40Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-646733418", + "summary": "A contributor points to the existing issue on that idea.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:646843535", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-06-19T20:11:22Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-646843535", + "summary": "The collaborator notes this is already step two of the plan.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:663820829", + "kind": "comment", + "actor": "littledivy", + "createdAt": "2020-07-25T07:08:14Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-663820829", + "summary": "A maintainer links swc's issue on type checking as one to watch.", + "actorId": 34997667, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:663857410", + "kind": "comment", + "actor": "ry", + "createdAt": "2020-07-25T13:46:11Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-663857410", + "summary": "A maintainer says a landed swc change makes type stripping in Rust possible.", + "actorId": 80, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:663901889", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-07-25T20:19:15Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-663901889", + "summary": "The collaborator links the tracking issue for type stripping.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:665591700", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2020-07-29T10:47:21Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-665591700", + "summary": "A maintainer reports that swc-based type stripping now takes about 70ms versus roughly 1s before.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:665890374", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-07-29T20:05:39Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-665890374", + "summary": "The collaborator proposes investigating conversion from the swc AST to the TypeScript AST so tsc only type checks, noting this would require isolatedModules as a breaking change.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:665907111", + "kind": "comment", + "actor": "06kellyjac", + "createdAt": "2020-07-29T20:24:22Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-665907111", + "summary": "A contributor suggests offering the faster path only to projects that opt into isolatedModules.", + "actorId": 9866621, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:665909793", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-07-29T20:29:43Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-665909793", + "summary": "The collaborator mentions a possible `--isolated` flag alongside `--no-check` as a stepping stone to a future default.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:666270704", + "kind": "comment", + "actor": "bartlomieju", + "createdAt": "2020-07-30T09:56:59Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-666270704", + "summary": "A maintainer agrees with the AST plan and offers help with the compiler refactor.", + "actorId": 13602871, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:685304893", + "kind": "comment", + "actor": "nonara", + "createdAt": "2020-09-02T05:18:00Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-685304893", + "summary": "A user argues advanced features like declaration merging must be supported from the start in any new implementation.", + "actorId": 1427565, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:686868834", + "kind": "comment", + "actor": "ChayimFriedman2", + "createdAt": "2020-09-04T02:49:52Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-686868834", + "summary": "A contributor jokingly suggests writing a whole new TS engine in Rust.", + "actorId": 24700207, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:686982408", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-09-04T07:53:33Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-686982408", + "summary": "The collaborator gives a progress update: dependency analysis is in Rust via swc, `--no-check` moved to swc dropped a benchmark from about 1100ms to 75ms, incremental builds are on by default, and isolatedModules will be pushed so non-type-directed emit is safe; the swc-to-TS AST transform is the next investigation.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:716890189", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-10-26T23:59:00Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-716890189", + "summary": "The collaborator reports bundle emit has moved to swc, benchmarks improved, isolatedModules becomes default in 1.5, and a timing breakdown shows type checking is about half of tsc's time; he concludes emit should leave tsc entirely and parsing should be investigated in Rust.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:717216985", + "kind": "comment", + "actor": "ChayimFriedman2", + "createdAt": "2020-10-27T12:42:51Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-717216985", + "summary": "A contributor asks whether running swc as WebAssembly would ease AST passing.", + "actorId": 24700207, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:717509337", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2020-10-27T20:09:19Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-717509337", + "summary": "The collaborator says no: WebAssembly makes data passing harder and slower than native Rust.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:756293978", + "kind": "comment", + "actor": "ghost", + "createdAt": "2021-01-07T18:24:05Z", + "editedAt": "2021-01-08T00:32:58Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-756293978", + "summary": "A user asks whether Deno could run swc emit and tsc no-emit checking in parallel threads.", + "actorId": 10137, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:process:labeled:2021-01-07T21:48:23Z", + "kind": "process", + "actor": "kitsonk", + "createdAt": "2021-01-07T21:48:23Z", + "url": "https://github.com/denoland/deno/issues/5432", + "summary": "The collaborator labels the issue as a feature.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:756600977", + "kind": "comment", + "actor": "schickling", + "createdAt": "2021-01-08T07:35:33Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-756600977", + "summary": "A user notes estrella works that way with esbuild.", + "actorId": 1567498, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:756928378", + "kind": "comment", + "actor": "ghost", + "createdAt": "2021-01-08T18:37:50Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-756928378", + "summary": "The user estimates that skipping tsc parse and emit could cut about 40% and asks whether Deno already does this.", + "actorId": 10137, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:757553832", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2021-01-10T22:18:56Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-757553832", + "summary": "The collaborator says yes.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:757556650", + "kind": "comment", + "actor": "ghost", + "createdAt": "2021-01-10T22:40:30Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-757556650", + "summary": "The user asks what the bind phase is and whether they could help.", + "actorId": 10137, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:926398188", + "kind": "comment", + "actor": "VienDinhCom", + "createdAt": "2021-09-24T07:09:02Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-926398188", + "summary": "A user shares Rome's announcement that it will be rewritten in Rust.", + "actorId": 1142799, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:926535739", + "kind": "comment", + "actor": "kitsonk", + "createdAt": "2021-09-24T10:57:50Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-926535739", + "summary": "The collaborator says the Deno and Rome teams talk and agree full TypeScript type checking in Rust is still far off, while watching swc's checker work.", + "actorId": 1282577, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1008972893", + "kind": "comment", + "actor": "charrondev", + "createdAt": "2022-01-10T15:15:17Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1008972893", + "summary": "A user notes swc's checker is going proprietary and stalled, and asks whether the swc-to-tsc AST conversion has a tracking issue.", + "actorId": 1770056, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1026291339", + "kind": "comment", + "actor": "majo44", + "createdAt": "2022-01-31T22:53:09Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1026291339", + "summary": "A user links the swc author's post about porting tsc to Go.", + "actorId": 2294352, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1028968496", + "kind": "comment", + "actor": "GerbenRampaart", + "createdAt": "2022-02-03T13:03:04Z", + "editedAt": "2022-02-03T13:24:22Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1028968496", + "summary": "A user asks whether Deno plans to compile TypeScript to Rust and skip V8.", + "actorId": 1949178, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1028978098", + "kind": "comment", + "actor": "lucacasonato", + "createdAt": "2022-02-03T13:12:59Z", + "editedAt": "2022-02-03T13:13:21Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1028978098", + "summary": "A maintainer says JS support is not being dropped and TypeScript cannot be compiled to Rust; user code stays on V8.", + "actorId": 7829205, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1028982633", + "kind": "comment", + "actor": "GerbenRampaart", + "createdAt": "2022-02-03T13:18:21Z", + "editedAt": "2022-02-03T13:25:35Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1028982633", + "summary": "The user clarifies their question.", + "actorId": 1949178, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1296051585", + "kind": "comment", + "actor": "azdavis", + "createdAt": "2022-10-30T01:23:26Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1296051585", + "summary": "A user notes stc, a Rust TypeScript checker by the swc author, was open-sourced.", + "actorId": 6496454, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1889743785", + "kind": "comment", + "actor": "notramo", + "createdAt": "2024-01-12T18:10:09Z", + "editedAt": "2024-01-20T19:56:50Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1889743785", + "summary": "A user points to ezno, another Rust TS checker, and urges Deno not to start a third.", + "actorId": 26059643, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:1893578371", + "kind": "comment", + "actor": "marvinhagemeister", + "createdAt": "2024-01-16T11:43:00Z", + "editedAt": "2024-01-16T11:44:18Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-1893578371", + "summary": "A maintainer says Deno has no current plans to write a TypeScript type checker.", + "actorId": 1062408, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:2161434076", + "kind": "comment", + "actor": "ry", + "createdAt": "2024-06-11T19:08:26Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-2161434076", + "summary": "A maintainer (the project's creator) declines the feature as too hard.", + "actorId": 80, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:process:closed:2024-06-11T19:08:26Z", + "kind": "process", + "actor": "ry", + "createdAt": "2024-06-11T19:08:26Z", + "url": "https://github.com/denoland/deno/issues/5432", + "summary": "The creator closes the issue.", + "actorId": 80, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:2161447949", + "kind": "comment", + "actor": "dsherret", + "createdAt": "2024-06-11T19:17:35Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-2161447949", + "summary": "A maintainer explains type checking is no longer a bottleneck: Deno no longer checks by default, has a separate check command, caches results, does dependency analysis and emit in Rust, and reduces checked code via JSR's slow-types rule; he argues aligning with official TypeScript is best.", + "actorId": 1609021, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + }, + { + "id": "deno-5432:comment:2715264824", + "kind": "comment", + "actor": "birkskyum", + "createdAt": "2025-03-11T18:06:44Z", + "url": "https://github.com/denoland/deno/issues/5432#issuecomment-2715264824", + "summary": "A contributor notes Microsoft is porting tsc to Go.", + "actorId": 74932975, + "actorType": "human", + "parentId": "deno-5432:issue:5432" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/eslint-codemod-replace-migrators.json b/evals/datasets/decisions-v1/cases/eslint-codemod-replace-migrators.json new file mode 100644 index 000000000..2a58f778b --- /dev/null +++ b/evals/datasets/decisions-v1/cases/eslint-codemod-replace-migrators.json @@ -0,0 +1,575 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "eslint-codemod-replace-migrators", + "title": "Replace ESLint migrators with Codemod recipes", + "source": { + "url": "https://github.com/eslint/eslint/issues/20442", + "retrievedAt": "2026-10-18T07:28:24.652611+00:00", + "repository": "eslint/eslint", + "number": 20442 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-01-19T19:00:00Z" + }, + { + "id": "c2", + "at": "2026-03-09T21:00:00Z" + }, + { + "id": "c3", + "at": "2026-05-28T20:30:00Z" + }, + { + "id": "c4", + "at": "2026-05-28T21:00:00Z" + } + ], + "events": [ + { + "id": "eslint-20442:issue:20442", + "kind": "opening", + "actor": "nzakas", + "createdAt": "2026-01-19T18:37:30Z", + "url": "https://github.com/eslint/eslint/issues/20442", + "summary": "A maintainer notes ESLint maintains two under-loved migration tools, @eslint/config-migrator and eslint-transforms, and proposes evaluating donated Codemod recipes, which can open PRs on repos directly, as replacements in the docs. A volunteer evaluator is requested.", + "actorId": 38546, + "actorType": "human" + }, + { + "id": "eslint-20442:comment:3769692421", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-01-19T18:45:54Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3769692421", + "summary": "A Codemod representative offers to answer questions.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3770434268", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-01-19T23:29:34Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3770434268", + "summary": "A contributor volunteers to evaluate, starting with common scenarios and then the code.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3815328589", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-01-29T03:51:35Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3815328589", + "summary": "The Codemod representative asks for an update.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3821078045", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-01-30T00:18:13Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3821078045", + "summary": "The contributor posts a detailed feature comparison: the new-rule-format codemod is ready to replace eslint-transforms, while the v9 rule migration and flat config codemods have bugs and are not ready.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3821126688", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-01-30T00:33:42Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3821126688", + "summary": "The Codemod representative thanks them, promises fixes, and asks for sample PRs and rough false positive and negative rates.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3825652922", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-01-30T20:42:52Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3825652922", + "summary": "The contributor suggests testing against older versions of popular plugins such as eslint-plugin-vue.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3843540407", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2026-02-03T20:40:40Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3843540407", + "summary": "The maintainer points to the config-migrator test fixtures as the best before-and-after examples.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3905644988", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-02-16T00:09:05Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3905644988", + "summary": "A Codemod engineer reports fixes for the rule and config bugs and asks for a reproduction of one unclear issue.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3918021027", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-02-18T01:42:38Z", + "editedAt": "2026-02-18T16:21:37Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3918021027", + "summary": "The Codemod representative asks the contributor to retest the published recipes.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3930676640", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-02-19T23:15:58Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3930676640", + "summary": "The contributor confirms the fixes, asks for ESLint v10 changes to be covered, reports a new regression, clarifies the dropped-property bug with an example, and notes --target does not work.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3930716115", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-02-19T23:28:55Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3930716115", + "summary": "The Codemod representative promises further changes.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3969871743", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-02-26T23:37:16Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3969871743", + "summary": "The Codemod engineer argues for finishing a stable v8-to-v9 codemod first and building v9-to-v10 separately to chain later, and reports three fixes.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:3977812790", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-02-28T20:57:13Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-3977812790", + "summary": "The contributor accepts deferring v10 but finds two fixes only partial, with examples of dropped properties and stringified output.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4006975238", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-03-05T18:46:03Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4006975238", + "summary": "The Codemod representative warns of delays and suggests documenting the codemod now with known issues, leaving the call to the evaluator and the maintainer.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4026685870", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2026-03-09T20:25:16Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4026685870", + "summary": "The maintainer says the codemod should only go in the docs once it matches the existing migrator's behaviour, and delegates that judgement to the contributor.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4026698914", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-03-09T20:27:36Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4026698914", + "summary": "The Codemod representative agrees.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4035090036", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-03-10T23:22:21Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4035090036", + "summary": "The contributor judges the config codemod not ready and agrees to wait.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4035376707", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-03-11T00:33:55Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4035376707", + "summary": "The Codemod representative says they will seek community help to finish.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4254729977", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-15T19:08:40Z", + "editedAt": "2026-04-15T19:10:42Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4254729977", + "summary": "The Codemod engineer returns and reports fixes for single-property detection, formatting, and stringifying, plus new parameters and runnable tests.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4263429585", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-04-16T21:08:29Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4263429585", + "summary": "The contributor confirms those fixes and lists new gaps: unsupported linterOptions, an unneeded dependency warning, --target misuse with custom config names, and optional package.json support.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4300626838", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-22T23:36:02Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4300626838", + "summary": "The Codemod engineer adds linterOptions support, keeps the dependency log as a safety measure, adds parameters for custom config names and formats, and supports package.json configs.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4308677184", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-04-23T22:22:59Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4308677184", + "summary": "The contributor says the codemods now clearly beat the old migrators and proposes comparing output against the migrators' fixture tests.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4313951543", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-24T14:31:34Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4313951543", + "summary": "The Codemod engineer welcomes the next step.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4320645066", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-04-25T21:48:23Z", + "editedAt": "2026-04-26T06:41:38Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4320645066", + "summary": "The contributor reports fixture comparisons: most match, a few fail, and each codemod has one shared bug such as unquoted plugin keys.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4327744994", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-27T14:22:31Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4327744994", + "summary": "The Codemod engineer says fixes are underway.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4339352445", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-28T21:51:53Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4339352445", + "summary": "The Codemod engineer reports fixes for every failing fixture and shared bug, using semantic analysis to keep local variables, and adds test cases.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4347617147", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-04-29T21:25:11Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4347617147", + "summary": "The contributor confirms the fixes, suggests handling extensionless .eslintrc through parameters, and proposes wider testing by the team or a public beta.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4347885816", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-04-29T22:06:56Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4347885816", + "summary": "The Codemod engineer removes the extensionless default as suggested.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4348162607", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-04-29T23:08:50Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4348162607", + "summary": "The Codemod representative asks how they can help with next steps.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4356440661", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-04-30T21:58:40Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4356440661", + "summary": "The contributor has asked the team internally for feedback, plans to propose a blog post for a public beta, and flags two documentation gaps.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4359696965", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-05-01T14:13:39Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4359696965", + "summary": "The Codemod engineer publishes the missing release and updates the README.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4433017057", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-05-12T17:19:06Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4433017057", + "summary": "The Codemod engineer asks about the beta proposal.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4455108971", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-05-14T22:05:32Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4455108971", + "summary": "The contributor says the team found no new bugs and more edge-case checks are pending.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4463529624", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-05-15T20:53:09Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4463529624", + "summary": "The contributor reports real-world testing results, raises the postponed v10 rule changes again, lists remaining bugs and polish items, and says the codemods are ready for a public beta once bugs are fixed.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4465796995", + "kind": "comment", + "actor": "jookira", + "createdAt": "2026-05-16T05:21:22Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4465796995", + "summary": "A contributor suggests adding a transform for the includeIgnoreFile move to the v10 list.", + "actorId": 241842546, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:process:cross-referenced:2026-05-16T05:26:10Z", + "kind": "process", + "actor": "kirkwaiblinger", + "createdAt": "2026-05-16T05:26:10Z", + "url": "https://github.com/eslint/eslint/issues/20442", + "summary": "A contributor links a rewrite PR updating the existing migrate-config package for includeIgnoreFile.", + "actorId": 53019676, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4480379973", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-05-18T17:55:53Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4480379973", + "summary": "The Codemod representative reiterates that the current scope is v8 to v9, with v10 to follow so users can chain both.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4500579045", + "kind": "comment", + "actor": "amirabbas-gh", + "createdAt": "2026-05-20T16:43:33Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4500579045", + "summary": "The Codemod engineer reports fixes for the listed bugs and polish items.", + "actorId": 93479436, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4503179277", + "kind": "comment", + "actor": "DMartens", + "createdAt": "2026-05-20T22:32:11Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4503179277", + "summary": "The contributor confirms all fixes and leaves the decision on an open beta to the maintainer.", + "actorId": 966276, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4561203427", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-05-28T05:55:27Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4561203427", + "summary": "The Codemod representative asks the maintainer for an update.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:process:labeled:2026-05-28T20:00:50Z", + "kind": "process", + "actor": "nzakas", + "createdAt": "2026-05-28T20:00:50Z", + "url": "https://github.com/eslint/eslint/issues/20442", + "summary": "The maintainer adds the issue to the TSC agenda.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4568153100", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2026-05-28T20:53:48Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4568153100", + "summary": "The maintainer reports the TSC meeting outcome: Codemod is invited to write a guest blog post announcing availability. He expects a muted response because most users already moved to v9, says a v8-to-v10 codemod would be a better announcement, and asks them to ping the whole TSC.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4568613081", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-05-28T21:46:57Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4568613081", + "summary": "The Codemod representative agrees to draft the post and argues for wrapping up v8-to-v9 now, with v10 recipes to follow and chain.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4580609159", + "kind": "comment", + "actor": "sam3k", + "createdAt": "2026-05-29T23:19:56Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4580609159", + "summary": "A contributor notes for the record that at its late-May meeting the TSC chose to ask Codemod for a guest post on the blog.", + "actorId": 180152, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4619074775", + "kind": "comment", + "actor": "lumirlumir", + "createdAt": "2026-06-04T04:52:54Z", + "editedAt": "2026-06-04T04:53:09Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4619074775", + "summary": "A maintainer asks what happens to @eslint/migrate-config if Codemod becomes the primary migration tool, citing an open PR against it.", + "actorId": 119669540, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4623293762", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-06-04T14:52:36Z", + "editedAt": "2026-06-04T15:17:52Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4623293762", + "summary": "The Codemod representative proposes porting any remaining logic into the eslint/codemods repo as a single home, and notes v9-to-v10 codemod PRs are in progress.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4624196679", + "kind": "comment", + "actor": "khadatkarrohit", + "createdAt": "2026-06-04T16:36:38Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4624196679", + "summary": "A Codemod contributor explains that the v8-to-v9 and v9-to-v10 config codemods are separate and suggests a chained v8-to-v10 workflow later.", + "actorId": 16465589, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + }, + { + "id": "eslint-20442:comment:4635360721", + "kind": "comment", + "actor": "alexbit-codemod", + "createdAt": "2026-06-05T20:39:21Z", + "url": "https://github.com/eslint/eslint/issues/20442#issuecomment-4635360721", + "summary": "The Codemod representative records that, after talking with a maintainer, the existing migrate-config and eslint-transforms tools can be deprecated in favour of the codemods.", + "actorId": 78109534, + "actorType": "human", + "parentId": "eslint-20442:issue:20442" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/eslint-deprecate-formatting-rules.json b/evals/datasets/decisions-v1/cases/eslint-deprecate-formatting-rules.json new file mode 100644 index 000000000..ef6117423 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/eslint-deprecate-formatting-rules.json @@ -0,0 +1,659 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "eslint-deprecate-formatting-rules", + "title": "Deprecating ESLint formatting rules", + "source": { + "url": "https://github.com/eslint/eslint/issues/17522", + "retrievedAt": "2026-10-18T07:28:20.045468+00:00", + "repository": "eslint/eslint", + "number": 17522 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-08-31T20:00:00Z" + }, + { + "id": "c2", + "at": "2023-09-29T00:00:00Z" + }, + { + "id": "c3", + "at": "2023-10-17T12:00:00Z" + }, + { + "id": "c4", + "at": "2023-10-18T16:00:00Z" + } + ], + "events": [ + { + "id": "eslint-17522:issue:17522", + "kind": "opening", + "actor": "nzakas", + "createdAt": "2023-08-31T18:43:11Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "A maintainer proposes deprecating every core rule that only moves whitespace in v9 and pointing users to Prettier or dprint, since such rules do not scale with new syntax and are hard to staff.", + "actorId": 38546, + "actorType": "human" + }, + { + "id": "eslint-17522:process:labeled:2023-08-31T18:43:11Z++", + "kind": "process", + "actor": "nzakas", + "createdAt": "2023-08-31T18:43:11Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "The opener labels the change as breaking.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1705882835", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-09-05T03:05:20Z", + "editedAt": "2023-09-05T03:07:02Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1705882835", + "summary": "A typescript-eslint maintainer strongly supports it and suggests moving the rules into a community-maintained plugin rather than dropping them.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1706077716", + "kind": "comment", + "actor": "JamesHenry", + "createdAt": "2023-09-05T07:21:51Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1706077716", + "summary": "A maintainer reacts with a celebratory GIF.", + "actorId": 900523, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1708539547", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-06T14:59:15Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1708539547", + "summary": "The opener says the rules stay in core for now but go unmaintained, and a separate plugin makes sense long term.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1708752297", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-06T16:45:41Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1708752297", + "summary": "A maintainer supports it but asks for a concrete list and whether non-whitespace rules like semi and comma-dangle are included.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1708817024", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-09-06T17:34:40Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1708817024", + "summary": "A contributor links the list of rules eslint-config-prettier turns off.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1710416001", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-07T16:03:08Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1710416001", + "summary": "The opener intends whitespace-only rules but is open to arguments for more.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712158461", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-08T19:56:59Z", + "editedAt": "2023-09-11T18:11:41Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712158461", + "summary": "The opener posts an initial list of whitespace rules.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:process:labeled:2023-09-08T19:57:49Z", + "kind": "process", + "actor": "nzakas", + "createdAt": "2023-09-08T19:57:49Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "The opener marks the issue accepted.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712548087", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-09T16:22:24Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712548087", + "summary": "A maintainer notes several listed rules are already deprecated.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712548482", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-09T16:24:17Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712548482", + "summary": "The maintainer says multiline-comment-style is not about whitespace.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712550278", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-09T16:34:21Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712550278", + "summary": "The maintainer agrees to limit it to whitespace, since that is the one thing every formatter owns.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712556369", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-09T17:06:08Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712556369", + "summary": "The maintainer adds more whitespace-related rules such as brace-style and no-tabs.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1712565407", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-09-09T17:52:04Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1712565407", + "summary": "The maintainer says line-comment-position is also not whitespace.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1714223648", + "kind": "comment", + "actor": "antfu", + "createdAt": "2023-09-11T16:33:41Z", + "editedAt": "2023-09-11T17:29:10Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1714223648", + "summary": "A contributor who formats with ESLint welcomes the deprecation for maintainers' sake, finds Prettier and dprint inadequate, and offers to start a community organisation to fork the rules.", + "actorId": 11247099, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1714266475", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2023-09-11T17:03:21Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1714266475", + "summary": "A contributor supports deprecating and forking the rules to a community repo.", + "actorId": 7195563, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1714297804", + "kind": "comment", + "actor": "Mlocik97", + "createdAt": "2023-09-11T17:26:16Z", + "editedAt": "2023-09-11T17:27:54Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1714297804", + "summary": "A user argues linters should not format and proposes an API for formatters to cooperate with ESLint.", + "actorId": 34808350, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1714318202", + "kind": "comment", + "actor": "antfu", + "createdAt": "2023-09-11T17:40:40Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1714318202", + "summary": "The fork-offering contributor says linter-versus-formatter scope is off topic but agrees on deprecation.", + "actorId": 11247099, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:process:locked:2023-09-11T18:09:04Z", + "kind": "process", + "actor": "eslint", + "createdAt": "2023-09-11T18:09:04Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "The issue is locked.", + "actorId": 6019716, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1714356827", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-11T18:10:16Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1714356827", + "summary": "The opener locks the thread to keep it on the deprecation plan and redirects broader debate to discussions.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1739593238", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-28T15:51:20Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1739593238", + "summary": "After a Discord conversation with the fork maintainer, the opener now favours also deprecating semi, quotes and comma-dangle, unlocks the thread and asks for the overlap list.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1739996752", + "kind": "comment", + "actor": "antfu", + "createdAt": "2023-09-28T21:00:08Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1739996752", + "summary": "The fork maintainer reports the eslint-stylistic organisation is porting the rules and awaits the final list.", + "actorId": 11247099, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1740118084", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-09-28T23:23:17Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1740118084", + "summary": "A typescript-eslint maintainer posts an expanded list of everything that can conflict with Prettier, with notes on each new rule.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1741018139", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-09-29T14:51:07Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1741018139", + "summary": "The opener would keep no-unexpected-multiline and curly as error-preventing rules, and is open to the other additions pending team consensus.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1749654929", + "kind": "comment", + "actor": "Pyrolistical", + "createdAt": "2023-10-05T21:15:06Z", + "editedAt": "2023-10-05T21:26:12Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1749654929", + "summary": "A user links Prettier's explanation for disabling curly and no-unexpected-multiline.", + "actorId": 463642, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1753265640", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-09T15:53:05Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1753265640", + "summary": "The opener asks the other maintainer for their view on the additions.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1763040256", + "kind": "comment", + "actor": "TKDev7", + "createdAt": "2023-10-14T17:01:09Z", + "editedAt": "2023-10-14T23:17:01Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1763040256", + "summary": "A contributor suggests deprecating curly too.", + "actorId": 30705623, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1763192006", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-10-14T22:01:57Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1763192006", + "summary": "The typescript-eslint maintainer disagrees, since Prettier deliberately does not change the AST that way.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1763202998", + "kind": "comment", + "actor": "TKDev7", + "createdAt": "2023-10-14T23:05:07Z", + "editedAt": "2023-10-16T15:25:01Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1763202998", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 30705623, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1763228413", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-10-15T01:29:58Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1763228413", + "summary": "The typescript-eslint maintainer defends stylistic linting and asks to stay on formatting rules.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1764331111", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-10-16T12:05:26Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1764331111", + "summary": "A maintainer agrees with most of the expanded list but would keep no-mixed-operators, curly and no-unexpected-multiline, and asks about template literal checks.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1764348498", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-10-16T12:16:06Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1764348498", + "summary": "The typescript-eslint maintainer notes no-mixed-operators conflicts with Prettier, which is far more widely used than dprint.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1764351574", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-10-16T12:18:04Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1764351574", + "summary": "The typescript-eslint maintainer suggests no-restricted-syntax for unnecessary template literals.", + "actorId": 7462525, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1764746404", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-16T15:30:10Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1764746404", + "summary": "The opener accepts losing the template literal check and leans slightly toward deprecating no-mixed-operators too.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1764916381", + "kind": "comment", + "actor": "mdjermanovic", + "createdAt": "2023-10-16T17:10:02Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1764916381", + "summary": "The maintainer agrees and posts the final list: the expanded list minus no-unexpected-multiline and already-deprecated rules.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1766593961", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-17T14:57:25Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1766593961", + "summary": "The opener approves the list and asks the fork maintainer about timing.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1766952119", + "kind": "comment", + "actor": "antfu", + "createdAt": "2023-10-17T18:31:47Z", + "editedAt": "2023-10-17T18:33:36Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1766952119", + "summary": "The fork maintainer says all rules are ported and asks whether deprecation lands in v9.", + "actorId": 11247099, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1768747816", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-18T15:34:18Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1768747816", + "summary": "The opener says the team chose to deprecate in a minor release before v9.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1768998386", + "kind": "comment", + "actor": "antfu", + "createdAt": "2023-10-18T17:18:54Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1768998386", + "summary": "The fork maintainer will prepare for that.", + "actorId": 11247099, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1770137633", + "kind": "comment", + "actor": "JoshuaKGoldberg", + "createdAt": "2023-10-19T06:21:54Z", + "editedAt": "2023-10-20T17:01:29Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1770137633", + "summary": "A contributor asks to add two typescript-eslint formatting rules to the fork and files issues there.", + "actorId": 3335181, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1771151763", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-19T14:50:54Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1771151763", + "summary": "The opener directs that to the fork's repo.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1771230872", + "kind": "comment", + "actor": "eyalroz", + "createdAt": "2023-10-19T15:33:20Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1771230872", + "summary": "A user asks what concretely to change in their config.", + "actorId": 8672255, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1771375933", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2023-10-19T16:55:09Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1771375933", + "summary": "A contributor says the rules move to the stylistic plugin, so nothing is lost.", + "actorId": 7195563, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1772990106", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-20T15:51:45Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1772990106", + "summary": "The opener promises a blog post with migration steps.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1775868616", + "kind": "comment", + "actor": "JoshuaKGoldberg", + "createdAt": "2023-10-23T19:16:26Z", + "editedAt": "2023-10-25T08:39:07Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1775868616", + "summary": "A contributor asks where to discuss moving other stylistic rules like curly; it moves to a new issue.", + "actorId": 3335181, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1777499902", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-24T15:35:22Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1777499902", + "summary": "The opener says the list is final and the announcement drafted, and new rules need a new issue.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:process:cross-referenced:2023-10-30T16:11:28Z", + "kind": "process", + "actor": "nzakas", + "createdAt": "2023-10-30T16:11:28Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "The opener links PR #17696 deprecating the formatting rules.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1787405760", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-10-31T15:06:11Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1787405760", + "summary": "The opener says they are working on it.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:process:unlabeled:2023-10-31T20:31:51Z", + "kind": "process", + "actor": "mdjermanovic", + "createdAt": "2023-10-31T20:31:51Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "A maintainer removes the breaking label.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1791963398", + "kind": "comment", + "actor": "pubmikeb", + "createdAt": "2023-11-03T06:59:08Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1791963398", + "summary": "A user asks about sort-keys and sort-vars.", + "actorId": 17231333, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1792607871", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2023-11-03T15:05:18Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1792607871", + "summary": "The opener points them to the answer in a discussion and a new issue.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:process:closed:2023-11-03T15:12:32Z", + "kind": "process", + "actor": "mdjermanovic", + "createdAt": "2023-11-03T15:12:32Z", + "url": "https://github.com/eslint/eslint/issues/17522", + "summary": "A maintainer closes the issue.", + "actorId": 44349756, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1800861197", + "kind": "comment", + "actor": "Alhadis", + "createdAt": "2023-11-08T01:33:35Z", + "editedAt": "2023-11-08T15:59:06Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1800861197", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 2346707, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1801178290", + "kind": "comment", + "actor": "wJoenn", + "createdAt": "2023-11-08T06:33:20Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1801178290", + "summary": "A user explains the rules are only marked deprecated, not removed, and the stylistic plugin offers the same rules.", + "actorId": 75388869, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + }, + { + "id": "eslint-17522:comment:1801247844", + "kind": "comment", + "actor": "Alhadis", + "createdAt": "2023-11-08T07:41:05Z", + "editedAt": "2023-11-08T15:59:16Z", + "url": "https://github.com/eslint/eslint/issues/17522#issuecomment-1801247844", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 2346707, + "actorType": "human", + "parentId": "eslint-17522:issue:17522" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/eslint-native-ts-config-flag.json b/evals/datasets/decisions-v1/cases/eslint-native-ts-config-flag.json new file mode 100644 index 000000000..95712aa4a --- /dev/null +++ b/evals/datasets/decisions-v1/cases/eslint-native-ts-config-flag.json @@ -0,0 +1,467 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "eslint-native-ts-config-flag", + "title": "Unflagging native TypeScript config loading", + "source": { + "url": "https://github.com/eslint/eslint/issues/19985", + "retrievedAt": "2026-10-18T07:28:27.741960+00:00", + "repository": "eslint/eslint", + "number": 19985 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-08-05T09:00:00Z" + }, + { + "id": "c2", + "at": "2025-08-06T12:00:00Z" + }, + { + "id": "c3", + "at": "2025-08-06T15:00:00Z" + }, + { + "id": "c4", + "at": "2025-11-19T19:00:00Z" + } + ], + "events": [ + { + "id": "eslint-19985:issue:19985", + "kind": "opening", + "actor": "karlhorky", + "createdAt": "2025-08-05T08:45:43Z", + "url": "https://github.com/eslint/eslint/issues/19985", + "summary": "A contributor asks whether the unstable_native_nodejs_ts_config flag can stop being required, since Node.js v22.18.0 and v24.3.0 now strip TypeScript types without a flag.", + "actorId": 1935696, + "actorType": "human" + }, + { + "id": "eslint-19985:comment:3154651983", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-08-05T10:36:39Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3154651983", + "summary": "A contributor says this would be welcome.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3158485627", + "kind": "comment", + "actor": "lumirlumir", + "createdAt": "2025-08-06T09:11:44Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3158485627", + "summary": "A maintainer supports it, suggests weighing it with the pending Node.js support policy issue, and asks the team for views.", + "actorId": 119669540, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3158697725", + "kind": "comment", + "actor": "fasttime", + "createdAt": "2025-08-06T09:38:17Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3158697725", + "summary": "A maintainer notes Node only strips erasable syntax, so it does not replace jiti; removing the flag would leave jiti users needing a way to opt out of native loading.", + "actorId": 6367844, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3159686639", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-08-06T11:05:08Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3159686639", + "summary": "A contributor agrees and says either unflagging or a replacement setting would be a breaking change.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3160435360", + "kind": "comment", + "actor": "nzakas", + "createdAt": "2025-08-06T14:32:39Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3160435360", + "summary": "The lead maintainer says the feature cannot be unflagged until native support matches jiti, and that behaviour varying by Node version within one ESLint release would confuse users.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:process:closed:2025-08-06T14:32:39Z", + "kind": "process", + "actor": "nzakas", + "createdAt": "2025-08-06T14:32:39Z", + "url": "https://github.com/eslint/eslint/issues/19985", + "summary": "The lead maintainer closes the issue as not planned.", + "actorId": 38546, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3160843451", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2025-08-06T16:35:49Z", + "editedAt": "2025-08-06T16:58:09Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3160843451", + "summary": "The opener replies that erasable-only is a deliberate Node design that will never change, so waiting for parity means the flag stays forever; they ask to revisit that.", + "actorId": 1935696, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3160854424", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2025-08-06T16:40:02Z", + "editedAt": "2025-08-06T17:04:17Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3160854424", + "summary": "The opener points to Node's --experimental-transform-types flag as a way to handle TypeScript-only syntax if that matters.", + "actorId": 1935696, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3161067801", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-08-06T17:57:23Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3161067801", + "summary": "A contributor thinks that flag would still need explicit import extensions, unlike jiti.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3285489239", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-12T14:22:14Z", + "editedAt": "2025-09-12T14:23:14Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3285489239", + "summary": "A user proposes keeping jiti when an eligible version is present, otherwise trying native Node loading, and only then erroring, which would not break jiti users.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3285673806", + "kind": "comment", + "actor": "silverwind", + "createdAt": "2025-09-12T15:12:18Z", + "editedAt": "2025-09-12T15:14:01Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3285673806", + "summary": "A contributor warns jiti can arrive indirectly and proposes the reverse order: try native first, then jiti, then error, and drop the flag.", + "actorId": 115237, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3285739953", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-12T15:31:29Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3285739953", + "summary": "The user says indirect jiti installs already happen today and calls it odd that ESLint never tries Node's own loader.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3285786995", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-12T15:42:43Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3285786995", + "summary": "A contributor calls the native-first fallback reasonable and a good compromise.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3335158109", + "kind": "comment", + "actor": "JoshuaKGoldberg", + "createdAt": "2025-09-25T17:20:24Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3335158109", + "summary": "A typescript-eslint contributor regrets missing the brief window and supports the change, arguing native Node TypeScript is becoming the norm and silently preferring jiti will surprise people.", + "actorId": 3335181, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3335643571", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2025-09-25T19:28:18Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3335643571", + "summary": "The opener asks the lead maintainer to reconsider reopening.", + "actorId": 1935696, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3335894381", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-25T20:47:57Z", + "editedAt": "2025-09-25T21:30:43Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3335894381", + "summary": "A user argues type stripping is all an ESLint config needs and cites the TypeScript team calling enums and namespaces mistakes.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3336059766", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-25T21:53:37Z", + "editedAt": "2025-09-25T22:46:43Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3336059766", + "summary": "A contributor calls that view reductive, raising module resolution with bundler-style imports that jiti handles, while still backing a re-evaluation.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3336163350", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-25T22:48:55Z", + "editedAt": "2025-09-25T22:50:11Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3336163350", + "summary": "The user disputes that Node depends on TypeScript settings and says the request is only to drop the flag when jiti is absent.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3336176028", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-25T22:55:26Z", + "editedAt": "2025-09-26T02:42:12Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3336176028", + "summary": "The contributor says they understand type stripping and were making a point about how projects are set up.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3336187872", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-25T23:03:03Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3336187872", + "summary": "The user replies briefly that this is about cross-platform compatibility, not conventions.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3338342750", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-26T12:02:15Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3338342750", + "summary": "The user argues ESLint configs rarely import project sources, so project TypeScript settings seldom matter and advanced users can keep jiti.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3339952261", + "kind": "comment", + "actor": "silverwind", + "createdAt": "2025-09-26T18:26:49Z", + "editedAt": "2025-09-26T18:29:36Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3339952261", + "summary": "A contributor argues ESLint runs on Node, which has always required extensions in ESM imports, so extensionless imports need not be supported.", + "actorId": 115237, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3340535278", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-26T21:11:41Z", + "editedAt": "2025-09-26T21:25:16Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3340535278", + "summary": "A contributor describes large monorepos with local plugin packages using bundler resolution and warns against excluding real cases, while still backing the request.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3340592637", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-26T21:40:18Z", + "editedAt": "2025-11-19T01:29:23Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3340592637", + "summary": "The same contributor rejects calling bundler resolution legacy and describes a common monorepo layout that would break.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3340723868", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2025-09-26T22:54:22Z", + "editedAt": "2025-09-26T22:55:19Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3340723868", + "summary": "The user replies that bundler-style paths would fail for a JavaScript config too, so TypeScript support changes nothing there.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3340728761", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-09-26T22:57:30Z", + "editedAt": "2025-09-26T23:01:16Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3340728761", + "summary": "The contributor ends the exchange, repeating support for reopening.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3554175889", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2025-11-19T18:52:12Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3554175889", + "summary": "A contributor restates the two fallback orders (jiti then native, or native then jiti) and asks whether the jiti-first order has downsides.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3554263464", + "kind": "comment", + "actor": "silverwind", + "createdAt": "2025-11-19T19:17:30Z", + "editedAt": "2025-11-19T19:20:07Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3554263464", + "summary": "A contributor accepts either order and suggests a new issue since this one is closed.", + "actorId": 115237, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3977610743", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2026-02-28T19:15:52Z", + "editedAt": "2026-03-01T16:11:17Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3977610743", + "summary": "The opener reports Node removed --experimental-transform-types and asks the maintainers whether zero-dependency TypeScript configs are ever negotiable, citing Prettier and Jest support.", + "actorId": 1935696, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3979239669", + "kind": "comment", + "actor": "silverwind", + "createdAt": "2026-03-01T06:16:40Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3979239669", + "summary": "A contributor confirms the flag is gone and says other tools, including webpack, now load TypeScript configs natively.", + "actorId": 115237, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3980045212", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2026-03-01T14:10:16Z", + "editedAt": "2026-03-01T14:10:35Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3980045212", + "summary": "A contributor asks for at least some defined plan to move to native support eventually.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3980070824", + "kind": "comment", + "actor": "darksabrefr", + "createdAt": "2026-03-01T14:21:23Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3980070824", + "summary": "A user says the fallback design avoids breaking jiti users, so the block is hard to understand.", + "actorId": 17409537, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:3980080743", + "kind": "comment", + "actor": "michaelfaith", + "createdAt": "2026-03-01T14:26:18Z", + "editedAt": "2026-03-01T14:28:06Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-3980080743", + "summary": "A contributor asks to keep things civil and says the maintainers need to be comfortable with any approach.", + "actorId": 8071845, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:4189252122", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2026-04-05T17:41:25Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-4189252122", + "summary": "A contributor asks the lead maintainer to reopen, since Node's TypeScript support is now stable and complete, and the jiti-first fallback need not break anything.", + "actorId": 1653598, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:4189284241", + "kind": "comment", + "actor": "silverwind", + "createdAt": "2026-04-05T18:04:33Z", + "editedAt": "2026-04-05T18:07:44Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-4189284241", + "summary": "A contributor notes Node 20 reaches end of life shortly, after which every supported Node version supports TypeScript natively.", + "actorId": 115237, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:comment:4295923869", + "kind": "comment", + "actor": "sosoba", + "createdAt": "2026-04-22T11:52:14Z", + "url": "https://github.com/eslint/eslint/issues/19985#issuecomment-4295923869", + "summary": "A user posts an image with no text.", + "actorId": 2843525, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + }, + { + "id": "eslint-19985:process:locked:2026-04-24T13:33:25Z", + "kind": "process", + "actor": "eslint", + "createdAt": "2026-04-24T13:33:25Z", + "url": "https://github.com/eslint/eslint/issues/19985", + "summary": "The issue is locked.", + "actorId": 6019716, + "actorType": "human", + "parentId": "eslint-19985:issue:19985" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-arrow-binding-default.json b/evals/datasets/decisions-v1/cases/excalidraw-arrow-binding-default.json new file mode 100644 index 000000000..96822f4b4 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-arrow-binding-default.json @@ -0,0 +1,1278 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-arrow-binding-default", + "title": "Default binding of arrows to shapes", + "source": { + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "retrievedAt": "2026-10-18T07:21:08.980203+00:00", + "repository": "excalidraw/excalidraw", + "number": 1899 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-07-10T20:00:00Z" + }, + { + "id": "c2", + "at": "2020-08-05T00:00:00Z" + }, + { + "id": "c3", + "at": "2020-08-08T17:00:00Z" + }, + { + "id": "c4", + "at": "2020-08-09T04:30:00Z" + } + ], + "events": [ + { + "id": "excalidraw-1899:pr:1899", + "kind": "opening", + "actor": "xixixao", + "createdAt": "2020-07-10T05:36:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "A collaborator opens a work-in-progress PR letting lines and arrows bind to shapes so they follow when shapes move, using focus points and a constant gap, with a modifier key to skip binding, and asks for feedback on bind distances.", + "actorId": 1473433, + "actorType": "human" + }, + { + "id": "excalidraw-1899:comment:656492912", + "kind": "comment", + "actor": "vercel[bot]", + "createdAt": "2020-07-10T05:36:37Z", + "editedAt": "2020-08-09T04:03:41Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656492912", + "summary": "A bot posts the preview deployment.", + "actorId": 35613825, + "actorType": "bot", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656672608", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-10T13:18:47Z", + "editedAt": "2020-07-20T05:37:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656672608", + "summary": "A maintainer argues binding should be off by default and enabled with a modifier, since snapping by default pushes the app toward precision vector tools, and endorses the binding-versus-bindable split.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656813843", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-10T18:14:14Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656813843", + "summary": "The opener agrees but notes the project creator wanted binding by default, and proposes trying the default during review.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656924113", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-10T22:36:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656924113", + "summary": "The project creator argues the app should not mimic a physical whiteboard and that people usually want arrows to follow shapes, so binding should default on and be tested for real.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656951303", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-11T00:38:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656951303", + "summary": "The opener shows a counterexample where automatic focus points misplace arrows.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656982552", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-11T04:01:37Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656982552", + "summary": "The creator says his arrows target whole boxes and the result is still better than not binding.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:656992860", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-11T05:21:03Z", + "editedAt": "2020-07-20T05:37:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-656992860", + "summary": "The creator notes an arrow in the opener's diagram is off.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:657152207", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-12T00:16:25Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-657152207", + "summary": "The opener reports arrows vibrating and disappearing in WebKit.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:657236168", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-12T15:20:08Z", + "editedAt": "2020-07-18T13:53:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-657236168", + "summary": "A contributor describes pointing at items inside a container and proposes special focus point logic for groups, offering to implement it.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:657242777", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-12T16:09:22Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-657242777", + "summary": "The opener asks for real examples and lists four options, from binding to inner objects to not catering for the case.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:658134294", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-14T11:46:18Z", + "editedAt": "2020-07-18T13:53:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-658134294", + "summary": "The contributor retracts how common the case is and agrees to not handle it specially for now.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660186407", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-17T15:56:41Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660186407", + "summary": "The creator asks what remains before shipping.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660196144", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-17T16:13:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660196144", + "summary": "A maintainer says the default must be reviewed first because shipping it would be hard to undo.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660226269", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-17T17:02:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660226269", + "summary": "The opener notes a geometric algebra library he plans to replace.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660478650", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-18T12:51:03Z", + "editedAt": "2020-07-20T05:36:46Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660478650", + "summary": "The contributor reports tips snapping back after editing and proposes rebinding when lines are moved.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660480363", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-18T13:04:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660480363", + "summary": "The contributor strongly supports binding by default and asks for counterexamples.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660487427", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-18T14:01:47Z", + "editedAt": "2020-07-20T05:36:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660487427", + "summary": "The contributor reports resize and rotate bugs.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660488763", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-18T14:11:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660488763", + "summary": "A maintainer says default binding of lines and freehand drawings couples shapes during sketching and asks at least for a way to disable and uncouple.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660491676", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-18T14:31:31Z", + "editedAt": "2020-08-02T06:08:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660491676", + "summary": "A maintainer reports arrows disappearing when shapes move.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660559776", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-18T23:57:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660559776", + "summary": "The opener acknowledges the reports.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660564853", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T00:49:12Z", + "editedAt": "2020-07-19T00:51:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660564853", + "summary": "A maintainer hopes default binding applies only to arrows, showing a sun drawing with rays.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660565857", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-19T00:59:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660565857", + "summary": "The creator doubts the sun case would be annoying in practice.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660567030", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T01:07:55Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660567030", + "summary": "The maintainer says the mental model is wrong because drawn rays are not expected to connect.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660568987", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-19T01:23:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660568987", + "summary": "The creator wants evidence from practice.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660570116", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T01:35:23Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660570116", + "summary": "The maintainer posts a recording of the problem.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660570881", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-19T01:42:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660570881", + "summary": "The creator asks him to try the branch.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660573385", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T02:11:22Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660573385", + "summary": "The maintainer posts a recording from the branch.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660581860", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-19T03:51:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660581860", + "summary": "The opener floats a modifier to move a shape without its bound lines.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660587217", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T04:53:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660587217", + "summary": "A maintainer asks to see which arrows are bound when a shape is selected.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660622637", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-19T10:29:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660622637", + "summary": "The contributor prototypes a binding highlight that shows the actual buffer zone.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660624163", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-19T10:43:37Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660624163", + "summary": "The contributor separates drawing from diagramming use cases and proposes a binding mode toggle like tool lock.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660625112", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-19T10:51:35Z", + "editedAt": "2020-07-19T10:52:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660625112", + "summary": "A maintainer agrees with the sun objection, resists another mode toggle, and stresses friction-free drawing as the app's appeal.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660630789", + "kind": "comment", + "actor": "HerbCaudill", + "createdAt": "2020-07-19T11:40:02Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660630789", + "summary": "The contributor proposes two visual indicators for bindings: tape marks or visible focus points.", + "actorId": 2136620, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660633758", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-07-19T12:06:09Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660633758", + "summary": "A maintainer sketches a redesigned toolbar separating bound and unbound tools.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660634634", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-19T12:14:06Z", + "editedAt": "2020-07-19T12:17:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660634634", + "summary": "A maintainer sketches a submenu under the arrow tool for binding.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660771742", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-20T02:51:09Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660771742", + "summary": "The opener plans to reuse the binding highlight for existing bindings.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660794128", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T04:26:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660794128", + "summary": "The creator asks whether creating a shape should bind nearby arrows.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660795413", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T04:31:38Z", + "editedAt": "2020-07-20T05:35:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660795413", + "summary": "The creator reports the other end of an arrow not updating.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660801478", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-20T04:55:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660801478", + "summary": "The opener sees arguments both ways for binding on shape creation and confirms the bug.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660815452", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T05:43:24Z", + "editedAt": "2020-08-02T01:14:23Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660815452", + "summary": "The creator confirms a fix but notes odd focus points.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660816555", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T05:46:49Z", + "editedAt": "2020-08-02T01:14:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660816555", + "summary": "The creator suggests using ratios for focus points.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660818784", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T05:53:25Z", + "editedAt": "2020-08-02T01:14:52Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660818784", + "summary": "The creator notes the ratio must ignore arrow direction.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660821805", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T06:02:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660821805", + "summary": "The creator says creation order should not matter and suggests modifiers to move without bound elements.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:660822832", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-20T06:05:07Z", + "editedAt": "2020-08-02T01:13:26Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-660822832", + "summary": "The creator reports breakage with grid mode.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:661560811", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-21T02:06:56Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-661560811", + "summary": "The opener agrees the focus point strategy is weak there.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:661619694", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-21T04:04:58Z", + "editedAt": "2020-08-02T00:55:55Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-661619694", + "summary": "The opener sketches a better focus point strategy.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:cross-referenced:2020-07-21T06:34:56Z", + "kind": "process", + "actor": "dai-shi", + "createdAt": "2020-07-21T06:34:56Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "A maintainer links a related sharpness PR.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:662256845", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-22T05:53:16Z", + "editedAt": "2020-08-02T00:55:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-662256845", + "summary": "The opener finds the strategy simpler than expected.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:663616836", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-24T16:15:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-663616836", + "summary": "The opener previews the new focus point behaviour.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:663918546", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-07-26T00:03:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-663918546", + "summary": "A maintainer says arrow creation should end when it connects to an element.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:663918605", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-07-26T00:03:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-663918605", + "summary": "The maintainer praises progress.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:663972790", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-26T10:52:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-663972790", + "summary": "A maintainer objects that ending automatically is more magic and blocks continuing to another element.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:664504571", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-07-27T16:35:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-664504571", + "summary": "The creator agrees not to end the arrow automatically.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:665771285", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-07-29T16:35:49Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-665771285", + "summary": "A user agrees with concerns about the default and asks whether the stored format is stable.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:665789918", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-07-29T17:12:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-665789918", + "summary": "The user asks for labels bound to arrows.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:666123685", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-30T05:25:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-666123685", + "summary": "The opener says storage is not stable and asks for an example.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:666166493", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-07-30T06:54:45Z", + "editedAt": "2020-08-02T00:55:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-666166493", + "summary": "The opener records a refined focus point approach.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:667006337", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-07-31T08:37:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-667006337", + "summary": "The user shares a diagram with arrow labels and asks about binding to groups.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:667501411", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-01T09:18:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-667501411", + "summary": "The opener describes the final focus point approach.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:667662389", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-02T11:31:17Z", + "editedAt": "2020-08-02T11:32:30Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-667662389", + "summary": "A maintainer agrees to change alt-drag duplication behaviour after a chat discussion.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:667704045", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-02T17:44:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-667704045", + "summary": "The opener keeps the existing duplication behaviour and works around it.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:667816128", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-03T05:46:30Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-667816128", + "summary": "The opener declares the PR feature-ready and asks for merge-blocking bugs.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668270710", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-03T22:23:49Z", + "editedAt": "2020-08-04T02:56:50Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668270710", + "summary": "A maintainer praises it but suggests binding only arrows to merge, and discussing new UI in a separate issue.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668339064", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-04T02:14:53Z", + "editedAt": "2020-08-04T02:15:08Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668339064", + "summary": "The opener reports fixing rotation and resize handle bugs.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668349671", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-04T02:50:37Z", + "editedAt": "2020-08-04T06:37:04Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668349671", + "summary": "A maintainer asks about highlights during multi-element drags.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668353189", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-04T03:04:18Z", + "editedAt": "2020-08-04T12:42:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668353189", + "summary": "A maintainer shows an arrow binding across a shape.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668358981", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-04T03:28:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668358981", + "summary": "The opener defers the crossing case to a later PR.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668461370", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-04T08:31:57Z", + "editedAt": "2020-08-04T08:32:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668461370", + "summary": "A maintainer agrees to enable binding for arrows only and adjust after feedback.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668561951", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-08-04T12:19:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668561951", + "summary": "A user asks how to record clips and reports lost bindings.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668563117", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-04T12:22:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668563117", + "summary": "A maintainer asks for repro steps.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668563263", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-04T12:22:28Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668563263", + "summary": "A maintainer explains how he records clips.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668563841", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-08-04T12:23:52Z", + "editedAt": "2020-08-05T05:41:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668563841", + "summary": "The user describes losing a binding after moving a middle point.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668567741", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-08-04T12:32:53Z", + "editedAt": "2020-08-05T05:41:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668567741", + "summary": "The user posts a recording.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668575642", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-04T12:47:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668575642", + "summary": "A maintainer confirms the bug.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668592705", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-04T13:20:22Z", + "editedAt": "2020-08-04T16:58:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668592705", + "summary": "A maintainer lists UX issues, including preferring the closer element.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:review-comment:465049718", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2020-08-04T13:28:14Z", + "editedAt": "2020-08-09T04:02:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#discussion_r465049718", + "summary": "A maintainer asks for docs and a better name for a state field.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668716363", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-04T17:07:00Z", + "editedAt": "2020-08-04T17:07:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668716363", + "summary": "A maintainer remains concerned that unremovable auto-binding makes freehand sketching very hard.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668810681", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-04T20:32:18Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668810681", + "summary": "The opener notes a zoom rendering bug.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668828088", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-04T21:13:22Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668828088", + "summary": "The opener lists six options: keep as is, bind arrows only, modifier to enable, modifier to disable, a toggle mode, or a toolbar toggle, warning that switching later is disruptive.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668879803", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-08-04T23:33:29Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668879803", + "summary": "The creator prefers a modifier key to disable binding, like smart alignment.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:668993007", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-05T05:45:38Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-668993007", + "summary": "The opener defers the closer-element and jump issues.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:669008169", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-05T06:32:14Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-669008169", + "summary": "The opener implements CMD or CTRL to disable binding.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:669015334", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-05T06:51:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-669015334", + "summary": "A maintainer asks how this works on mobile.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:669313078", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-05T17:02:49Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-669313078", + "summary": "The opener says it does not.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:669500997", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-08-05T20:50:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-669500997", + "summary": "A user finds the modifier works well and likes the toggle ideas.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:renamed:2020-08-06T16:06:10Z", + "kind": "process", + "actor": "xixixao", + "createdAt": "2020-08-06T16:06:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "The opener removes the WIP marker from the title.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670821701", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T04:23:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670821701", + "summary": "The opener asks maintainers whether to ship as is.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670833119", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-08-08T06:37:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670833119", + "summary": "The creator approves shipping and trusts fixes after release.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670842717", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-08T08:09:51Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670842717", + "summary": "A maintainer ranks arrows-only first as an interim step, a toggle second, and rejects modifier-to-disable for drawing.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670843651", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-08T08:18:48Z", + "editedAt": "2020-08-09T01:39:08Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670843651", + "summary": "A maintainer reports the modifier failing during creation.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670945679", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T16:09:04Z", + "editedAt": "2020-08-09T01:39:18Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670945679", + "summary": "The opener explains and then reproduces it.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670946108", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-08T16:12:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670946108", + "summary": "A maintainer backs arrows-only, wants binding to be intentional through modifier-to-enable or a mode, and accepts differing desktop and mobile solutions.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670946514", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-08T16:16:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670946514", + "summary": "A maintainer would drop line binding until users ask.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670954048", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T17:32:14Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670954048", + "summary": "The opener drops line binding and asks whether mobile can ship without a way to disable.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670955328", + "kind": "comment", + "actor": "Jan-M", + "createdAt": "2020-08-08T17:46:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670955328", + "summary": "A user suggests toggling binding by tapping the active arrow tool.", + "actorId": 1443395, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670958341", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T18:18:00Z", + "editedAt": "2020-08-08T19:05:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670958341", + "summary": "The opener explains why the modifier is unreliable and now favours a proper toggle mode with a shortcut.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670960519", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-08T18:40:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670960519", + "summary": "A maintainer suggests tracking the key in a global flag.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670962601", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T19:02:09Z", + "editedAt": "2020-08-09T01:40:22Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670962601", + "summary": "The opener says he does, but it breaks when focus leaves the window.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670962900", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-08T19:05:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670962900", + "summary": "The opener notes a blur handler mostly fixes it.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670977593", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-08T21:50:33Z", + "editedAt": "2020-08-09T01:23:04Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670977593", + "summary": "A maintainer reports lines still binding sometimes.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670978247", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-08-08T21:58:22Z", + "editedAt": "2020-08-09T01:23:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670978247", + "summary": "A maintainer confirms it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670978618", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-08T22:02:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670978618", + "summary": "A maintainer disagrees that line binding lacks use cases and notes split views on modifier direction.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670993620", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-09T01:41:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670993620", + "summary": "The opener asks to merge and expects a UI toggle later after persuading the creator.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:cross-referenced:2020-08-09T01:44:38Z", + "kind": "process", + "actor": "Jnforja", + "createdAt": "2020-08-09T01:44:38Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "A contributor links a bounding box fix PR.", + "actorId": 7002157, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:670995198", + "kind": "comment", + "actor": "dai-shi", + "createdAt": "2020-08-09T02:03:19Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-670995198", + "summary": "A maintainer approves the behaviour and wants toggle discussion to continue.", + "actorId": 490574, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:merged:2020-08-09T04:04:16Z", + "kind": "process", + "actor": "xixixao", + "createdAt": "2020-08-09T04:04:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "The opener merges the PR.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:closed:2020-08-09T04:04:17Z", + "kind": "process", + "actor": "xixixao", + "createdAt": "2020-08-09T04:04:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "The PR closes on merge.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:comment:671003230", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2020-08-09T04:05:23Z", + "editedAt": "2020-08-09T04:05:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899#issuecomment-671003230", + "summary": "The opener says he merged because merge conflicts cost everyone time and he will fix forward.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + }, + { + "id": "excalidraw-1899:process:cross-referenced:2020-08-09T04:42:52Z", + "kind": "process", + "actor": "xixixao", + "createdAt": "2020-08-09T04:42:52Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1899", + "summary": "The opener links a follow-up adding the binding shortcut to the help dialog.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-1899:pr:1899" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-export-dialog-redesign.json b/evals/datasets/decisions-v1/cases/excalidraw-export-dialog-redesign.json new file mode 100644 index 000000000..5b434a741 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-export-dialog-redesign.json @@ -0,0 +1,770 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-export-dialog-redesign", + "title": "Splitting and labelling Excalidraw's export dialogs", + "source": { + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "retrievedAt": "2026-10-18T07:21:33.632923+00:00", + "repository": "excalidraw/excalidraw", + "number": 3613 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-05-21T14:00:00Z" + }, + { + "id": "c2", + "at": "2021-05-22T15:20:00Z" + }, + { + "id": "c3", + "at": "2021-05-25T19:10:00Z" + }, + { + "id": "c4", + "at": "2021-05-25T20:00:00Z" + } + ], + "events": [ + { + "id": "excalidraw-3613:pr:3613", + "kind": "opening", + "actor": "dwelle", + "createdAt": "2021-05-21T13:32:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "summary": "A maintainer opens a redesign that splits exporting into a JSON dialog (save to file, shareable link, later Excalidraw+) and an image dialog (PNG, SVG, copy to clipboard), with a to-do list and screenshots.", + "actorId": 5153846, + "actorType": "human" + }, + { + "id": "excalidraw-3613:review-comment:636975295", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-21T14:41:29Z", + "editedAt": "2021-05-21T14:59:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r636975295", + "summary": "A maintainer suggests markup for the canvas-too-big error state.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review:665543542" + }, + { + "id": "excalidraw-3613:review-comment:636976344", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-21T14:42:45Z", + "editedAt": "2021-05-21T14:59:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r636976344", + "summary": "A maintainer asks to avoid inline styles because host apps cannot override them without !important.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review:665543542" + }, + { + "id": "excalidraw-3613:review-comment:636982048", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-21T14:50:09Z", + "editedAt": "2021-05-21T15:00:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r636982048", + "summary": "A maintainer notes the export callbacks should be renamed for JSON and image in a follow-up PR.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review:665543542" + }, + { + "id": "excalidraw-3613:review-comment:636985370", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-21T14:54:32Z", + "editedAt": "2021-05-21T15:00:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r636985370", + "summary": "A maintainer asks to use either Export or Save consistently, depending on the final icon.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review:665543542" + }, + { + "id": "excalidraw-3613:review:665543542", + "kind": "review", + "actor": "ad1992", + "createdAt": "2021-05-21T14:59:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#pullrequestreview-665543542", + "summary": "A maintainer leaves an enthusiastic comment review, noting it is the first multi-coloured dialog.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846134299", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2021-05-21T17:51:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846134299", + "summary": "The project's co-creator nitpicks that image is a better internal name than canvas, since SVG export does not use canvas.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846136017", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2021-05-21T17:55:23Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846136017", + "summary": "The co-creator prefers the new structure to the old one.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846137288", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2021-05-21T17:57:47Z", + "editedAt": "2021-05-21T17:58:51Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846137288", + "summary": "The co-creator says the image dialog is unclear and should be ordered as preview, then options, then export actions.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846275940", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-21T21:37:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846275940", + "summary": "The author explains canvas meant scene content but agrees to rename it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846392124", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T11:04:41Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846392124", + "summary": "The author finds the export-selected option also applied to shareable links, considers that unintuitive, and drops the checkbox from the JSON dialog.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:637391969", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-22T11:29:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r637391969", + "summary": "The author says he used both Export and Save on purpose to explain the concept and link the two terms.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:636985370" + }, + { + "id": "excalidraw-3613:comment:846394938", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T11:31:49Z", + "editedAt": "2021-05-22T12:22:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846394938", + "summary": "The author adds a filename input to the JSON dialog only for browsers without the native file system API, placed in the save-to-disk card for mobile wrapping.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:637393370", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-22T11:42:57Z", + "editedAt": "2021-05-22T11:42:58Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r637393370", + "summary": "The author moves the style into a class but argues host CSS overrides need an explicit API rather than constraining internal styling.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:636976344" + }, + { + "id": "excalidraw-3613:comment:846400698", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T12:22:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846400698", + "summary": "The author also hides the filename in the image dialog when the native file system API exists.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846419503", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T14:55:19Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846419503", + "summary": "The author is unsure what to title the JSON dialog, since Export alone may be ambiguous.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846420424", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-22T15:01:45Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846420424", + "summary": "A maintainer suggests Save.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846421050", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T15:05:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846421050", + "summary": "The author doubts Save fits shareable links and a future Excalidraw+ export.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846422451", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-22T15:16:46Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846422451", + "summary": "The maintainer proposes titling the image dialog Save as image and keeping Export for JSON.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846424820", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-22T15:36:06Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846424820", + "summary": "The maintainer suggests a Scale label with radio buttons for 1x, 2x, 3x.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846425758", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T15:43:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846425758", + "summary": "The author declines, saying it would clutter a dialog they are trying to simplify.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846425811", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-22T15:43:30Z", + "editedAt": "2021-05-22T15:47:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846425811", + "summary": "The author accepts Save as image, noting the dialog also contains copy to clipboard.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846553992", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-23T12:17:45Z", + "editedAt": "2021-05-24T12:58:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846553992", + "summary": "The author shows the finished image dialog and lists remaining items: JSON dialog text and toolbar icons.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846573940", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-23T14:41:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846573940", + "summary": "The maintainer asks to move the scale control onto the same row when nothing is selected.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846574256", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-23T14:43:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846574256", + "summary": "The maintainer suggests reusing the export icon for JSON now that image uses Save as image.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846584791", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-23T15:54:57Z", + "editedAt": "2021-05-23T16:36:49Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846584791", + "summary": "The author declines moving scale because the controls would jump position, adds an export arrow to the image icon, and swaps the save icon as suggested.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846609689", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-23T19:05:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846609689", + "summary": "The maintainer finds the icons similar and asks whether the image icon needs an arrow.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846613836", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-23T19:39:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846613836", + "summary": "The author keeps the arrows since both dialogs export and a bare image icon might suggest importing, and asks for feedback on the JSON dialog text.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846616365", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-23T19:59:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846616365", + "summary": "The maintainer agrees to keep the arrow for now and approves the JSON text.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:846628471", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-23T21:41:50Z", + "editedAt": "2021-05-23T21:43:31Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-846628471", + "summary": "As a stopgap, the author shows a button for saving to the open file beside the dark mode toggle, leaving final placement for a later PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:process:ready_for_review:2021-05-24T12:57:16Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2021-05-24T12:57:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "summary": "The author marks the PR ready for review.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:847244556", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2021-05-24T18:29:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-847244556", + "summary": "The maintainer accepts the temporary button and will review after a tooltip PR merges.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638782874", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:23:24Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638782874", + "summary": "The maintainer asks whether the card class should be prefixed with excalidraw.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638783479", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:24:05Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638783479", + "summary": "The maintainer asks to define the card colour variables in the class rather than inline.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638784717", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:25:31Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638784717", + "summary": "The maintainer suggests a colour variable change in the dialog styles.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638787021", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:28:05Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638787021", + "summary": "The maintainer asks for consistent lowercase class names, since everything is already scoped.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638788107", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:29:13Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638788107", + "summary": "The maintainer suggests passing the click handler directly.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638791471", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:32:49Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638791471", + "summary": "The maintainer asks to rename a variable for readability.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638792309", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:33:49Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638792309", + "summary": "The maintainer flags a label needing i18n.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638792378", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:33:54Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638792378", + "summary": "The maintainer flags another label needing i18n.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638794791", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:36:39Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638794791", + "summary": "The maintainer suggests a colour variable change in the card styles.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638795000", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T13:36:53Z", + "editedAt": "2021-05-25T13:41:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638795000", + "summary": "The maintainer suggests another colour variable change in the card styles.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638802003", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T13:44:41Z", + "editedAt": "2021-05-25T13:44:42Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638802003", + "summary": "The author says namespacing within the container is enough, as other components are not prefixed.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638782874" + }, + { + "id": "excalidraw-3613:review-comment:638803980", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T13:46:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638803980", + "summary": "The author argues CSS variables are the simplest and most customisable way to colour cards.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638806946", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T13:50:07Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638806946", + "summary": "The author cites the style guide: component classes are capitalised, utilities lowercase; global prefixing belongs in a separate PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638787021" + }, + { + "id": "excalidraw-3613:review-comment:638807762", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T13:51:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638807762", + "summary": "The author says the format labels come from production, where they are intentionally not translated.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638792309" + }, + { + "id": "excalidraw-3613:review-comment:638830513", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T14:15:39Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638830513", + "summary": "The maintainer agrees the naming point is general and can be handled separately.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638787021" + }, + { + "id": "excalidraw-3613:review-comment:638834187", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T14:19:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638834187", + "summary": "The maintainer clarifies he meant declaring the variables in the Card class.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638845204", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T14:31:30Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638845204", + "summary": "The maintainer is unsure about untranslated labels but defers the topic.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638792309" + }, + { + "id": "excalidraw-3613:review-comment:638856498", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T14:43:45Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638856498", + "summary": "The author asks whether that is not the same as using classes.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638863299", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T14:50:52Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638863299", + "summary": "The maintainer shows a CSS snippet of what he means.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638892211", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T15:13:00Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638892211", + "summary": "The author explains that would need a class per supported colour.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638905518", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T15:24:23Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638905518", + "summary": "The maintainer realises the colour comes from props and withdraws the point.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638783479" + }, + { + "id": "excalidraw-3613:review-comment:638917787", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T15:38:24Z", + "editedAt": "2021-05-25T15:39:41Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638917787", + "summary": "The maintainer asks to use a native checkbox input for semantic correctness.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:review-comment:638977968", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T16:41:44Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r638977968", + "summary": "The author declines, citing the hacks needed to hide a native checkbox, and invites a separate PR if it helps accessibility.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638917787" + }, + { + "id": "excalidraw-3613:review-comment:639048547", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2021-05-25T17:59:25Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r639048547", + "summary": "The maintainer accepts deferring it but asks for checkbox role and aria-checked now.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638917787" + }, + { + "id": "excalidraw-3613:review-comment:639110465", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2021-05-25T19:06:45Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#discussion_r639110465", + "summary": "The author confirms the ARIA attributes are added.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:review-comment:638917787" + }, + { + "id": "excalidraw-3613:review:668253306", + "kind": "review", + "actor": "ad1992", + "createdAt": "2021-05-25T19:13:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#pullrequestreview-668253306", + "summary": "The maintainer approves the PR.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:848207207", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-25T19:37:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-848207207", + "summary": "The author celebrates.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:process:merged:2021-05-25T19:37:15Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2021-05-25T19:37:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "summary": "The author merges the PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:process:closed:2021-05-25T19:37:15Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2021-05-25T19:37:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "summary": "The PR closes on merge.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:process:cross-referenced:2021-05-26T13:30:10Z", + "kind": "process", + "actor": "alsuren", + "createdAt": "2021-05-26T13:30:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613", + "summary": "A contributor links a PR about saving the export scale in app state.", + "actorId": 254647, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:849017063", + "kind": "comment", + "actor": "sebasjm", + "createdAt": "2021-05-26T18:25:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-849017063", + "summary": "A user says they could not find SVG with embedded scene after the redesign and argues it should be the default as the only editable format.", + "actorId": 161916, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:849104718", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-05-26T20:44:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-849104718", + "summary": "The author asks what was hard to find and explains the goals of grouping related formats and making export actions prominent.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + }, + { + "id": "excalidraw-3613:comment:849141618", + "kind": "comment", + "actor": "sebasjm", + "createdAt": "2021-05-26T21:45:02Z", + "editedAt": "2021-05-26T21:46:18Z", + "url": "https://github.com/excalidraw/excalidraw/pull/3613#issuecomment-849141618", + "summary": "The user says it was moved rather than missing, and suggests two buttons, Share and Save, plus rewording the embed option as a size warning.", + "actorId": 161916, + "actorType": "human", + "parentId": "excalidraw-3613:pr:3613" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-handwritten-font-search.json b/evals/datasets/decisions-v1/cases/excalidraw-handwritten-font-search.json new file mode 100644 index 000000000..3ff3b48e8 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-handwritten-font-search.json @@ -0,0 +1,561 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-handwritten-font-search", + "title": "Replacing or improving Excalidraw's handwritten font", + "source": { + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "retrievedAt": "2026-10-18T07:02:46.312371+00:00", + "repository": "excalidraw/excalidraw", + "number": 2945 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-02-05T19:30:00Z" + }, + { + "id": "c2", + "at": "2021-02-18T16:30:00Z" + }, + { + "id": "c3", + "at": "2021-02-25T08:00:00Z" + }, + { + "id": "c4", + "at": "2021-02-26T12:00:00Z" + } + ], + "events": [ + { + "id": "excalidraw-2945:issue:2945", + "kind": "opening", + "actor": "vjeux", + "createdAt": "2021-02-05T19:16:52Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "summary": "The opener, a core team member, says users find the FG_Virgil font hard to read and announces a search for an additional handwritten font, listing criteria: handwritten feel, non-Latin scripts, and a license allowing hosting, redistribution and commercial use. A winner is to be picked about ten days later; how two fonts would coexist is left open.", + "actorId": 197597, + "actorType": "human" + }, + { + "id": "excalidraw-2945:process:cross-referenced:2021-02-05T19:22:37Z", + "kind": "process", + "actor": "daoleno", + "createdAt": "2021-02-05T19:22:37Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "summary": "A contributor links an earlier closed PR that added Chinese handwriting and code fonts.", + "actorId": 7393152, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774244843", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-02-05T19:36:08Z", + "editedAt": "2021-02-05T19:51:28Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774244843", + "summary": "A maintainer seeds the search with four candidates (BLOKLETTERS, GelPen, Swagger, Just Another Hand) with samples, noting license checks are still needed and that some fonts look blurry in the editor.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774247969", + "kind": "comment", + "actor": "wietsevenema", + "createdAt": "2021-02-05T19:42:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774247969", + "summary": "A user asks that Virgil not be removed and votes for BLOKLETTERS for its clarity.", + "actorId": 356014, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774254104", + "kind": "comment", + "actor": "aqandrew", + "createdAt": "2021-02-05T19:55:29Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774254104", + "summary": "A contributor suggests Architects Daughter as close in spirit to Virgil but more legible, while noting it lacks Greek and Cyrillic.", + "actorId": 9038965, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774257881", + "kind": "comment", + "actor": "mrchief", + "createdAt": "2021-02-05T20:02:23Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774257881", + "summary": "A user votes for BLOKLETTERS because it reads well at small sizes.", + "actorId": 781818, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774282984", + "kind": "comment", + "actor": "YouriTjang", + "createdAt": "2021-02-05T20:53:43Z", + "editedAt": "2021-02-14T11:04:02Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774282984", + "summary": "A comment GitHub marks as hidden (duplicate); the contributor had proposed xkcd-script and later withdrew it as not meeting the requirements.", + "actorId": 1197663, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774285433", + "kind": "comment", + "actor": "xixixao", + "createdAt": "2021-02-05T20:59:10Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774285433", + "summary": "A maintainer proposes Recursive, praising its license and character coverage but calling it rather regular-looking.", + "actorId": 1473433, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774288893", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-02-05T21:06:58Z", + "editedAt": "2021-02-14T11:04:11Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774288893", + "summary": "A comment GitHub marks as hidden (resolved): a maintainer rules out the xkcd font because its license forbids commercial use, and adds that requirement to the description.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774306582", + "kind": "comment", + "actor": "iamdyani", + "createdAt": "2021-02-05T21:48:38Z", + "editedAt": "2021-02-05T21:49:13Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774306582", + "summary": "A user offers Fewriter, Xarrovv and Comic Relief, weighing each one's legibility against how hand-drawn it feels.", + "actorId": 78622145, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774309167", + "kind": "comment", + "actor": "rkz", + "createdAt": "2021-02-05T21:54:50Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774309167", + "summary": "A user prefers a narrower, unslanted font and questions offering two handwritten fonts, suggesting Virgil be phased out and kept only for existing drawings.", + "actorId": 1901575, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774413900", + "kind": "comment", + "actor": "daoleno", + "createdAt": "2021-02-06T06:55:16Z", + "editedAt": "2021-02-06T06:55:55Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774413900", + "summary": "A contributor proposes an OFL-licensed Chinese handwriting font, noting it does not cover Japanese or Korean.", + "actorId": 7393152, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:process:labeled:2021-02-06T12:59:29Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2021-02-06T12:59:29Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "summary": "A maintainer adds the help wanted label.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774597180", + "kind": "comment", + "actor": "t6adev", + "createdAt": "2021-02-07T04:56:34Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774597180", + "summary": "A user recommends an OFL Japanese font, RocknRoll One, which covers Latin and Japanese only.", + "actorId": 6883692, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774650813", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-07T10:35:34Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774650813", + "summary": "A maintainer says fallback fonts for other languages will be needed whichever font is chosen, perhaps loaded lazily.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774680218", + "kind": "comment", + "actor": "eddyg", + "createdAt": "2021-02-07T14:08:26Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774680218", + "summary": "A user suggests building a custom font with randomised glyph variants, or at least choosing a font that has them, so text looks less typed, and proposes a test sentence with repeated letters.", + "actorId": 3235109, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:774692030", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-07T15:21:40Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-774692030", + "summary": "A maintainer likes the custom-font idea and moves it to a separate discussion to keep this issue focused.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:777768078", + "kind": "comment", + "actor": "shinkim0914", + "createdAt": "2021-02-11T20:27:56Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-777768078", + "summary": "A user adds Caveat (OFL, Cyrillic) and Verveine (paid Adobe license, broad language support).", + "actorId": 29636145, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:778212815", + "kind": "comment", + "actor": "ReneCode", + "createdAt": "2021-02-12T14:01:24Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-778212815", + "summary": "A contributor votes for GelPen, liking its loose numerals.", + "actorId": 1595098, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:778345749", + "kind": "comment", + "actor": "polyrand", + "createdAt": "2021-02-12T17:52:48Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-778345749", + "summary": "A user favours Blokletters and GelPen, leaning to GelPen, likening them to a well-known zine style.", + "actorId": 37962604, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:778348563", + "kind": "comment", + "actor": "eddyg", + "createdAt": "2021-02-12T17:58:24Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-778348563", + "summary": "A user links an article on how that zine author made her own handwriting font.", + "actorId": 3235109, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:process:cross-referenced:2021-02-12T18:38:13Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2021-02-12T18:38:13Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "summary": "A maintainer links a PR that lets people try the candidate fonts live, which backs the preview site.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:778761126", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-14T10:58:08Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-778761126", + "summary": "A maintainer says Fewriter is nice.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:778838140", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-14T20:37:48Z", + "editedAt": "2021-02-15T09:57:25Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-778838140", + "summary": "A comment GitHub marks as hidden (resolved): a maintainer asks which font the zine author uses, then finds she does not share it.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779108397", + "kind": "comment", + "actor": "tomayac", + "createdAt": "2021-02-15T10:02:02Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779108397", + "summary": "A maintainer supports Fewriter for keeping its quirky look across Latin, Cyrillic and Greek.", + "actorId": 145676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779159640", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-02-15T11:28:10Z", + "editedAt": "2021-02-15T11:28:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779159640", + "summary": "A maintainer finds Fewriter acceptable apart from word-spacing issues, but worries most that it has no real license, so modification and redistribution rights are unknown.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779185408", + "kind": "comment", + "actor": "polyrand", + "createdAt": "2021-02-15T12:17:06Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779185408", + "summary": "A user points to the designer's contact details and a permissive download listing, and prefers Fewriter's look over GelPen's legibility.", + "actorId": 37962604, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779215513", + "kind": "comment", + "actor": "db255", + "createdAt": "2021-02-15T13:13:10Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779215513", + "summary": "A user rates GelPen and Architects Daughter equally, noting their digits are clearer than Virgil's.", + "actorId": 20557552, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779237617", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-15T13:52:34Z", + "editedAt": "2021-02-15T15:15:02Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779237617", + "summary": "A comment GitHub marks as hidden (resolved): a maintainer identifies Fewriter's designer and asks whether anyone can reach him.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779282224", + "kind": "comment", + "actor": "polyrand", + "createdAt": "2021-02-15T15:09:41Z", + "editedAt": "2021-02-15T15:15:13Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779282224", + "summary": "A comment GitHub marks as hidden (resolved): a user shares the designer's email and suggests the team make contact.", + "actorId": 37962604, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779283796", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2021-02-15T15:12:16Z", + "editedAt": "2021-02-15T15:15:26Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779283796", + "summary": "A comment GitHub marks as hidden (resolved): a maintainer says the team will reach out once the shortlist is narrowed.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779404108", + "kind": "comment", + "actor": "apkoponen", + "createdAt": "2021-02-15T19:08:45Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779404108", + "summary": "A user prefers Fewriter.", + "actorId": 5046650, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:779597556", + "kind": "comment", + "actor": "ntkoopman", + "createdAt": "2021-02-16T05:45:59Z", + "editedAt": "2021-02-16T05:54:34Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-779597556", + "summary": "A user asks to see the actual readability complaints, arguing that without them the choice is bikeshedding.", + "actorId": 1769749, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:780486739", + "kind": "comment", + "actor": "maeddes", + "createdAt": "2021-02-17T11:16:31Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-780486739", + "summary": "A user asks how voting works and backs Fewriter.", + "actorId": 11751587, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:780569249", + "kind": "comment", + "actor": "ntkoopman", + "createdAt": "2021-02-17T13:50:58Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-780569249", + "summary": "A user shows Fewriter's kerning and baseline problems and mixed Cyrillic forms in a multilingual sample, suggesting font authors might accept fixes as Virgil once did.", + "actorId": 1769749, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:780949221", + "kind": "comment", + "actor": "geraintluff", + "createdAt": "2021-02-18T00:38:53Z", + "editedAt": "2021-02-19T09:08:17Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-780949221", + "summary": "A contributor making a font of their own handwriting asks that whichever font is chosen be easy for forks to swap via a font file and config strings.", + "actorId": 1957191, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:781313871", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-18T12:37:47Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-781313871", + "summary": "A maintainer says the ideal is an open-source font, possibly by persuading a creator to open it, that contributors could extend to more scripts.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:781329735", + "kind": "comment", + "actor": "2WeltenChris", + "createdAt": "2021-02-18T13:05:09Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-781329735", + "summary": "A user who tried the live preview ranks Architects Daughter first, with GelPen and maybe Comic Relief as fallbacks, and lists flaws in the rest.", + "actorId": 48488141, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:781450043", + "kind": "comment", + "actor": "wietsevenema", + "createdAt": "2021-02-18T16:03:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-781450043", + "summary": "A user who tested every candidate on a real diagram gives a critique of each and then asks whether Virgil itself could be improved instead.", + "actorId": 356014, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:782862335", + "kind": "comment", + "actor": "anumithaapollo12", + "createdAt": "2021-02-21T13:57:34Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-782862335", + "summary": "A contributor posts a sample and says the font should be rough and legible, matching wireframes.", + "actorId": 38392250, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:782930751", + "kind": "comment", + "actor": "inwardmovement", + "createdAt": "2021-02-21T21:34:35Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-782930751", + "summary": "A contributor backs working with Virgil's author to improve its readability.", + "actorId": 9438102, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:785668595", + "kind": "comment", + "actor": "claracavalcante", + "createdAt": "2021-02-25T07:06:24Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-785668595", + "summary": "A user prefers Fewriter.", + "actorId": 11697597, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:786534331", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-26T09:46:00Z", + "editedAt": "2021-02-26T09:47:30Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-786534331", + "summary": "A maintainer announces the team will keep and improve Virgil rather than switch, having open-sourced it under OFL in a new repository with its creator's agreement; other fonts remain possible later and related issues move there.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:process:closed:2021-02-26T09:46:00Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2021-02-26T09:46:00Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945", + "summary": "A maintainer closes the issue with that announcement.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:786699535", + "kind": "comment", + "actor": "lipis", + "createdAt": "2021-02-26T15:00:47Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-786699535", + "summary": "A maintainer links a page for the open-sourced Virgil font.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:998976649", + "kind": "comment", + "actor": "zhiqiang-dev", + "createdAt": "2021-12-21T17:48:33Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-998976649", + "summary": "A user later asks when Chinese handwriting fonts will be supported.", + "actorId": 16716138, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + }, + { + "id": "excalidraw-2945:comment:1870145176", + "kind": "comment", + "actor": "niksumeiko", + "createdAt": "2023-12-27T10:03:38Z", + "url": "https://github.com/excalidraw/excalidraw/issues/2945#issuecomment-1870145176", + "summary": "A user shares a browser extension that swaps in a custom font such as BLOKLETTERS.", + "actorId": 175385, + "actorType": "human", + "parentId": "excalidraw-2945:issue:2945" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-new-drawing-button.json b/evals/datasets/decisions-v1/cases/excalidraw-new-drawing-button.json new file mode 100644 index 000000000..736be0717 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-new-drawing-button.json @@ -0,0 +1,488 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-new-drawing-button", + "title": "New drawing button versus clear canvas", + "source": { + "url": "https://github.com/excalidraw/excalidraw/issues/1957", + "retrievedAt": "2026-10-18T07:02:48.939729+00:00", + "repository": "excalidraw/excalidraw", + "number": 1957 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-07-25T00:00:00Z" + }, + { + "id": "c2", + "at": "2020-07-28T00:00:00Z" + }, + { + "id": "c3", + "at": "2020-08-20T23:00:00Z" + }, + { + "id": "c4", + "at": "2020-08-21T00:00:00Z" + } + ], + "events": [ + { + "id": "excalidraw-1957:issue:1957", + "kind": "opening", + "actor": "mwuf15", + "createdAt": "2020-07-24T17:20:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957", + "summary": "The opener reports there is no button to start a new drawing or a way to name one.", + "actorId": 29104567, + "actorType": "human" + }, + { + "id": "excalidraw-1957:comment:663668291", + "kind": "comment", + "actor": "ReneCode", + "createdAt": "2020-07-24T18:14:42Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-663668291", + "summary": "A contributor explains the workaround: the trash-can button clears the canvas for a new drawing, and the save button lets you name the file.", + "actorId": 1595098, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:663732190", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-24T21:00:43Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-663732190", + "summary": "A maintainer acknowledges the pain point and says the scene toolbar needs a redesign because many people are confused by it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:663931992", + "kind": "comment", + "actor": "cor-rine", + "createdAt": "2020-07-26T03:46:38Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-663931992", + "summary": "A user asks for a Ctrl/Cmd+N shortcut for a new drawing, as design tools offer.", + "actorId": 1207134, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:663941228", + "kind": "comment", + "actor": "cor-rine", + "createdAt": "2020-07-26T06:18:37Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-663941228", + "summary": "The same user asks another maintainer for guidance on menu and UX feedback to inform a better design.", + "actorId": 1207134, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:664006166", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-07-26T16:02:06Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-664006166", + "summary": "A maintainer rejects Ctrl/Cmd+N because browsers use it to open a new tab.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:664151821", + "kind": "comment", + "actor": "ReneCode", + "createdAt": "2020-07-27T06:43:40Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-664151821", + "summary": "A contributor asks whether overriding browser shortcuts is acceptable, citing Cmd+D, and proposes swapping the trash icon for a 'new' icon placed on the left, with mockups.", + "actorId": 1595098, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:664253994", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-27T10:01:54Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-664253994", + "summary": "A maintainer says shortcuts are overridden only with precedent and some cannot be, and asks to wait for issue #1543 before changing the icon.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:665543107", + "kind": "comment", + "actor": "faraz16iqbal", + "createdAt": "2020-07-29T09:13:45Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-665543107", + "summary": "A user asks whether the issue is still open.", + "actorId": 53421337, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:665724894", + "kind": "comment", + "actor": "ReneCode", + "createdAt": "2020-07-29T15:13:27Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-665724894", + "summary": "The contributor relays that the maintainer wants to wait on #1543, since it affects whether new means clearing the scene or opening a tab.", + "actorId": 1595098, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:666424624", + "kind": "comment", + "actor": "justshrey", + "createdAt": "2020-07-30T14:54:53Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-666424624", + "summary": "A user asks to remove the trash icon after someone in a live session cleared a shared canvas thinking it deleted one element.", + "actorId": 1253625, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:666426959", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-07-30T14:58:31Z", + "editedAt": "2020-07-30T15:00:10Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-666426959", + "summary": "A maintainer predicts a 'new scene' button would draw the mirror complaint from people who expected a separate scene, and notes undo restores a cleared canvas.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:677949773", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-08-20T23:08:12Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-677949773", + "summary": "A maintainer says a second button that duplicates the existing delete button makes no sense.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:process:closed:2020-08-20T23:08:12Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2020-08-20T23:08:12Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957", + "summary": "The issue is closed.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1440784775", + "kind": "comment", + "actor": "nemith", + "createdAt": "2023-02-22T20:55:43Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1440784775", + "summary": "A user arriving years later from a search says the current model is still unclear.", + "actorId": 349360, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1441242214", + "kind": "comment", + "actor": "alecthomas", + "createdAt": "2023-02-23T05:40:38Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1441242214", + "summary": "Another user agrees.", + "actorId": 41767, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1694212830", + "kind": "comment", + "actor": "gokulk16", + "createdAt": "2023-08-26T07:31:30Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1694212830", + "summary": "A user, who had to search the web to learn how, asks for a simpler route to a blank canvas.", + "actorId": 8376313, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1695117754", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2023-08-28T06:40:31Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1695117754", + "summary": "A maintainer asks whether the user means the same behaviour as the existing reset button.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1695123017", + "kind": "comment", + "actor": "gokulk16", + "createdAt": "2023-08-28T06:45:17Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1695123017", + "summary": "The user confirms and suggests a keyboard shortcut.", + "actorId": 8376313, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1695126693", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2023-08-28T06:48:35Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1695126693", + "summary": "The maintainer says a duplicate button makes no sense and floats renaming the action, perhaps to something like clear and start fresh.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1695282504", + "kind": "comment", + "actor": "gokulk16", + "createdAt": "2023-08-28T08:40:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1695282504", + "summary": "The user says 'reset the canvas' does not map to the idea of a new drawing and asks that the existing shortcut be shown in the menu.", + "actorId": 8376313, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1784568585", + "kind": "comment", + "actor": "bebound", + "createdAt": "2023-10-30T06:39:29Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1784568585", + "summary": "A user says the trash icon and its confirmation prompt make the action more confusing.", + "actorId": 2227874, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1784580203", + "kind": "comment", + "actor": "konashevich", + "createdAt": "2023-10-30T06:51:33Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1784580203", + "summary": "A user insists a dedicated create-new button is the only good UX and says they lost diagrams via clear canvas.", + "actorId": 18244957, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1784597803", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2023-10-30T07:08:32Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1784597803", + "summary": "A maintainer argues a 'start a new drawing' label would wrongly imply the current one is saved, which the open-source editor does not support, and asks whether a label stressing erasure would help.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1784725411", + "kind": "comment", + "actor": "bebound", + "createdAt": "2023-10-30T08:42:14Z", + "editedAt": "2023-10-30T08:47:12Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1784725411", + "summary": "A user asks for a New button with the same behaviour plus a warning that the current canvas will be replaced, noting reset also unlinks the file name.", + "actorId": 2227874, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1790664474", + "kind": "comment", + "actor": "jamfor999", + "createdAt": "2023-11-02T12:48:04Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1790664474", + "summary": "A user suggests simply renaming the reset action to start a new drawing.", + "actorId": 33285502, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:1931689887", + "kind": "comment", + "actor": "joaowatchful", + "createdAt": "2024-02-07T10:02:02Z", + "editedAt": "2024-02-07T10:03:06Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-1931689887", + "summary": "A user supports the New button with a warning and suggests putting it first in the menu.", + "actorId": 99800206, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2077629349", + "kind": "comment", + "actor": "itsobgraph", + "createdAt": "2024-04-25T15:54:45Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2077629349", + "summary": "A user reports still being confused in 2024.", + "actorId": 168109345, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2157304917", + "kind": "comment", + "actor": "almeraikhi", + "createdAt": "2024-06-10T05:34:40Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2157304917", + "summary": "A user proposes a create-new action whose prompt offers save to file, save to Excalidraw+, or discard before enabling it.", + "actorId": 130155541, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2260625051", + "kind": "comment", + "actor": "lordpanduka", + "createdAt": "2024-07-31T14:12:25Z", + "editedAt": "2024-07-31T17:44:12Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2260625051", + "summary": "A comment GitHub marks as hidden (abuse).", + "actorId": 37260467, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2274378376", + "kind": "comment", + "actor": "lappi", + "createdAt": "2024-08-07T21:26:54Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2274378376", + "summary": "A user pleads for the conventional New button with save-or-discard prompt.", + "actorId": 3740390, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2527234343", + "kind": "comment", + "actor": "cjj1120", + "createdAt": "2024-12-09T08:19:22Z", + "editedAt": "2024-12-09T08:30:56Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2527234343", + "summary": "A user questions why the issue is closed when users dislike the current reset behaviour.", + "actorId": 50688209, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2641218714", + "kind": "comment", + "actor": "x029a", + "createdAt": "2025-02-06T22:20:58Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2641218714", + "summary": "A user agrees, describing confusion about whether clearing would affect a shared drawing.", + "actorId": 2062218, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2713237155", + "kind": "comment", + "actor": "Ceaus", + "createdAt": "2025-03-11T09:05:15Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2713237155", + "summary": "A user reports still being confused in 2025.", + "actorId": 13982083, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:2713265966", + "kind": "comment", + "actor": "Ceaus", + "createdAt": "2025-03-11T09:13:49Z", + "editedAt": "2025-03-11T09:42:30Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-2713265966", + "summary": "A user argues the UI should follow the long-standing New/Save/Close idiom and that the trash-icon debate replaces a functional model with a technical one.", + "actorId": 13982083, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:3156786545", + "kind": "comment", + "actor": "iandees", + "createdAt": "2025-08-05T22:07:10Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-3156786545", + "summary": "A user reports the problem persists in August 2025.", + "actorId": 261584, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:3210062233", + "kind": "comment", + "actor": "jezewskiBNetrox", + "createdAt": "2025-08-21T11:03:04Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-3210062233", + "summary": "A new user says the absence of a New option after five years is confusing.", + "actorId": 142919116, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:3441954127", + "kind": "comment", + "actor": "maiku1008", + "createdAt": "2025-10-24T08:59:41Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-3441954127", + "summary": "A user asks why the issue is closed, unsure whether clearing would delete a colleague's shared drawing, and asks to reopen the discussion.", + "actorId": 25299092, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:3549227691", + "kind": "comment", + "actor": "peterfisher", + "createdAt": "2025-11-18T19:23:09Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-3549227691", + "summary": "A user shares the clear-canvas keyboard shortcut as a workaround.", + "actorId": 198814, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:3707184343", + "kind": "comment", + "actor": "Andrewryanhyde", + "createdAt": "2026-01-03T16:41:32Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-3707184343", + "summary": "A user reports still being confused in 2026.", + "actorId": 26203676, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + }, + { + "id": "excalidraw-1957:comment:5481777559", + "kind": "comment", + "actor": "scubbo", + "createdAt": "2026-08-31T17:09:57Z", + "url": "https://github.com/excalidraw/excalidraw/issues/1957#issuecomment-5481777559", + "summary": "A user reports still being confused in August 2026.", + "actorId": 2373726, + "actorType": "human", + "parentId": "excalidraw-1957:issue:1957" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-paste-chart-type-choice.json b/evals/datasets/decisions-v1/cases/excalidraw-paste-chart-type-choice.json new file mode 100644 index 000000000..ad59b9229 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-paste-chart-type-choice.json @@ -0,0 +1,199 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-paste-chart-type-choice", + "title": "How users choose a chart type when pasting data into Excalidraw", + "source": { + "url": "https://github.com/excalidraw/excalidraw/discussions/2533", + "retrievedAt": "2026-10-18T07:20:16.073854+00:00", + "repository": "excalidraw/excalidraw", + "number": 2533, + "nodeId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-12-13T23:00:00Z" + }, + { + "id": "c2", + "at": "2020-12-21T20:00:00Z" + }, + { + "id": "c3", + "at": "2020-12-27T16:00:00Z" + }, + { + "id": "c4", + "at": "2020-12-27T17:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb242NjQxOQ==", + "kind": "opening", + "actor": "mwufi", + "createdAt": "2020-12-13T22:08:22Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533", + "summary": "The opener asks whether supporting line and pie charts alongside the default bar chart justifies the added complexity, and offers two implementations: keep the raw data so the chart type can be switched later, or ask for the chart type before the elements are inserted.", + "actorId": "MDQ6VXNlcjMwMjE5MjUz", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTQx", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-12-14T13:49:28Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-204941", + "summary": "A maintainer finds line charts appealing but warns pie charts need many colours and labels, and argues against both a paste-time prompt and stored chart metadata since nothing supports them yet.", + "actorId": "MDQ6VXNlcjEyNTY3Ng==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTU0", + "kind": "reply", + "actor": "dwelle", + "createdAt": "2020-12-14T13:52:52Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-204954", + "summary": "A second maintainer suggests a 'paste special' context-menu submenu listing chart types, which avoids storing metadata because converting an existing chart would not be supported.", + "actorId": "MDQ6VXNlcjUxNTM4NDY=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTQx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA1MDEy", + "kind": "reply", + "actor": "lipis", + "createdAt": "2020-12-14T14:11:13Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-205012", + "summary": "The first maintainer notes the app cannot tell whether the clipboard holds chart data until the user pastes, so such a menu item cannot be shown selectively.", + "actorId": "MDQ6VXNlcjEyNTY3Ng==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTQx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA1MDIz", + "kind": "reply", + "actor": "dwelle", + "createdAt": "2020-12-14T14:17:17Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-205023", + "summary": "The second maintainer replies that the newer Clipboard API can read on right-click, but new users would then see a permission prompt when opening the menu.", + "actorId": "MDQ6VXNlcjUxNTM4NDY=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTQx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA1MDY2", + "kind": "reply", + "actor": "dwelle", + "createdAt": "2020-12-14T14:24:18Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-205066", + "summary": "The second maintainer adds that the menu could appear only when clipboard permission is already granted, while admitting the UX cost and limited browser support.", + "actorId": "MDQ6VXNlcjUxNTM4NDY=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjA0OTQx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjE3NzY5", + "kind": "comment", + "actor": "andyczerwonka", + "createdAt": "2020-12-17T00:54:14Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-217769", + "summary": "A user says charts without at least simple grouping will stay a novelty and backs storing the raw data so types can be switched.", + "actorId": "MDQ6VXNlcjEzODg5OA==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjI3MDg3", + "kind": "reply", + "actor": "dwelle", + "createdAt": "2020-12-20T11:51:54Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-227087", + "summary": "A maintainer rejects stored metadata because it would go stale once the chart is edited by hand; users wanting another type can paste again.", + "actorId": "MDQ6VXNlcjUxNTM4NDY=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjE3NzY5" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjMwNjE4", + "kind": "comment", + "actor": "petehunt", + "createdAt": "2020-12-21T19:03:01Z", + "editedAt": "2020-12-21T19:03:15Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-230618", + "summary": "The contributor who built the original chart feature favours letting users pick bar, single-line or donut at paste time, wants complexity kept low, and agrees no metadata should be stored so the elements stay freely editable.", + "actorId": "MDQ6VXNlcjIzOTc0Mg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjMyNDQ3", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-12-21T22:59:28Z", + "editedAt": "2020-12-21T23:05:12Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-232447", + "summary": "A maintainer proposes a fading notice shown right after a paste that lets the user swap the just-inserted chart for another type, remembering the last choice in app state, with no permanent UI change.", + "actorId": "MDQ6VXNlcjEyNTY3Ng==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjM0NTQy", + "kind": "reply", + "actor": "lipis", + "createdAt": "2020-12-22T14:10:37Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-234542", + "summary": "The same maintainer links PR #2658 as an experiment with the idea.", + "actorId": "MDQ6VXNlcjEyNTY3Ng==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjMyNDQ3" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjQ1MDk1", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-12-27T16:30:55Z", + "editedAt": "2020-12-27T16:31:16Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-245095", + "summary": "A maintainer announces that line charts have shipped and says the groundwork for more types is in place; this is marked as the answer.", + "actorId": "MDQ6VXNlcjEyNTY3Ng==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDEwOkRpc2N1c3Npb242NjQxOQ==:process:answered:2020-12-27T16:31:17Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2020-12-27T16:31:17Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533", + "summary": "A maintainer marks the release announcement as the discussion's answer.", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MjQ1MTQw", + "kind": "reply", + "actor": "OrenMe", + "createdAt": "2020-12-27T17:12:48Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-245140", + "summary": "A contributor praises the chart preview selection in the release.", + "actorId": "MDQ6VXNlcjU0NjE4NjI=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MjQ1MDk1" + }, + { + "id": "DC_kwDODcka_M4A_5Zf", + "kind": "comment", + "actor": "kinthaiofficial", + "createdAt": "2026-04-29T01:34:07Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/2533#discussioncomment-16750175", + "summary": "Years later, a user lists ideas such as data-bound charts, data export and AI-generated layouts, while cautioning that heavy chart editing would undercut the sketch-first simplicity.", + "actorId": "U_kgDOEBiFPw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb242NjQxOQ==" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-web-embeds-design.json b/evals/datasets/decisions-v1/cases/excalidraw-web-embeds-design.json new file mode 100644 index 000000000..b3bdbc6fc --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-web-embeds-design.json @@ -0,0 +1,1000 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-web-embeds-design", + "title": "Web embed element design in Excalidraw", + "source": { + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "retrievedAt": "2026-10-18T07:21:16.768228+00:00", + "repository": "excalidraw/excalidraw", + "number": 6691 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-06-20T00:00:00Z" + }, + { + "id": "c2", + "at": "2023-07-05T12:00:00Z" + }, + { + "id": "c3", + "at": "2023-07-14T15:00:00Z" + }, + { + "id": "c4", + "at": "2023-07-24T15:00:00Z" + } + ], + "events": [ + { + "id": "excalidraw-6691:pr:6691", + "kind": "opening", + "actor": "zsviczian", + "createdAt": "2023-06-18T05:17:09Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "A collaborator reopens an earlier PR as a new one that adds an iframe element drawn as DOM over the canvas, with a site whitelist prop, a custom render prop, paste-to-embed, placeholder exports and a toggle in the link editor, noting that embeds always sit above other layers.", + "actorId": 14358394, + "actorType": "human" + }, + { + "id": "excalidraw-6691:comment:1595959735", + "kind": "comment", + "actor": "vercel[bot]", + "createdAt": "2023-06-18T05:17:15Z", + "editedAt": "2023-07-24T14:30:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1595959735", + "summary": "A bot posts preview deployment links.", + "actorId": 35613825, + "actorType": "bot", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1595960826", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-18T05:24:21Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1595960826", + "summary": "The opener explains the move from the earlier cluttered PR and asks a maintainer to review.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:process:cross-referenced:2023-06-18T05:24:48Z", + "kind": "process", + "actor": "zsviczian", + "createdAt": "2023-06-18T05:24:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "The opener links the superseded earlier PR #6601.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1597846561", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-06-19T22:44:52Z", + "editedAt": "2023-06-21T22:01:47Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1597846561", + "summary": "A maintainer lists UX notes: the center area should not capture scroll or drag, the custom DOM stroke should go, the embed toggle and delete action in the link editor should be removed, and the tool belongs in the more-tools menu.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1598387566", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-20T08:59:24Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1598387566", + "summary": "The opener agrees to rework center-click handling but defends the DOM stroke for overlapping embeds, the link-editor toggle as part of treating embeds as rectangles with links, and bound text as export alt text.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1599500785", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-20T21:04:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1599500785", + "summary": "The opener reports reworked center-click detection and fewer DOM updates, and asks to discuss the stroke and toolbar placement further, preferring to keep border and background colours.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1600239776", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-21T06:08:26Z", + "editedAt": "2023-06-21T17:18:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1600239776", + "summary": "The opener notes mobile issues to fix after the click change.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1601756538", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-21T22:23:53Z", + "editedAt": "2023-06-22T11:28:58Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1601756538", + "summary": "The opener reports addressing the review: the link-editor embed action is removed, a whitelisted element property is added, the tool moves to more tools, and the feature is renamed web embed to use the w shortcut.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1602150261", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-22T07:30:31Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1602150261", + "summary": "The opener notes moving the center-click handler to the pointer-up path.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:process:renamed:2023-06-22T10:44:10Z", + "kind": "process", + "actor": "zsviczian", + "createdAt": "2023-06-22T10:44:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "The opener renames the PR to introduce an iframe element.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:process:renamed:2023-06-22T11:27:30Z", + "kind": "process", + "actor": "zsviczian", + "createdAt": "2023-06-22T11:27:30Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "The opener renames the PR to introduce Web-Embeds.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1603393316", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-06-22T22:31:38Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1603393316", + "summary": "A maintainer praises the UX and reports a bug where dragging an active embed can trap the pointer.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1603702172", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-23T05:32:22Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1603702172", + "summary": "The opener reports fixing the double-click issue.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1606228188", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-25T19:25:04Z", + "editedAt": "2023-06-25T19:59:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1606228188", + "summary": "The opener notes a missing link icon on embeds.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1607383938", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-06-26T12:38:02Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1607383938", + "summary": "A maintainer reports a layout offset bug that appears only when embedding Excalidraw itself.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1607484906", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-26T13:32:24Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1607484906", + "summary": "The opener suspects the container div affects layout and suggests firing a resize.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1607537192", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-06-26T13:56:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1607537192", + "summary": "A maintainer asks why only Excalidraw embeds trigger it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1607966806", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-26T18:02:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1607966806", + "summary": "The opener confirms only excalidraw.com reproduces the bug.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1608042103", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-06-26T18:44:56Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1608042103", + "summary": "The opener pushes a workaround he expects the maintainer to dislike.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1617437870", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-03T06:25:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1617437870", + "summary": "The opener asks for a plan to land the PR, says the allowlist is now limited to a few video and design sites, and reports positive feedback after shipping it in his Obsidian plugin.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1620794019", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-04T22:20:33Z", + "editedAt": "2023-07-04T22:22:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1620794019", + "summary": "A maintainer returns from vacation, replaces the hover vignette with an interaction button, and suggests later play or stop controls for video embeds.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1252388766", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-04T22:26:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1252388766", + "summary": "A maintainer notes a custom validator cannot disable the built-in sites and proposes either replacing the default list entirely or letting the validator return undefined to defer to defaults.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1620798077", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-04T22:31:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1620798077", + "summary": "A maintainer warns that the singleton validator breaks with multiple instances, restoring before init, or server-side use.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1621078783", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T06:04:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1621078783", + "summary": "The opener says the singleton avoided threading props through restore, would defer the multi-instance case, and asks how the other cases arise.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1252596351", + "kind": "review-comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T06:22:02Z", + "editedAt": "2023-07-05T06:22:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1252596351", + "summary": "The opener proposes a validator array mixing regexes and booleans, where a trailing false stops before the built-in list and true allows everything.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1252388766" + }, + { + "id": "excalidraw-6691:comment:1621260664", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-05T08:14:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1621260664", + "summary": "A maintainer says multiple instances are already supported, and that restore can run before or without an instance, so the API must be pure.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1252866107", + "kind": "review-comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T10:00:15Z", + "editedAt": "2023-07-05T13:29:09Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1252866107", + "summary": "The opener reports pushing the mixed-array validator.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1252388766" + }, + { + "id": "excalidraw-6691:comment:1621582600", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T11:38:01Z", + "editedAt": "2023-07-05T13:28:49Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1621582600", + "summary": "The opener proposes restoring embeds with an undefined whitelisted flag and validating on first render, which removes the singleton.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1621761115", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T13:28:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1621761115", + "summary": "The opener agrees the interaction button looks better.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1622036925", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-05T15:49:45Z", + "editedAt": "2023-07-05T15:50:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1622036925", + "summary": "A maintainer explains a commit that fixes deleting a selected embed by keyboard.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1622156381", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-05T17:03:45Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1622156381", + "summary": "A maintainer likes the deferred validation idea but finds the mixed array unintuitive, preferring an undefined return for defaults, and suggests renaming whitelisted to validated.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1622192868", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-05T17:32:08Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1622192868", + "summary": "The opener accepts either design and concedes the mixed array could confuse.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1622649617", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-05T23:03:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1622649617", + "summary": "A maintainer pushes the validation API changes and asks that validation leave the pure render path and docs move out of the changelog.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1623308463", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-06T09:22:05Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1623308463", + "summary": "The opener moves the mutation into componentDidUpdate.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1625071841", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-07T08:47:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1625071841", + "summary": "A maintainer moves validation and cleanup fully out of rendering.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1627773502", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-09T17:02:05Z", + "editedAt": "2023-07-09T17:02:38Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1627773502", + "summary": "The opener finds an undocumented Twitter embed endpoint and asks whether to add Twitter back.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1627853396", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-09T22:58:46Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1627853396", + "summary": "A maintainer notes Twitter discourages direct iframes and asks whether the endpoint is stable.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1628445303", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-10T08:06:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1628445303", + "summary": "The opener says he found it by inspecting a third-party embed service and it lacks official docs.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1629034505", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-10T14:03:11Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1629034505", + "summary": "A maintainer doubts its safety but tentatively agrees.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1629398829", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-10T17:24:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1629398829", + "summary": "A maintainer worries about a rate limit blocking the domain.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1629434904", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-10T17:49:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1629434904", + "summary": "The opener suggests leaving Twitter out and waiting for user requests, and asks for a merge check.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1633249506", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-12T21:42:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1633249506", + "summary": "A maintainer confirms the merge looks fine.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634583325", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T16:54:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634583325", + "summary": "A maintainer asks a teammate whether renderCustomIFrame should become renderIFrame.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634594875", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-13T17:01:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634594875", + "summary": "The opener agrees to drop the custom prefix.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634636495", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T17:32:19Z", + "editedAt": "2023-07-13T17:32:38Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634636495", + "summary": "A maintainer proposes naming everything embeddable rather than iframe, since iframes are a host detail and the name clashes with frames.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634644297", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T17:38:42Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634644297", + "summary": "A maintainer renames the render prop and removes radius from its signature, citing a private message.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634735044", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-13T18:52:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634735044", + "summary": "The opener asks whether the element type would become embeddable.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634765409", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T19:16:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634765409", + "summary": "A maintainer confirms it would.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634807125", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-13T19:40:13Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634807125", + "summary": "The opener has no objection and asks for the new name to be applied consistently.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634876635", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T20:36:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634876635", + "summary": "A maintainer agrees to do so.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1634960152", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-13T21:44:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1634960152", + "summary": "A maintainer reports the iframe to embeddable rename across code, files and snapshots.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1263082316", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-13T21:48:35Z", + "editedAt": "2023-07-13T21:48:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1263082316", + "summary": "A maintainer questions whether embeds should support bound text.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1263331137", + "kind": "review-comment", + "actor": "zsviczian", + "createdAt": "2023-07-14T06:05:07Z", + "editedAt": "2023-07-14T06:05:08Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1263331137", + "summary": "The opener says bound text serves as export alt text and describes the two awkward ways to edit it.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1263082316" + }, + { + "id": "excalidraw-6691:review-comment:1263818680", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-14T14:42:25Z", + "editedAt": "2023-07-14T14:43:19Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1263818680", + "summary": "A maintainer finds alt text niche, says reusing bound text is undiscoverable and costly to maintain, and offers a link-editor field or a CommonMark title syntax if it must stay.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1263082316" + }, + { + "id": "excalidraw-6691:review-comment:1263865813", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-14T15:29:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1263865813", + "summary": "A maintainer adds that his first preference is dropping it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1263082316" + }, + { + "id": "excalidraw-6691:review-comment:1263886874", + "kind": "review-comment", + "actor": "zsviczian", + "createdAt": "2023-07-14T15:51:47Z", + "editedAt": "2023-07-14T15:51:48Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1263886874", + "summary": "The opener agrees to drop alt text.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1263082316" + }, + { + "id": "excalidraw-6691:review-comment:1264405146", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-15T12:53:51Z", + "editedAt": "2023-07-15T12:56:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1264405146", + "summary": "A maintainer says the embeddable should not be a generic element because it has custom logic.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1264406548", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-15T13:07:02Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1264406548", + "summary": "A maintainer reports removing bound text support for embeds.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:review-comment:1263082316" + }, + { + "id": "excalidraw-6691:comment:1636887621", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-15T21:14:14Z", + "editedAt": "2023-07-16T05:07:44Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1636887621", + "summary": "The opener tests the changes in Obsidian and lists two export issues he considers non-blocking.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1636983660", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-16T05:14:05Z", + "editedAt": "2023-07-16T10:38:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1636983660", + "summary": "The opener fixes the placeholder aura via roughness and removes the validation check from SVG export, arguing SVGs can be edited anyway.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1638172654", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-17T13:42:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1638172654", + "summary": "A maintainer wants to keep w free for binding actions and leaves the embed tool without a shortcut.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1638227502", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-17T14:09:04Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1638227502", + "summary": "The opener agrees embeds are rarely created by hand.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1638376066", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-17T15:26:57Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1638376066", + "summary": "A maintainer removes hints listing default allowed sites since host apps differ and the list grows.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1638439286", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-17T16:04:11Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1638439286", + "summary": "The opener worries about curating an allowlist and floats an external reputation service later.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1641475823", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-19T06:11:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1641475823", + "summary": "The opener proposes extracting the src when users paste iframe embed code.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1641632321", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-19T08:13:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1641632321", + "summary": "A maintainer wants the same for Twitter blockquotes and says the URL must be extracted before validation.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1641851393", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-19T10:42:59Z", + "editedAt": "2023-07-19T10:44:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1641851393", + "summary": "The opener shares a commit and test cases for parsing pasted embed code.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1641855592", + "kind": "comment", + "actor": "github-actions[bot]", + "createdAt": "2023-07-19T10:46:25Z", + "editedAt": "2023-07-24T14:35:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1641855592", + "summary": "A bot posts a bundle size report.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1641860669", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-19T10:50:26Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1641860669", + "summary": "The opener asks what to do about the size check.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1642182337", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-19T14:21:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1642182337", + "summary": "A maintainer says the size check is experimental and asks for Twitter and gist embed code support.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review-comment:1268181335", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2023-07-19T14:42:11Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#discussion_r1268181335", + "summary": "A maintainer asks that the link parser return an error rather than set toast state.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1642415213", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-19T16:40:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1642415213", + "summary": "The opener adds Twitter and gist parsing and moves toasts to call sites.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1643826239", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2023-07-20T12:21:00Z", + "editedAt": "2023-07-20T12:27:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1643826239", + "summary": "A maintainer reports that panning over non-scrollable embeds fails in Safari.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1644057233", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-20T14:44:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1644057233", + "summary": "The opener cannot reproduce it on his laptop.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1644062815", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-20T14:47:46Z", + "editedAt": "2023-07-20T14:48:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1644062815", + "summary": "A maintainer clarifies it is Safari only and can be fixed later.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1644066814", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-20T14:50:08Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1644066814", + "summary": "The opener reproduces it in Safari.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1644302020", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-20T17:18:55Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1644302020", + "summary": "A maintainer disables adding embeds to the library for now.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1644521569", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-20T19:59:49Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1644521569", + "summary": "The opener asks whether the new option to skip embeds in SVG export will reach the export dialog.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1645180749", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-21T08:05:55Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1645180749", + "summary": "A maintainer says not yet, as the dialog is getting crowded.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1645464948", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-21T11:55:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1645464948", + "summary": "A maintainer asks about YouTube autoplay for a future PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1645473772", + "kind": "comment", + "actor": "zsviczian", + "createdAt": "2023-07-21T12:03:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1645473772", + "summary": "The opener says a URL parameter enables it.", + "actorId": 14358394, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:review:1543662380", + "kind": "review", + "actor": "dwelle", + "createdAt": "2023-07-24T14:48:51Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#pullrequestreview-1543662380", + "summary": "A maintainer approves the PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:comment:1648062253", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2023-07-24T14:49:26Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691#issuecomment-1648062253", + "summary": "A maintainer thanks the opener and plans a production deploy.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:process:merged:2023-07-24T14:51:54Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2023-07-24T14:51:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "A maintainer merges the PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + }, + { + "id": "excalidraw-6691:process:closed:2023-07-24T14:51:54Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2023-07-24T14:51:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/6691", + "summary": "The PR closes on merge.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-6691:pr:6691" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-wheel-zoom-mode.json b/evals/datasets/decisions-v1/cases/excalidraw-wheel-zoom-mode.json new file mode 100644 index 000000000..cfb133e0f --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-wheel-zoom-mode.json @@ -0,0 +1,159 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-wheel-zoom-mode", + "title": "Scroll-wheel zoom mode for mouse users", + "source": { + "url": "https://github.com/excalidraw/excalidraw/discussions/5515", + "retrievedAt": "2026-10-18T07:20:15.285799+00:00", + "repository": "excalidraw/excalidraw", + "number": 5515, + "nodeId": "D_kwDODcka_M4AQRaD" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-07-31T00:00:00Z" + }, + { + "id": "c2", + "at": "2024-11-05T12:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDODcka_M4AQRaD", + "kind": "opening", + "actor": "melyaaka", + "createdAt": "2022-07-30T22:12:27Z", + "editedAt": "2022-07-30T22:14:03Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515", + "summary": "The opener asks for plain scroll-wheel zoom and right-drag panning, citing Google Maps, Miro and Obsidian, and suggests at least a separate mouse mode alongside the current trackpad behaviour.", + "actorId": "MDQ6VXNlcjI0NjU5MTA0", + "actorType": "human" + }, + { + "id": "DC_kwDODcka_M4AMjby", + "kind": "comment", + "actor": "sojusnik", + "createdAt": "2022-07-31T11:15:43Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-3290866", + "summary": "A user notes middle-button drag already pans, but on Linux it also pastes the clipboard, and asks that middle-click paste be blocked.", + "actorId": "MDQ6VXNlcjEyNDU3MTg=", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4ARyn2", + "kind": "comment", + "actor": "sean1832", + "createdAt": "2023-01-12T05:24:52Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-4663798", + "summary": "A user supports adding a zoom mode users can switch to.", + "actorId": "MDQ6VXNlcjg0OTQ4MDM4", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4ASBEE", + "kind": "reply", + "actor": "Alchete", + "createdAt": "2023-01-19T00:35:12Z", + "editedAt": "2023-01-19T00:35:33Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-4722948", + "summary": "A user praises the current controls, argues right-click must stay a context menu and middle-drag or space-drag already pan, but agrees plain-wheel zoom has a case.", + "actorId": "MDQ6VXNlcjQ3MDUxODk=", + "actorType": "human", + "parentId": "DC_kwDODcka_M4ARyn2" + }, + { + "id": "DC_kwDODcka_M4AqVqx", + "kind": "comment", + "actor": "papucho", + "createdAt": "2024-10-30T10:43:26Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-11098801", + "summary": "A user asks for the option to be added.", + "actorId": "MDQ6VXNlcjIxMzAw", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4AqjFh", + "kind": "reply", + "actor": "juhasuni", + "createdAt": "2024-11-05T11:34:56Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-11153761", + "summary": "A user disputes the opener's claim, noting Figma and tldraw also use modifier plus scroll to zoom.", + "actorId": "MDQ6VXNlcjIwODI4Nzg=", + "actorType": "human", + "parentId": "DC_kwDODcka_M4AqVqx" + }, + { + "id": "DC_kwDODcka_M4AqjH4", + "kind": "reply", + "actor": "papucho", + "createdAt": "2024-11-05T11:51:21Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-11153912", + "summary": "The requester replies that Miro and Figma support scroll zoom and right-drag panning, with a plain right-click still opening the menu.", + "actorId": "MDQ6VXNlcjIxMzAw", + "actorType": "human", + "parentId": "DC_kwDODcka_M4AqVqx" + }, + { + "id": "DC_kwDODcka_M4A9mbl", + "kind": "comment", + "actor": "alastair-games", + "createdAt": "2026-03-16T00:02:21Z", + "editedAt": "2026-03-16T00:08:16Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-16148197", + "summary": "A user asks for wheel zoom, perhaps as a setting removing the need to hold Control, for one-handed navigation.", + "actorId": "MDQ6VXNlcjU3NDQ5MDg=", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4A_J5B", + "kind": "comment", + "actor": "arch1en", + "createdAt": "2026-04-14T10:42:32Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-16555585", + "summary": "A user bumps the request and suggests a toggle between the two behaviours.", + "actorId": "MDQ6VXNlcjYwMTczNzE=", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4BBb1A", + "kind": "comment", + "actor": "Frzjck", + "createdAt": "2026-06-02T14:55:56Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-17153344", + "summary": "A user wishes it were the default but says a browser extension would do.", + "actorId": "MDQ6VXNlcjcxNjExMTI1", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4BC46D", + "kind": "comment", + "actor": "sricks", + "createdAt": "2026-07-04T21:22:04Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-17534595", + "summary": "A user shares an AI-written userscript that turns the wheel into zoom and right-drag into panning.", + "actorId": "MDQ6VXNlcjYyMzg1MjQ=", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + }, + { + "id": "DC_kwDODcka_M4BHhGy", + "kind": "comment", + "actor": "StianOvrevage", + "createdAt": "2026-10-04T19:03:38Z", + "url": "https://github.com/excalidraw/excalidraw/discussions/5515#discussioncomment-18747826", + "summary": "A user notes the Excalidraw plugin for Obsidian already has a setting to invert wheel zoom.", + "actorId": "MDQ6VXNlcjY2MzAwMDU=", + "actorType": "human", + "parentId": "D_kwDODcka_M4AQRaD" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/excalidraw-zen-mode-exit.json b/evals/datasets/decisions-v1/cases/excalidraw-zen-mode-exit.json new file mode 100644 index 000000000..b7b39f3a0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/excalidraw-zen-mode-exit.json @@ -0,0 +1,789 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "excalidraw-zen-mode-exit", + "title": "How users enter and exit Excalidraw's Zen mode", + "source": { + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "retrievedAt": "2026-10-18T07:21:25.214665+00:00", + "repository": "excalidraw/excalidraw", + "number": 1450 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-04-18T09:00:00Z" + }, + { + "id": "c2", + "at": "2020-04-19T00:00:00Z" + }, + { + "id": "c3", + "at": "2020-04-24T08:00:00Z" + }, + { + "id": "c4", + "at": "2020-04-24T09:00:00Z" + } + ], + "events": [ + { + "id": "excalidraw-1450:pr:1450", + "kind": "opening", + "actor": "ad1992", + "createdAt": "2020-04-18T08:39:52Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "summary": "The author opens a PR adding a desktop Zen mode that hides UI, toggled by a temporary `K` shortcut, with icon placement still to be decided.", + "actorId": 11256141, + "actorType": "human" + }, + { + "id": "excalidraw-1450:comment:615769999", + "kind": "comment", + "actor": "vercel[bot]", + "createdAt": "2020-04-18T08:39:57Z", + "editedAt": "2020-04-24T22:12:43Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615769999", + "summary": "A bot posts the preview deployment link.", + "actorId": 35613825, + "actorType": "bot", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615772479", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T08:41:47Z", + "editedAt": "2020-04-18T16:12:01Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615772479", + "summary": "The author asks whether keyboard shortcuts should still work in Zen mode.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615792973", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T08:56:56Z", + "editedAt": "2020-04-18T09:03:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615792973", + "summary": "A maintainer asks to drop menu shadows, questions hiding the shape lock, suggests `Z` or `Alt+Z` for the shortcut, and asks how users who enter via a button would know how to exit, warning against `Esc`.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615861542", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T12:39:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615861542", + "summary": "The author doubts a toggle icon makes sense since it would vanish in Zen mode, prefers a shortcut, and asks about onboarding.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615870668", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T13:23:27Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615870668", + "summary": "The author suggests a shortcut for shape lock too and proposes `Z` since zoom usually uses Cmd plus/minus.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615876911", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T14:02:44Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615876911", + "summary": "The maintainer agrees to start shortcut-only, says the lock may be removed project-wide so it can be left out, and notes design tools use `Z` for a zoom tool.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615881848", + "kind": "comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T14:37:35Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615881848", + "summary": "A contributor praises the work.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615895720", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T16:06:51Z", + "editedAt": "2020-04-18T16:10:10Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615895720", + "summary": "The author asks for clarity on whether to show or hide the lock in Zen mode.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615896114", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T16:09:24Z", + "editedAt": "2020-04-18T16:10:17Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615896114", + "summary": "The author asks whether the help icon kept at bottom right should stay.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:process:ready_for_review:2020-04-18T16:13:36Z", + "kind": "process", + "actor": "ad1992", + "createdAt": "2020-04-18T16:13:36Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "summary": "The author marks the PR ready for review.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615897157", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T16:15:59Z", + "editedAt": "2020-04-18T16:16:25Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615897157", + "summary": "The maintainer asks to compare `event.key` instead of key codes and notes Cmd+Z is undo.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615897771", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T16:19:46Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615897771", + "summary": "The maintainer agrees to hide the lock for now, and worries that since Zen mode persists in local storage, users who forget the shortcut could be stuck in it.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615898264", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T16:22:53Z", + "editedAt": "2020-04-18T16:23:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615898264", + "summary": "The author explains key codes were used because Alt+Z yields a different character on macOS.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615899876", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T16:33:55Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615899876", + "summary": "The maintainer wonders why it works for some Mac users and not others, and suggests a modifier combo if needed.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615900443", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T16:37:53Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615900443", + "summary": "The author confirms hiding the lock icon and responds about the help icon.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615900723", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T16:39:36Z", + "editedAt": "2020-04-18T16:40:32Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615900723", + "summary": "The author suspects the tester used a different modifier combination and offers to restrict modifiers by platform.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615901097", + "kind": "comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T16:42:04Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615901097", + "summary": "A contributor confirms Option+Z works and suggests a visual indicator or close button for exiting.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410720757", + "kind": "review-comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T16:43:28Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410720757", + "summary": "A contributor asks why the island shadow CSS changed.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410720893", + "kind": "review-comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T16:44:24Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410720893", + "summary": "A contributor questions hiding the lock, since users may still want it in Zen mode.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410720986", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2020-04-18T16:45:13Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410720986", + "summary": "The maintainer says removing the shadow was requested in the original issue and suits minimalism.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410720757" + }, + { + "id": "excalidraw-1450:review-comment:410723123", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-18T17:02:30Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410723123", + "summary": "The author explains anything beyond shapes is distracting and the lock may be removed anyway.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410720893" + }, + { + "id": "excalidraw-1450:comment:615905445", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T17:10:16Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615905445", + "summary": "The author proposes a dialog on page reload asking whether to stay in Zen mode.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615909681", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-18T17:38:12Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615909681", + "summary": "The maintainer tentatively agrees a reload prompt may be best.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615948694", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T21:00:37Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615948694", + "summary": "The author agrees to build it.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:615961524", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-18T22:15:26Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-615961524", + "summary": "The author reports adding the reload dialog.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410763661", + "kind": "review-comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T22:44:39Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410763661", + "summary": "A contributor notes the dialog check only runs in single-user mode and should also cover collaboration.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410763914", + "kind": "review-comment", + "actor": "kbariotis", + "createdAt": "2020-04-18T22:46:16Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410763914", + "summary": "A contributor wonders whether dialog buttons are too much and a short text hint would do.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review:395957621", + "kind": "review", + "actor": "kbariotis", + "createdAt": "2020-04-18T22:47:46Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#pullrequestreview-395957621", + "summary": "The contributor leaves review comments, mostly positive.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410773431", + "kind": "review-comment", + "actor": "vjeux", + "createdAt": "2020-04-18T23:46:45Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410773431", + "summary": "The project's creator asks to slide hidden elements off-screen with CSS transitions rather than removing them from the DOM, to avoid a jarring change.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410774062", + "kind": "review-comment", + "actor": "vjeux", + "createdAt": "2020-04-18T23:51:05Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410774062", + "summary": "The creator objects that a big dialog contradicts the calm of Zen mode and suggests a small exit control in the UI instead.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410774147", + "kind": "review-comment", + "actor": "vjeux", + "createdAt": "2020-04-18T23:51:44Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410774147", + "summary": "The creator asks to animate the shadow change too.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410774295", + "kind": "review-comment", + "actor": "vjeux", + "createdAt": "2020-04-18T23:52:45Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410774295", + "summary": "The creator suggests naming the state `zenModeEnabled`.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410774392", + "kind": "review-comment", + "actor": "vjeux", + "createdAt": "2020-04-18T23:53:11Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410774392", + "summary": "The creator suggests renaming the shortcuts dialog state in a later PR.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:review-comment:410811608", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T04:25:21Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410811608", + "summary": "The author defends buttons in the dialog as friendlier than recalling a shortcut.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410763914" + }, + { + "id": "excalidraw-1450:review-comment:410812151", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T04:29:53Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410812151", + "summary": "The author explains the dialog appears only after a reload in Zen mode and that a UI icon was avoided to keep the mode distraction-free.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774062" + }, + { + "id": "excalidraw-1450:review-comment:410817323", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T05:06:53Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410817323", + "summary": "The author argues for a show-prefixed state name over the suggested one.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774392" + }, + { + "id": "excalidraw-1450:review-comment:410878406", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2020-04-19T11:02:55Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410878406", + "summary": "The maintainer clarifies they meant a brief fading hint like the existing scroll-back notice, not a blocking dialog, and endorses a small exit button as suggested by the creator.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774062" + }, + { + "id": "excalidraw-1450:review-comment:410878897", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2020-04-19T11:05:56Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410878897", + "summary": "The maintainer prefers a state name describing the dialog as open, deferred to another PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774392" + }, + { + "id": "excalidraw-1450:review-comment:410903160", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T13:17:50Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410903160", + "summary": "The author proposes replacing the shortcuts icon with an explicit 'exit zen mode' button, removing the reload check and fading.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774062" + }, + { + "id": "excalidraw-1450:review-comment:410932493", + "kind": "review-comment", + "actor": "dwelle", + "createdAt": "2020-04-19T15:44:39Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410932493", + "summary": "The maintainer confirms the exit button makes the reload logic unnecessary.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410774062" + }, + { + "id": "excalidraw-1450:review-comment:410942417", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T16:36:37Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410942417", + "summary": "The author explains the jank came from toolbar shifting and asks reviewers to compare removal versus CSS hiding.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410773431" + }, + { + "id": "excalidraw-1450:review-comment:410947834", + "kind": "review-comment", + "actor": "ad1992", + "createdAt": "2020-04-19T17:07:43Z", + "editedAt": "2020-04-24T22:11:40Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#discussion_r410947834", + "summary": "The author adds a third variant that slides the zoom menu away and finds it a bit distracting.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:review-comment:410773431" + }, + { + "id": "excalidraw-1450:comment:616811965", + "kind": "comment", + "actor": "kbariotis", + "createdAt": "2020-04-20T21:12:35Z", + "editedAt": "2020-04-20T21:13:28Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-616811965", + "summary": "A contributor offers a PR to the author's branch simplifying class handling.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:616990059", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-21T06:53:31Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-616990059", + "summary": "The author merges it but switches lock hiding from opacity to visibility, since an invisible lock stayed clickable.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:616990626", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-04-21T06:54:59Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-616990626", + "summary": "The creator suggests keeping the lock visible if hiding is a burden, seeing it as an editing aid.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:616996156", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-21T07:08:25Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-616996156", + "summary": "The author asks the creator to check the current version, reasoning the lock may be removed anyway.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617137191", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-21T12:02:43Z", + "editedAt": "2020-04-21T12:02:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617137191", + "summary": "The maintainer corrects that the lock's removal is only possible, and is fine either way.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617281338", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-21T16:51:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617281338", + "summary": "The author acknowledges the correction.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617310066", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-04-21T17:39:19Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617310066", + "summary": "The creator lists elements animating inconsistently and asks for synchronised transitions.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617369309", + "kind": "comment", + "actor": "vjeux", + "createdAt": "2020-04-21T19:33:11Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617369309", + "summary": "The creator approves the look and asks only for a visible way to exit Zen mode.", + "actorId": 197597, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617433547", + "kind": "comment", + "actor": "j-f1", + "createdAt": "2020-04-21T21:53:02Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617433547", + "summary": "A maintainer proposes sliding the lock under the shape switcher, compares rotating and fading, and asks why not simply fade.", + "actorId": 25517624, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:617845640", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-22T15:21:24Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-617845640", + "summary": "The author worries that is too much animation and prefers fading or keeping the lock.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618369463", + "kind": "comment", + "actor": "lipis", + "createdAt": "2020-04-23T12:19:15Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618369463", + "summary": "A maintainer questions needing an exit button, since the small shortcuts icon could stay.", + "actorId": 125676, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618432366", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-23T14:37:41Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618432366", + "summary": "The author explains the exit button prevents users getting stuck after forgetting the shortcut.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618601235", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-23T19:09:54Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618601235", + "summary": "The first maintainer reframes the question as whether an enter button is needed, and asks to move the exit button to the right edge after other buttons hide.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618650235", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-23T20:29:47Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618650235", + "summary": "The author sees no harm in an enter button for discoverability but is not attached to it.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618662949", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-23T20:51:53Z", + "editedAt": "2020-04-23T20:53:20Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618662949", + "summary": "The maintainer argues new buttons must be added sparingly to keep Excalidraw lean, so the first iteration should ship without an enter button.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618738086", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-24T00:30:34Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618738086", + "summary": "The author asks whether only the exit button should remain.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618876960", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-24T08:25:01Z", + "editedAt": "2020-04-24T08:25:31Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618876960", + "summary": "The maintainer confirms: drop the enter button, keep the exit button at bottom right, shown after the shortcuts button hides.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:618956763", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-24T11:29:45Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-618956763", + "summary": "The author agrees to make the change.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:619377850", + "kind": "comment", + "actor": "dwelle", + "createdAt": "2020-04-25T13:12:58Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-619377850", + "summary": "The maintainer approves and thanks the author.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:process:merged:2020-04-25T13:13:02Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2020-04-25T13:13:02Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "summary": "The maintainer merges the PR.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:process:closed:2020-04-25T13:13:03Z", + "kind": "process", + "actor": "dwelle", + "createdAt": "2020-04-25T13:13:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450", + "summary": "The PR closes on merge.", + "actorId": 5153846, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:619393779", + "kind": "comment", + "actor": "ad1992", + "createdAt": "2020-04-25T15:11:03Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-619393779", + "summary": "The author thanks everyone.", + "actorId": 11256141, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + }, + { + "id": "excalidraw-1450:comment:619402142", + "kind": "comment", + "actor": "kbariotis", + "createdAt": "2020-04-25T16:08:50Z", + "url": "https://github.com/excalidraw/excalidraw/pull/1450#issuecomment-619402142", + "summary": "A contributor congratulates the author.", + "actorId": 605742, + "actorType": "human", + "parentId": "excalidraw-1450:pr:1450" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/frontend-section-border-background.json b/evals/datasets/decisions-v1/cases/frontend-section-border-background.json new file mode 100644 index 000000000..dc1016f5a --- /dev/null +++ b/evals/datasets/decisions-v1/cases/frontend-section-border-background.json @@ -0,0 +1,387 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "frontend-section-border-background", + "title": "Borders and backgrounds for dashboard sections", + "source": { + "url": "https://github.com/home-assistant/frontend/discussions/22288", + "retrievedAt": "2026-10-18T07:11:46.882772+00:00", + "repository": "home-assistant/frontend", + "number": 22288, + "nodeId": "D_kwDOAlLUS84Abz3y" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-10-08T14:00:00Z" + }, + { + "id": "c2", + "at": "2025-07-28T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-03-26T15:00:00Z" + }, + { + "id": "c4", + "at": "2026-05-12T17:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOAlLUS84Abz3y", + "kind": "opening", + "actor": "BBE-FR", + "createdAt": "2024-10-08T12:06:46Z", + "editedAt": "2024-10-09T12:28:26Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288", + "summary": "The opener requests per-section options in sections dashboards to show a border and/or background, either as two toggles or with colour pickers, so basic users can visually group cards.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human" + }, + { + "id": "DC_kwDOAlLUS84ApgYz", + "kind": "comment", + "actor": "BBE-FR", + "createdAt": "2024-10-08T13:48:55Z", + "editedAt": "2024-10-30T10:10:15Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-10880563", + "summary": "The opener shows a mock-up of grouped cards replacing custom stack-in-card setups.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84Arrci", + "kind": "comment", + "actor": "awilsonhass", + "createdAt": "2024-12-03T15:42:14Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11450146", + "summary": "A user says they achieve this with card-mod and want it native because it is too hard today.", + "actorId": "MDQ6VXNlcjkxNDg3MTM3", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84Ar3sZ", + "kind": "reply", + "actor": "ndom91", + "createdAt": "2024-12-08T16:34:17Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11500313", + "summary": "A user asks how they targeted the section with card-mod.", + "actorId": "MDQ6VXNlcjc0MTU5ODQ=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Arrci" + }, + { + "id": "DC_kwDOAlLUS84Ar5kG", + "kind": "reply", + "actor": "BBE-FR", + "createdAt": "2024-12-09T12:54:09Z", + "editedAt": "2024-12-09T12:54:42Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11507974", + "summary": "The opener links the community code, notes it wraps a custom card rather than styling the section, and restates the goal of avoiding custom components.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Arrci" + }, + { + "id": "DC_kwDOAlLUS84AsExB", + "kind": "reply", + "actor": "ndom91", + "createdAt": "2024-12-13T08:37:00Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11553857", + "summary": "The asking user thanks them.", + "actorId": "MDQ6VXNlcjc0MTU5ODQ=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Arrci" + }, + { + "id": "DC_kwDOAlLUS84Asl4Z", + "kind": "comment", + "actor": "nagtegaal", + "createdAt": "2024-12-29T10:07:40Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11689497", + "summary": "A user proposes a general `style:` attribute on all cards, sections and views instead, to make card-mod unnecessary.", + "actorId": "U_kgDOBkPeuA", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AszeI", + "kind": "comment", + "actor": "ghost", + "createdAt": "2025-01-06T07:14:46Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11745160", + "summary": "A user agrees section borders and backgrounds should be easy to set.", + "actorType": "unknown", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AtByx", + "kind": "comment", + "actor": "bucky2780", + "createdAt": "2025-01-11T00:45:54Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11803825", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjYwNzE1MTE=", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AtgFJ", + "kind": "comment", + "actor": "ZorK766", + "createdAt": "2025-01-23T10:23:28Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-11927881", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjIyMjkxNTM3", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AuFr2", + "kind": "comment", + "actor": "marcinbauer-ohf", + "createdAt": "2025-02-06T13:23:42Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12081910", + "summary": "A maintainer says the team will explore the feature for sections and share initial designs soon.", + "actorId": "MDQ6VXNlcjY3MTk1NzU=", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AuLhf", + "kind": "comment", + "actor": "officedrone", + "createdAt": "2025-02-08T23:20:02Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12105823", + "summary": "A user welcomes the news.", + "actorId": "MDQ6VXNlcjY3MDI0Mzcy", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AvHpH", + "kind": "reply", + "actor": "BBE-FR", + "createdAt": "2025-02-28T14:03:31Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12352071", + "summary": "The opener welcomes the teaser.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AuFr2" + }, + { + "id": "DC_kwDOAlLUS84AvqYp", + "kind": "comment", + "actor": "butterford", + "createdAt": "2025-03-13T22:36:01Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12494377", + "summary": "A user asks for implementation.", + "actorId": "MDQ6VXNlcjU0OTc2NDI=", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AvsC9", + "kind": "comment", + "actor": "alexsaas", + "createdAt": "2025-03-14T13:36:56Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12501181", + "summary": "A user adds enthusiastic support.", + "actorId": "U_kgDOCSVNnQ", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84Av3ZJ", + "kind": "reply", + "actor": "pcan08", + "createdAt": "2025-03-19T07:21:08Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12547657", + "summary": "A contributor asks for an update after the teaser.", + "actorId": "U_kgDOCUDuyA", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AuFr2" + }, + { + "id": "DC_kwDOAlLUS84AwiTv", + "kind": "reply", + "actor": "BBE-FR", + "createdAt": "2025-04-04T08:31:30Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-12723439", + "summary": "The opener notes nothing appeared in two monthly releases and asks for news.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AuFr2" + }, + { + "id": "DC_kwDOAlLUS84AyN4w", + "kind": "comment", + "actor": "NPo1973", + "createdAt": "2025-05-15T21:56:22Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13164080", + "summary": "A user wants a red section to warn against tapping a critical switch.", + "actorId": "U_kgDODD8wpg", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84AyOaA", + "kind": "reply", + "actor": "Misiu", + "createdAt": "2025-05-16T04:33:18Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13166208", + "summary": "A contributor suggests tap confirmation as a better fit for that case.", + "actorId": "MDQ6VXNlcjE3NDE4Mzg=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AyN4w" + }, + { + "id": "DC_kwDOAlLUS84AyrWs", + "kind": "comment", + "actor": "TidjyDev", + "createdAt": "2025-05-27T14:34:01Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13284780", + "summary": "A user complains the feature is easy and asks why it is not done yet.", + "actorId": "U_kgDODHxcsg", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84Ayt62", + "kind": "reply", + "actor": "silamon", + "createdAt": "2025-05-28T10:23:46Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13295286", + "summary": "A contributor pings the maintainer who promised designs.", + "actorId": "MDQ6VXNlcjMyNDc3NDYz", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AuFr2" + }, + { + "id": "DC_kwDOAlLUS84A07Mx", + "kind": "reply", + "actor": "BBE-FR", + "createdAt": "2025-07-24T08:33:57Z", + "editedAt": "2025-07-24T08:38:25Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13873969", + "summary": "The opener explains it is harder than it looks: a background on some sections needs extra padding, otherwise spacing is wasted for everyone or cards touch the edges.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AyrWs" + }, + { + "id": "DC_kwDOAlLUS84A1CHA", + "kind": "reply", + "actor": "vatioz", + "createdAt": "2025-07-27T15:40:46Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13902272", + "summary": "A user proposes a dashboard-wide mode where all sections get borders, trading space for clarity.", + "actorId": "MDQ6VXNlcjE0MjAzNDI4", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AyrWs" + }, + { + "id": "DC_kwDOAlLUS84A1Xx7", + "kind": "comment", + "actor": "BBE-FR", + "createdAt": "2025-08-04T15:53:43Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13991035", + "summary": "The opener says the topic moved to an organisation-level discussion.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84A1X0p", + "kind": "reply", + "actor": "silamon", + "createdAt": "2025-08-04T16:12:45Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-13991209", + "summary": "A contributor mentions an open pull request that may cover part of the request.", + "actorId": "MDQ6VXNlcjMyNDc3NDYz", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A1Xx7" + }, + { + "id": "DC_kwDOAlLUS84A1aj0", + "kind": "reply", + "actor": "BBE-FR", + "createdAt": "2025-08-05T08:40:12Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-14002420", + "summary": "The opener links that PR (#26369).", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A1Xx7" + }, + { + "id": "DC_kwDOAlLUS84A9y_T", + "kind": "reply", + "actor": "Nickduino", + "createdAt": "2026-03-18T23:38:57Z", + "editedAt": "2026-03-18T23:42:51Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-16199635", + "summary": "A user reports that PR was merged to dev, then reverted and never returned.", + "actorId": "MDQ6VXNlcjk3ODQyMzc=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A1Xx7" + }, + { + "id": "DC_kwDOAlLUS84A-SjR", + "kind": "comment", + "actor": "alexsaas", + "createdAt": "2026-03-26T15:25:17Z", + "editedAt": "2026-03-26T15:25:58Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-16328913", + "summary": "A user announces a new PR (#30228) by a maintainer bringing the feature, and asks for using the card background colour and turning off inner card borders and shadows.", + "actorId": "U_kgDOCSVNnQ", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84BAco3", + "kind": "comment", + "actor": "BBE-FR", + "createdAt": "2026-05-12T16:02:41Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-16894519", + "summary": "The opener marks the feature as implemented by that maintainer.", + "actorId": "U_kgDOBub8Aw", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "D_kwDOAlLUS84Abz3y:process:answered:2026-05-12T16:02:44Z", + "kind": "process", + "actor": "BBE-FR", + "createdAt": "2026-05-12T16:02:44Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288", + "summary": "The opener marks the implementation comment as the answer.", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "D_kwDOAlLUS84Abz3y:process:closed:2026-05-12T16:02:59Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-05-12T16:02:59Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOAlLUS84Abz3y" + }, + { + "id": "DC_kwDOAlLUS84BAc_y", + "kind": "comment", + "actor": "Nickduino", + "createdAt": "2026-05-12T18:45:41Z", + "url": "https://github.com/home-assistant/frontend/discussions/22288#discussioncomment-16895986", + "summary": "A user praises the feature and links follow-up issues it exposed.", + "actorId": "MDQ6VXNlcjk3ODQyMzc=", + "actorType": "human", + "parentId": "D_kwDOAlLUS84Abz3y" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/fzf-default-opts-file.json b/evals/datasets/decisions-v1/cases/fzf-default-opts-file.json new file mode 100644 index 000000000..18cc9d655 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/fzf-default-opts-file.json @@ -0,0 +1,274 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "fzf-default-opts-file", + "title": "Config file for fzf options", + "source": { + "url": "https://github.com/junegunn/fzf/discussions/2528", + "retrievedAt": "2026-10-18T07:35:03.796709+00:00", + "repository": "junegunn/fzf", + "number": 2528, + "nodeId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-06-14T12:00:00Z" + }, + { + "id": "c2", + "at": "2024-02-07T00:00:00Z" + }, + { + "id": "c3", + "at": "2024-02-08T04:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24zNDEwNTEx", + "kind": "opening", + "actor": "j-xella", + "createdAt": "2021-06-14T00:16:29Z", + "url": "https://github.com/junegunn/fzf/discussions/2528", + "summary": "The opener says their FZF_DEFAULT_OPTS value has grown unwieldy and asks whether fzf should read options from a dedicated config file such as ~/.fzfrc or ~/.config/fzf/config.", + "actorId": "MDQ6VXNlcjg5NTk4MTk=", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50ODY2NzE4", + "kind": "comment", + "actor": "rayiik", + "createdAt": "2021-06-14T07:13:11Z", + "editedAt": "2021-06-14T07:17:12Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-866718", + "summary": "A user argues a config file already exists in practice: they keep their fzf options in a shell script sourced at startup and share a long example.", + "actorId": "MDQ6VXNlcjMyNTU3MjEx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50ODY3MjQ2", + "kind": "reply", + "actor": "j-xella", + "createdAt": "2021-06-14T09:37:33Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-867246", + "summary": "The opener still wants an optional native file and lists reasons: shell independence, variable size limits, less environment pollution, comments and no escaping, and room for future settings.", + "actorId": "MDQ6VXNlcjg5NTk4MTk=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50ODY2NzE4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50ODgyNjkw", + "kind": "comment", + "actor": "rayiik", + "createdAt": "2021-06-17T11:09:28Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-882690", + "summary": "The first user doubts a shell-independent file is possible without rebuilding and worries a file would lose the per-situation flexibility of manipulating an environment variable.", + "actorId": "MDQ6VXNlcjMyNTU3MjEx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4AO0b9", + "kind": "comment", + "actor": "fritzrehde", + "createdAt": "2022-10-15T10:54:22Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-3884797", + "summary": "A user notes that without a global file, switching light and dark themes cannot reach fzf instances already spawned from other terminals or tools.", + "actorId": "MDQ6VXNlcjgwNDcxMjY1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4ARvYS", + "kind": "comment", + "actor": "ivanlan9", + "createdAt": "2023-01-10T22:39:23Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-4650514", + "summary": "A user already sources a defaults file from ~/.config and would prefer fzf to know where to look, so edits apply without re-sourcing.", + "actorId": "MDQ6VXNlcjc5NzcxNTg=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4AVhe3", + "kind": "reply", + "actor": "tuskiie", + "createdAt": "2023-04-17T21:55:47Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-5642167", + "summary": "A user asks the theme-switching commenter whether they found a fix.", + "actorId": "MDQ6VXNlcjQwMTc4ODIx", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4AO0b9" + }, + { + "id": "DC_kwDOANKv9s4Af9vF", + "kind": "reply", + "actor": "weirdgiraffe", + "createdAt": "2024-02-06T08:07:39Z", + "editedAt": "2024-02-06T12:20:51Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-8379333", + "summary": "A user suggests a shell function wrapper that sources an options file in a subshell on every run, keeping the environment clean.", + "actorId": "MDQ6VXNlcjgyODI1MzA=", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4AO0b9" + }, + { + "id": "DC_kwDOANKv9s4AgDbD", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2024-02-08T02:37:25Z", + "editedAt": "2024-02-08T02:42:17Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-8402627", + "summary": "The maintainer accepts some points and proposes a new variable, FZF_DEFAULT_OPTS_FILE, naming the file path, since there is no agreed default location and fzf should not probe for a file nobody uses.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4AgDdf", + "kind": "reply", + "actor": "junegunn", + "createdAt": "2024-02-08T03:05:57Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-8402783", + "summary": "The maintainer links the pull request implementing that variable.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4AgDbD" + }, + { + "id": "DC_kwDOANKv9s4Ai09b", + "kind": "comment", + "actor": "yujinyuz", + "createdAt": "2024-04-16T12:45:39Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9129819", + "summary": "A user reports that the CTRL-T binding seems to ignore options from FZF_DEFAULT_OPTS_FILE and asks if this is intended.", + "actorId": "MDQ6VXNlcjEwOTcyMDI3", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4Ai4VB", + "kind": "reply", + "actor": "junegunn", + "createdAt": "2024-04-17T14:07:05Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9143617", + "summary": "The maintainer says it works for them and shows a minimal reproduction with a colour option.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Ai4Y1", + "kind": "reply", + "actor": "yujinyuz", + "createdAt": "2024-04-17T14:22:54Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9143861", + "summary": "The user shares their layout and colour file plus a video showing CTRL-R honours it but CTRL-T does not apply the reverse layout.", + "actorId": "MDQ6VXNlcjEwOTcyMDI3", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Ai4Zy", + "kind": "reply", + "actor": "yujinyuz", + "createdAt": "2024-04-17T14:27:32Z", + "editedAt": "2024-04-17T14:28:21Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9143922", + "summary": "The user adds that a colour option works but a layout option is not applied.", + "actorId": "MDQ6VXNlcjEwOTcyMDI3", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Ai4gQ", + "kind": "reply", + "actor": "junegunn", + "createdAt": "2024-04-17T15:02:11Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9144336", + "summary": "The maintainer explains the key bindings predate the file variable and override some options, so they do not merge the file's contents yet; they suggest the older variables for now.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Ai5yX", + "kind": "reply", + "actor": "yujinyuz", + "createdAt": "2024-04-18T02:25:02Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9149591", + "summary": "The user accepts the explanation.", + "actorId": "MDQ6VXNlcjEwOTcyMDI3", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Ai7OA", + "kind": "reply", + "actor": "junegunn", + "createdAt": "2024-04-18T13:55:15Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9155456", + "summary": "The maintainer links a work-in-progress pull request that makes the bindings honour the file and asks for testing.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Ai09b" + }, + { + "id": "DC_kwDOANKv9s4Akv5K", + "kind": "comment", + "actor": "backpropper", + "createdAt": "2024-06-01T23:55:59Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-9633354", + "summary": "A user gets an invalid command line string error when setting the file variable before sourcing the bindings, even with an empty file, and asks for help.", + "actorId": "MDQ6VXNlcjU0MjIyMjg=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4Awada", + "kind": "comment", + "actor": "tasuki", + "createdAt": "2025-04-01T17:05:39Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-12691290", + "summary": "A user running nvim without a login shell says fzf misses their shell variables and asks for a separate config file.", + "actorId": "MDQ6VXNlcjMzNDQ5MA==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDEwNTEx" + }, + { + "id": "DC_kwDOANKv9s4AwbIq", + "kind": "reply", + "actor": "junegunn", + "createdAt": "2025-04-01T23:25:13Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-12694058", + "summary": "The maintainer points to FZF_DEFAULT_OPTS_FILE and notes the variable can be set from the editor's own configuration.", + "actorId": "MDQ6VXNlcjcwMDgyNg==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Awada" + }, + { + "id": "DC_kwDOANKv9s4Awbqo", + "kind": "reply", + "actor": "tasuki", + "createdAt": "2025-04-02T05:46:45Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-12696232", + "summary": "The user realises the answer was already given several times in the thread and thanks the maintainer.", + "actorId": "MDQ6VXNlcjMzNDQ5MA==", + "actorType": "human", + "parentId": "DC_kwDOANKv9s4Awada" + }, + { + "id": "DC_kwDOANKv9s4Azwtn", + "kind": "reply", + "actor": "danielwerg", + "createdAt": "2025-06-25T04:07:00Z", + "url": "https://github.com/junegunn/fzf/discussions/2528#discussioncomment-13568871", + "summary": "A user asks how FZF_ALT_COMMAND is used in the early example config.", + "actorId": "MDQ6VXNlcjM1MDUyMzk5", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50ODY2NzE4" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/fzf-preview-window.json b/evals/datasets/decisions-v1/cases/fzf-preview-window.json new file mode 100644 index 000000000..d3ce92b55 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/fzf-preview-window.json @@ -0,0 +1,481 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "fzf-preview-window", + "title": "fzf preview window and its layout options", + "source": { + "url": "https://github.com/junegunn/fzf/issues/587", + "retrievedAt": "2026-10-18T07:35:04.683974+00:00", + "repository": "junegunn/fzf", + "number": 587 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-06-04T09:00:00Z" + }, + { + "id": "c2", + "at": "2016-06-08T16:20:00Z" + }, + { + "id": "c3", + "at": "2016-06-11T12:00:00Z" + }, + { + "id": "c4", + "at": "2016-06-12T00:00:00Z" + } + ], + "events": [ + { + "id": "fzf-587:issue:587", + "kind": "opening", + "actor": "junegunn", + "createdAt": "2016-06-04T08:05:10Z", + "url": "https://github.com/junegunn/fzf/issues/587", + "summary": "The maintainer floats a --preview option that runs an external command on the focused item, with screenshots, leaving open whether to add it at all and what layout (side, size, hidden) it should take.", + "actorId": 700826, + "actorType": "human" + }, + { + "id": "fzf-587:comment:223758542", + "kind": "comment", + "actor": "deathmaz", + "createdAt": "2016-06-04T14:28:20Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-223758542", + "summary": "A user votes yes and suggests a right-side pane at 70 or 80 percent.", + "actorId": 6440135, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224026156", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-06T17:20:57Z", + "editedAt": "2016-06-07T09:33:56Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224026156", + "summary": "The maintainer reports a working build with configurable layout such as left:30% and asks for compelling use cases.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224228173", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-07T09:30:19Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224228173", + "summary": "A contributor suggests richer shell history search showing the full selected command with surrounding history, which would also help multi-line commands.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224228495", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-07T09:31:46Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224228495", + "summary": "The contributor adds file preview ideas for fzf.vim: line context and buffer contents.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224321296", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-07T15:40:00Z", + "editedAt": "2016-06-07T15:40:08Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224321296", + "summary": "The maintainer says trying the history idea surfaced a separate bug.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224326235", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-07T15:56:01Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224326235", + "summary": "The contributor thanks him and says the feature sounds great.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224337840", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-07T16:33:37Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224337840", + "summary": "The maintainer demonstrates history preview with two layouts, a three-line top pane and a 30 percent right pane.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224339475", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-07T16:39:16Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224339475", + "summary": "The contributor asks whether the preview command can receive the selected line number to show context.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224341736", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-07T16:47:05Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224341736", + "summary": "The maintainer is doubtful, as a long bash command is a single wrapped string in a fixed ncurses window.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224374689", + "kind": "comment", + "actor": "khalidchawtany", + "createdAt": "2016-06-07T18:39:28Z", + "editedAt": "2016-06-07T18:42:40Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224374689", + "summary": "A user welcomes seeing past the screen width and asks for a key to toggle the preview so it can be off by default.", + "actorId": 1681606, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224580135", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-08T12:56:17Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224580135", + "summary": "The contributor, unfamiliar with ncurses, asks why surrounding lines could not be fetched by line number.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224644129", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-08T16:17:48Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224644129", + "summary": "The maintainer clarifies he misread the request and that it is possible; on toggling he notes it implies a default on/off setting and a bindable action, and predicts requests for auto-hiding too.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224645576", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-08T16:22:43Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224645576", + "summary": "The contributor illustrates the grep -C style context he wants for history entries.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224649101", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-08T16:35:00Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224649101", + "summary": "The maintainer agrees anything scriptable works, but rules out dynamic resizing of the preview window for now.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224650497", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-08T16:39:35Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224650497", + "summary": "The contributor accepts that and looks forward to a release.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224651523", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-08T16:42:38Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224651523", + "summary": "The maintainer adds a toggle-preview bindable action and floats a hidden suffix like up:10:hidden for starting closed, still undecided.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224690872", + "kind": "comment", + "actor": "khalidchawtany", + "createdAt": "2016-06-08T18:50:16Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224690872", + "summary": "The user welcomes the toggle and predicts demand for a default on/off setting.", + "actorId": 1681606, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:224959832", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-09T17:01:37Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-224959832", + "summary": "The maintainer shows a one-line file-type preview as a simple use.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:process:closed:2016-06-11T17:21:13Z", + "kind": "process", + "actor": "junegunn", + "createdAt": "2016-06-11T17:21:13Z", + "url": "https://github.com/junegunn/fzf/issues/587", + "summary": "The maintainer closes the issue.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:225677834", + "kind": "comment", + "actor": "khalidchawtany", + "createdAt": "2016-06-13T19:08:09Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-225677834", + "summary": "A user asks whether a vim function can serve as the preview command.", + "actorId": 1681606, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:225811828", + "kind": "comment", + "actor": "balta2ar", + "createdAt": "2016-06-14T08:20:17Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-225811828", + "summary": "A user asks for an example showing a one-line log on the left and the commit diff on the right.", + "actorId": 340676, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:225867588", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-14T12:36:29Z", + "editedAt": "2016-06-14T12:56:59Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-225867588", + "summary": "The maintainer sees no simple way to call vim functions and posts a git commit browser example, noting a workaround for a bug later fixed in 0.13.1.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226413217", + "kind": "comment", + "actor": "balta2ar", + "createdAt": "2016-06-16T07:51:36Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226413217", + "summary": "The user likes the feature, wants a way to start hidden, and reports diff-so-fancy drawing rules too wide because it misjudges the pane width.", + "actorId": 340676, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226415486", + "kind": "comment", + "actor": "deathmaz", + "createdAt": "2016-06-16T08:02:24Z", + "editedAt": "2016-06-16T08:04:55Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226415486", + "summary": "A user reports an unknown option error when running the example.", + "actorId": 6440135, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226454183", + "kind": "comment", + "actor": "khalidchawtany", + "createdAt": "2016-06-16T11:01:33Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226454183", + "summary": "Another user suggests an older fzf binary is being picked up.", + "actorId": 1681606, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226456042", + "kind": "comment", + "actor": "deathmaz", + "createdAt": "2016-06-16T11:11:42Z", + "editedAt": "2016-06-16T11:12:16Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226456042", + "summary": "The user shares a terminal recording of the session.", + "actorId": 6440135, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226473869", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-16T12:43:26Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226473869", + "summary": "The maintainer points out the hidden suffix already exists and suggests overriding COLUMNS for diff-so-fancy.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226474253", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-16T12:45:04Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226474253", + "summary": "The maintainer advises checking which fzf binary is on the path.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226474544", + "kind": "comment", + "actor": "deathmaz", + "createdAt": "2016-06-16T12:46:23Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226474544", + "summary": "The user reports the path is the system package location.", + "actorId": 6440135, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226474858", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-16T12:47:50Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226474858", + "summary": "The maintainer says that is not where the install script places the binary.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226474960", + "kind": "comment", + "actor": "deathmaz", + "createdAt": "2016-06-16T12:48:23Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226474960", + "summary": "The user asks how to fix it.", + "actorId": 6440135, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226475430", + "kind": "comment", + "actor": "infokiller", + "createdAt": "2016-06-16T12:50:23Z", + "editedAt": "2016-06-16T12:50:55Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226475430", + "summary": "A contributor asks that the unrelated install problem move to its own issue.", + "actorId": 10516814, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226477019", + "kind": "comment", + "actor": "balta2ar", + "createdAt": "2016-06-16T12:57:03Z", + "editedAt": "2016-06-16T13:02:29Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226477019", + "summary": "The user thanks him for the hidden suffix and argues fzf should set COLUMNS itself, since it knows the pane width after margins.", + "actorId": 340676, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226481072", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-16T13:14:11Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226481072", + "summary": "The maintainer declines: LINES and COLUMNS are not honoured by all shells or programs, so it would be a partial and confusing fix left to users.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226486217", + "kind": "comment", + "actor": "balta2ar", + "createdAt": "2016-06-16T13:34:23Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226486217", + "summary": "The user accepts and asks to trim the separator padding, ellipsis and borders to save space.", + "actorId": 340676, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226494821", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-16T14:04:40Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226494821", + "summary": "The maintainer refuses more options to control complexity, saying preview is meant to be simple, not a customisable TUI framework.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:226950417", + "kind": "comment", + "actor": "junegunn", + "createdAt": "2016-06-18T16:10:32Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-226950417", + "summary": "The maintainer recommends a faster syntax highlighter than pygmentize.", + "actorId": 700826, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:260328605", + "kind": "comment", + "actor": "suweller", + "createdAt": "2016-11-14T12:59:52Z", + "editedAt": "2016-11-14T14:14:37Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-260328605", + "summary": "A user shares a local diff-so-fancy patch to stop its rule width breaking on resize.", + "actorId": 70916, + "actorType": "human", + "parentId": "fzf-587:issue:587" + }, + { + "id": "fzf-587:comment:475562037", + "kind": "comment", + "actor": "3N4N", + "createdAt": "2019-03-22T10:06:26Z", + "editedAt": "2019-03-22T10:14:59Z", + "url": "https://github.com/junegunn/fzf/issues/587#issuecomment-475562037", + "summary": "A user asks how to preview only text files, then shares a workaround using the file command.", + "actorId": 32037751, + "actorType": "human", + "parentId": "fzf-587:issue:587" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ghostty-broadcast-groups.json b/evals/datasets/decisions-v1/cases/ghostty-broadcast-groups.json new file mode 100644 index 000000000..da3ae6cfc --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ghostty-broadcast-groups.json @@ -0,0 +1,774 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ghostty-broadcast-groups", + "title": "Design of pane input broadcast groups", + "source": { + "url": "https://github.com/ghostty-org/ghostty/pull/13745", + "retrievedAt": "2026-10-18T07:26:22.165954+00:00", + "repository": "ghostty-org/ghostty", + "number": 13745 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-08-11T16:00:00Z" + }, + { + "id": "c2", + "at": "2026-08-16T19:00:00Z" + }, + { + "id": "c3", + "at": "2026-08-17T23:00:00Z" + } + ], + "events": [ + { + "id": "ghostty-13745:pr:13745", + "kind": "opening", + "actor": "dave92082", + "createdAt": "2026-08-11T07:15:26Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745", + "summary": "A first-time contributor opens a PR adding input broadcasting across panes via up to 16 colour-coded groups, set by modifier-click or numbered keybinds, managed in core and shared by macOS and GTK, replacing an earlier single global toggle approach; AI assistance is disclosed.", + "actorId": 1847875, + "actorType": "human" + }, + { + "id": "ghostty-13745:review:4904436468", + "kind": "review", + "actor": "bo2themax", + "createdAt": "2026-08-11T08:45:57Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4904436468", + "summary": "A macOS maintainer likes the result but asks to split it into core, GTK and macOS PRs and objects to hard-coded selection shortcuts, preferring a keybind.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review:4908029570", + "kind": "review", + "actor": "jcollie", + "createdAt": "2026-08-11T15:43:23Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4908029570", + "summary": "A GTK maintainer asks for group control to live in the core app and surface rather than each runtime, rename actions to toggle, add a clear-all action and make border colours configurable.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5259272060", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-11T21:52:07Z", + "editedAt": "2026-08-11T22:24:35Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5259272060", + "summary": "The contributor makes click modifiers configurable, moves logic to core, renames actions, adds clear-all, makes colours configurable with up to 64 groups, and argues centralising makes splitting the PR less sensible.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5261150161", + "kind": "comment", + "actor": "jcollie", + "createdAt": "2026-08-12T01:51:29Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5261150161", + "summary": "The GTK maintainer calls the group structure over-engineered with quadratic operations, proposes a nullable small-integer group on each surface, a fixed 16-group cap, palette-style colour parsing, and a template-driven GTK border.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5262172869", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-12T04:10:34Z", + "editedAt": "2026-08-12T04:10:47Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5262172869", + "summary": "The contributor agrees to simplify, accepts 16 groups as enough from his own daily use, and will research the GTK template binding.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review-comment:3764280435", + "kind": "review-comment", + "actor": "pluiedev", + "createdAt": "2026-08-12T07:05:48Z", + "editedAt": "2026-08-12T07:34:02Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3764280435", + "summary": "Another maintainer asks why an apprt action is needed if this only touches core state.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:review:4913843465" + }, + { + "id": "ghostty-13745:review-comment:3764381197", + "kind": "review-comment", + "actor": "pluiedev", + "createdAt": "2026-08-12T07:23:30Z", + "editedAt": "2026-08-12T07:34:02Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3764381197", + "summary": "That maintainer suggests the action payload be a nullable value with a matching C struct.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:review:4913843465" + }, + { + "id": "ghostty-13745:review-comment:3764409653", + "kind": "review-comment", + "actor": "pluiedev", + "createdAt": "2026-08-12T07:28:23Z", + "editedAt": "2026-08-12T07:34:02Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3764409653", + "summary": "That maintainer suggests a static bit set or splat initialisation.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:review:4913843465" + }, + { + "id": "ghostty-13745:review-comment:3764430045", + "kind": "review-comment", + "actor": "pluiedev", + "createdAt": "2026-08-12T07:31:49Z", + "editedAt": "2026-08-12T07:34:03Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3764430045", + "summary": "That maintainer suggests using the bit set's find-last helper.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:review:4913843465" + }, + { + "id": "ghostty-13745:review:4913843465", + "kind": "review", + "actor": "pluiedev", + "createdAt": "2026-08-12T07:34:02Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4913843465", + "summary": "That maintainer requests changes.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review-comment:3766991693", + "kind": "review-comment", + "actor": "bo2themax", + "createdAt": "2026-08-12T13:49:17Z", + "editedAt": "2026-08-12T14:28:54Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3766991693", + "summary": "The macOS maintainer advises against assuming main-thread isolation, suggesting a main-actor task to avoid crashes.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:review:4917213126" + }, + { + "id": "ghostty-13745:review-comment:3766997992", + "kind": "review-comment", + "actor": "bo2themax", + "createdAt": "2026-08-12T13:50:05Z", + "editedAt": "2026-08-12T14:28:54Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3766997992", + "summary": "The macOS maintainer notes iOS support was just removed, so conditional checks can go.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:review:4917213126" + }, + { + "id": "ghostty-13745:review-comment:3767318513", + "kind": "review-comment", + "actor": "bo2themax", + "createdAt": "2026-08-12T14:28:47Z", + "editedAt": "2026-08-12T14:29:32Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3767318513", + "summary": "The macOS maintainer agrees selection should be a core mouse event with configured modifiers, leaving runtimes only to draw borders.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:review:4917213126" + }, + { + "id": "ghostty-13745:review:4917213126", + "kind": "review", + "actor": "bo2themax", + "createdAt": "2026-08-12T14:28:54Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4917213126", + "summary": "The macOS maintainer requests changes.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5276365550", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-13T05:31:55Z", + "editedAt": "2026-08-13T05:32:32Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5276365550", + "summary": "The contributor says a power cut has delayed his replies.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5299224835", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-14T23:40:19Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5299224835", + "summary": "The contributor reports all comments addressed and tested on macOS and Fedora.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review:4942754137", + "kind": "review", + "actor": "pluiedev", + "createdAt": "2026-08-15T04:00:26Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4942754137", + "summary": "The GTK-side maintainer approves with no further concerns.", + "actorId": 22406910, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review:4943358000", + "kind": "review", + "actor": "bo2themax", + "createdAt": "2026-08-15T08:28:10Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4943358000", + "summary": "The macOS maintainer approves.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5308560410", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-16T16:54:49Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5308560410", + "summary": "The contributor updates the PR description to match the approved design.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5308595490", + "kind": "comment", + "actor": "bo2themax", + "createdAt": "2026-08-16T17:03:12Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5308595490", + "summary": "The macOS maintainer advises the description should explain why, not list how.", + "actorId": 134181853, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review-comment:3792686801", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T19:54:45Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792686801", + "summary": "The GTK maintainer suggests a transparent base border colour to remove a flash when leaving a group.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792690741", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T19:56:55Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792690741", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792692837", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T19:57:52Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792692837", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792695917", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T19:59:32Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792695917", + "summary": "A maintainer suggests a helper that builds the per-group CSS class name.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792697565", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:00:32Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792697565", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792699266", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:01:27Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792699266", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792699943", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:01:50Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792699943", + "summary": "A maintainer suggests renaming the C header field to group.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792700410", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:02:06Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792700410", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792703126", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:03:34Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792703126", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792704195", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:04:12Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792704195", + "summary": "A maintainer suggests indexing by the group value on macOS.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792705446", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:04:53Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792705446", + "summary": "A maintainer suggests a rename in line with the sync naming for the broadcast action.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792710028", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:07:19Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792710028", + "summary": "A maintainer suggests a nullable four-bit group type.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792711557", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:08:11Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792711557", + "summary": "A maintainer suggests the C struct field be named group.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792712373", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:08:38Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792712373", + "summary": "A maintainer suggests deriving membership from whether the group is set.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792715140", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:09:44Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792715140", + "summary": "A maintainer suggests zero-based group values in default keybinds.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792715878", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:10:02Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792715878", + "summary": "A maintainer repeats the zero-based keybind suggestion for the other platform.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792717086", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:10:38Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792717086", + "summary": "A maintainer suggests group 9 for the zero key.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792717539", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:10:52Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792717539", + "summary": "A maintainer repeats the zero key suggestion for the other platform.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792720062", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:12:04Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792720062", + "summary": "A maintainer suggests sizing the colour list from the four-bit maximum.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792722210", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:13:18Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792722210", + "summary": "A maintainer proposes a set of 16 default colours.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792724567", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:14:32Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792724567", + "summary": "A maintainer proposes palette-style parsing of index=colour entries.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792726148", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:15:26Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792726148", + "summary": "A maintainer suggests iterating colours with their index.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792732713", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:18:54Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792732713", + "summary": "A maintainer asks to reuse the existing colour formatter.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792757852", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:32:46Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792757852", + "summary": "A maintainer suggests a four-bit payload for the toggle keybind.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792761942", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:35:07Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792761942", + "summary": "A maintainer suggests a simpler toggle function on the app.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792764827", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:36:37Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792764827", + "summary": "A maintainer suggests documenting a nullable group field on the surface.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792782635", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:46:26Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792782635", + "summary": "A maintainer suggests the GTK surface clear all colour classes and add the current one, revealing or hiding the border.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792791557", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:51:12Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792791557", + "summary": "A maintainer says the GTK surface should not duplicate group state.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review-comment:3792795892", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2026-08-16T20:53:33Z", + "editedAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3792795892", + "summary": "A maintainer suggests the macOS action dispatch case.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:review:4947167514" + }, + { + "id": "ghostty-13745:review:4947167514", + "kind": "review", + "actor": "jcollie", + "createdAt": "2026-08-16T21:00:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4947167514", + "summary": "The GTK maintainer requests changes, summarising: unify on zero-based groups with a four-bit type, put verbs in action names, fix the border flash, and keep no group state in the GTK surface.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review-comment:3797349016", + "kind": "review-comment", + "actor": "dave92082", + "createdAt": "2026-08-17T16:54:18Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#discussion_r3797349016", + "summary": "The contributor says he liked the flash but accepts it was accidental.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:review-comment:3792686801" + }, + { + "id": "ghostty-13745:comment:5318233043", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-17T17:34:29Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5318233043", + "summary": "The contributor applies all suggestions, fixes compile errors in a few, renames a union member for consistency, and extends the CLI parser to handle the new integer type.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review:4953263481", + "kind": "review", + "actor": "trag1c", + "createdAt": "2026-08-17T18:00:10Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4953263481", + "summary": "A maintainer blocks on new UI strings because of the 1.4 string freeze.", + "actorId": 77130613, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5318425247", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-08-17T18:02:20Z", + "editedAt": "2026-08-17T18:05:18Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5318425247", + "summary": "The contributor updates translation files without adding translations.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5318429739", + "kind": "comment", + "actor": "jcollie", + "createdAt": "2026-08-17T18:02:52Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5318429739", + "summary": "The GTK maintainer wants to try it locally before approving.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:review:4955231966", + "kind": "review", + "actor": "jcollie", + "createdAt": "2026-08-17T22:53:26Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#pullrequestreview-4955231966", + "summary": "The GTK maintainer approves, ready to merge after the 1.4 release.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:5965890158", + "kind": "comment", + "actor": "rogierlommers", + "createdAt": "2026-10-03T05:19:12Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-5965890158", + "summary": "A user thanks the contributor.", + "actorId": 3907131, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6041640241", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-10-07T15:57:08Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6041640241", + "summary": "The contributor asks about the release timeline and merge.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6042186557", + "kind": "comment", + "actor": "rogierlommers", + "createdAt": "2026-10-07T16:27:42Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6042186557", + "summary": "A user says it is the last feature they miss from iTerm2.", + "actorId": 3907131, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6051908559", + "kind": "comment", + "actor": "ryenus", + "createdAt": "2026-10-08T04:00:28Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6051908559", + "summary": "A user asks whether broadcasting can be toggled for all panes in a tab with one shortcut.", + "actorId": 610161, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6052053762", + "kind": "comment", + "actor": "dave92082", + "createdAt": "2026-10-08T04:13:07Z", + "editedAt": "2026-10-08T04:15:31Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6052053762", + "summary": "The contributor documents keyboard, palette and click ways to add and clear groups, with zero-based numbering and config examples.", + "actorId": 1847875, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6053381988", + "kind": "comment", + "actor": "ryenus", + "createdAt": "2026-10-08T05:56:01Z", + "editedAt": "2026-10-08T14:18:03Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6053381988", + "summary": "The user asks for an implicit all-panes-in-tab group, offered as a follow-up rather than a blocker.", + "actorId": 610161, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + }, + { + "id": "ghostty-13745:comment:6068184892", + "kind": "comment", + "actor": "00-kat", + "createdAt": "2026-10-08T20:12:13Z", + "editedAt": "2026-10-08T20:12:25Z", + "url": "https://github.com/ghostty-org/ghostty/pull/13745#issuecomment-6068184892", + "summary": "A contributor estimates release in a week or two.", + "actorId": 65649991, + "actorType": "human", + "parentId": "ghostty-13745:pr:13745" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ghostty-official-snap.json b/evals/datasets/decisions-v1/cases/ghostty-official-snap.json new file mode 100644 index 000000000..03433b89d --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ghostty-official-snap.json @@ -0,0 +1,873 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ghostty-official-snap", + "title": "Official snap packaging for Ghostty", + "source": { + "url": "https://github.com/ghostty-org/ghostty/pull/3931", + "retrievedAt": "2026-10-18T07:26:16.175633+00:00", + "repository": "ghostty-org/ghostty", + "number": 3931 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-01-02T22:00:00Z" + }, + { + "id": "c2", + "at": "2025-01-02T22:57:00Z" + }, + { + "id": "c3", + "at": "2025-02-15T12:00:00Z" + }, + { + "id": "c4", + "at": "2025-02-15T18:00:00Z" + } + ], + "events": [ + { + "id": "ghostty-3931:pr:3931", + "kind": "opening", + "actor": "kenvandine", + "createdAt": "2024-12-29T19:29:36Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931", + "summary": "A contributor (who works at Canonical) opens a PR adding snap packaging for Ghostty and offers to handle store release, automated builds and the classic-confinement request if given access to the registered name.", + "actorId": 54789, + "actorType": "human" + }, + { + "id": "ghostty-3931:review-comment:1899187765", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T20:19:09Z", + "editedAt": "2024-12-29T20:21:19Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899187765", + "summary": "A maintainer suggests the build should fail early with a clear error rather than letting curl fetch a missing file.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:review:2525001336" + }, + { + "id": "ghostty-3931:review-comment:1899187807", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T20:19:36Z", + "editedAt": "2024-12-29T20:21:19Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899187807", + "summary": "A maintainer, new to snaps, asks what stage packages are.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:review:2525001336" + }, + { + "id": "ghostty-3931:review:2525001336", + "kind": "review", + "actor": "tristan957", + "createdAt": "2024-12-29T20:21:19Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#pullrequestreview-2525001336", + "summary": "A maintainer reviews: asks how shell completions and vim/neovim files are exported, and requests a CI workflow so the snap does not regress.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2564840058", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2024-12-29T21:14:34Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2564840058", + "summary": "The opener says a snap build workflow has been added and that shell completion support is still to do.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899194105", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-29T21:15:11Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899194105", + "summary": "The opener explains that stage packages are Ubuntu packages bundled into the snap to satisfy runtime dependencies.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899187807" + }, + { + "id": "ghostty-3931:review-comment:1899200188", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:12:42Z", + "editedAt": "2024-12-29T22:12:43Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200188", + "summary": "A maintainer questions bundling shells and asks whether classic snaps can see host binaries.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899187807" + }, + { + "id": "ghostty-3931:review-comment:1899200238", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:13:20Z", + "editedAt": "2024-12-29T22:15:17Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200238", + "summary": "A maintainer asks that the workflow run only on certain branches, at least main.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899200245", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:13:32Z", + "editedAt": "2024-12-29T22:15:17Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200245", + "summary": "A maintainer repeats the branch restriction request on a second trigger.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899200273", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:14:00Z", + "editedAt": "2024-12-29T22:15:31Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200273", + "summary": "A maintainer asks to drop an unused step id.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899200326", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:14:29Z", + "editedAt": "2024-12-29T22:15:17Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200326", + "summary": "A maintainer expects the job should use one of the project's own runners and defers to the project lead.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899200366", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-29T22:14:56Z", + "editedAt": "2024-12-29T22:15:17Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899200366", + "summary": "A maintainer suggests the launcher can use a plain /bin/sh shebang.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899737722", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:02:44Z", + "editedAt": "2024-12-30T19:02:45Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899737722", + "summary": "The opener confirms classic snaps reach the host, so the bundled shells can be dropped.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899187807" + }, + { + "id": "ghostty-3931:review-comment:1899739911", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:07:27Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899739911", + "summary": "The opener marks the branch restriction fixed.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899200245" + }, + { + "id": "ghostty-3931:review-comment:1899739954", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:07:33Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899739954", + "summary": "The opener marks the other branch restriction fixed.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899200238" + }, + { + "id": "ghostty-3931:review-comment:1899740072", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:07:43Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899740072", + "summary": "The opener removes the unused id.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899200273" + }, + { + "id": "ghostty-3931:review-comment:1899745982", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:20:05Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899745982", + "summary": "The opener switches the shebang.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899200366" + }, + { + "id": "ghostty-3931:comment:2565853958", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2024-12-30T19:42:51Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2565853958", + "summary": "The opener says all review feedback so far is addressed.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899814490", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-30T21:54:58Z", + "editedAt": "2025-01-08T20:51:43Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899814490", + "summary": "A maintainer asks how the launcher behaves when a user has set XDG_CONFIG_HOME or XDG_DATA_HOME to custom locations.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1899815250", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2024-12-30T21:57:02Z", + "editedAt": "2025-01-08T20:51:43Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1899815250", + "summary": "A maintainer asks about completion scripts for shells other than bash.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1900053897", + "kind": "review-comment", + "actor": "matifali", + "createdAt": "2024-12-31T10:59:37Z", + "editedAt": "2024-12-31T10:59:38Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1900053897", + "summary": "A user asks why the snap builds from source instead of reusing the project's documented pre-built packaging route.", + "actorId": 10648092, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1900138557", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2024-12-31T14:29:08Z", + "editedAt": "2024-12-31T14:29:09Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1900138557", + "summary": "The opener replies that building from source suits a project-published snap, keeping packaging in-tree and letting stable releases build from branches or tags.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1900053897" + }, + { + "id": "ghostty-3931:review:2528235794", + "kind": "review", + "actor": "mitchellh", + "createdAt": "2025-01-02T21:23:38Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#pullrequestreview-2528235794", + "summary": "The project lead requests changes: still unsure about maintaining a snap at all but sees it as broadly accepted, and asks whether snap/ could live under dist/ instead of the top level.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2568460909", + "kind": "comment", + "actor": "tristan957", + "createdAt": "2025-01-02T22:30:23Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2568460909", + "summary": "A maintainer argues universal formats like flatpak and snap give the project an official Linux channel when distros package poorly, and notes the author could help maintain it.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2568462011", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-02T22:31:39Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2568462011", + "summary": "The project lead says he is leaning towards accepting and would welcome the author staying on to help.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2568490024", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-02T22:56:15Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2568490024", + "summary": "The opener explains snapcraft only looks in a few places, so dist/ would need workarounds for automated builds; he agrees to help maintain the snap and asks who holds the store name.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2568493721", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-02T22:57:55Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2568493721", + "summary": "The project lead accepts keeping snap/ at the top level and says someone else registered the name, so a dispute may be needed.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2568496009", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-02T22:59:18Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2568496009", + "summary": "The opener offers to start the name dispute.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2569454101", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-03T15:54:57Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2569454101", + "summary": "The opener reports filing the store name dispute.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2569505211", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-03T16:31:47Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2569505211", + "summary": "The project lead asks whether the name must be transferred to his account afterwards.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2569596741", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-03T17:44:36Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2569596741", + "summary": "The opener confirms a transfer once everything is in place.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2576211595", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-07T21:00:49Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2576211595", + "summary": "The opener reports requesting classic confinement on the Snapcraft forum.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2578369509", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-08T18:41:08Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2578369509", + "summary": "The project lead moved the builders to the Namespace CI provider, hit problems, and says local testing works but CI must pass.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2578555586", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-08T20:10:45Z", + "editedAt": "2025-01-08T20:10:54Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2578555586", + "summary": "The project lead says Namespace has a fix coming, likely within a week.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1907852857", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2025-01-08T20:52:09Z", + "editedAt": "2025-01-08T20:52:10Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1907852857", + "summary": "A maintainer adds that he knows little about snaps, so his completion comment is tentative.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899815250" + }, + { + "id": "ghostty-3931:comment:2579580784", + "kind": "comment", + "actor": "dobicinaitis", + "createdAt": "2025-01-09T09:32:41Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2579580784", + "summary": "A user who was about to request classic confinement for his own unofficial snap stops that effort and points to his release-tracking workflows.", + "actorId": 24923497, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2580546365", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-09T15:20:13Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2580546365", + "summary": "The project lead warns that the branch's git history is getting tangled.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2581358643", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-09T22:24:31Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2581358643", + "summary": "The opener says he was rebasing while testing on non-Ubuntu distros and will tidy the history.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2585553527", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-12T02:45:36Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2585553527", + "summary": "The opener cannot see why unrelated files appear in the diff despite rebasing on main and asks for pointers.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2585576651", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-12T04:05:46Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2585576651", + "summary": "The project lead offers to force-push a fix.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2585905711", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-12T20:29:15Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2585905711", + "summary": "The project lead cleans up the history and asks the opener to check the small conflict resolutions.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1912546042", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2025-01-12T22:01:34Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1912546042", + "summary": "The opener says the snap completer currently only supports bash.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899815250" + }, + { + "id": "ghostty-3931:comment:2585933655", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-12T22:02:47Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2585933655", + "summary": "The opener confirms the cleanup, pushes one missing change and will avoid rebasing.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2603093481", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-20T19:08:15Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2603093481", + "summary": "The project lead says CI is the main blocker and he is still working with the provider.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2603830503", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-21T07:16:20Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2603830503", + "summary": "The opener considers the snap ready to land and proposes discussing store transfer and automated builds after merge.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1924217529", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2025-01-21T18:48:07Z", + "editedAt": "2025-01-21T18:50:32Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1924217529", + "summary": "A maintainer repeats his worry about users whose XDG paths differ from the defaults the launcher assumes.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1899814490" + }, + { + "id": "ghostty-3931:review:2565446884", + "kind": "review", + "actor": "tristan957", + "createdAt": "2025-01-21T18:49:33Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#pullrequestreview-2565446884", + "summary": "A maintainer asks whether the snap can expose Ghostty's bat, vim and neovim support files to those tools, then notes the change request was accidental.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2605735461", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-21T21:04:04Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2605735461", + "summary": "The opener asks how tools like neovim discover that Ghostty is installed.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2605738498", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-21T21:05:49Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2605738498", + "summary": "The opener says the XDG exports exist so config files are exposed correctly.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2605746941", + "kind": "comment", + "actor": "tristan957", + "createdAt": "2025-01-21T21:10:53Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2605746941", + "summary": "A maintainer replies that those files sit on default paths vim and neovim already search.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2605748567", + "kind": "comment", + "actor": "tristan957", + "createdAt": "2025-01-21T21:11:45Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2605748567", + "summary": "A maintainer presses that the exported XDG paths may not match a user's own settings.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2606342895", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-22T05:39:35Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2606342895", + "summary": "The opener says he made the XDG exports conditional.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2606344586", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-22T05:41:08Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2606344586", + "summary": "The opener explains the snap's read-only files appear under /snap/ghostty/current.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1925716481", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2025-01-22T17:36:34Z", + "editedAt": "2025-01-22T17:37:56Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1925716481", + "summary": "A maintainer asks whether launcher paths exist on all distributions or only inside the snap.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2607872768", + "kind": "comment", + "actor": "tristan957", + "createdAt": "2025-01-22T17:41:34Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2607872768", + "summary": "A maintainer thanks the opener and suggests documentation, probably on the website, telling snap users how to point their tools at the snap's support files.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1925929798", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2025-01-22T20:36:39Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1925929798", + "summary": "The opener says those paths live in the snap runtime so it works on Debian, Fedora and others, not just one Ubuntu release.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1925716481" + }, + { + "id": "ghostty-3931:comment:2608215902", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-22T20:37:58Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2608215902", + "summary": "The opener agrees and notes /snap/ghostty/current always points at the active revision.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2611292569", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-01-24T00:30:20Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2611292569", + "summary": "The project lead reports CI is stuck on an upstream craft-providers bug found by the CI provider.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2612359524", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-01-24T12:00:12Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2612359524", + "summary": "The opener points to his change in src/termio/Exec.zig that strips snap launch variables so they do not leak into the user's shell.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1929083993", + "kind": "review-comment", + "actor": "tristan957", + "createdAt": "2025-01-24T18:27:40Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1929083993", + "summary": "A maintainer questions unconditionally removing those variables and suggests stripping only the snap-added path entries.", + "actorId": 11936772, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review-comment:1929119827", + "kind": "review-comment", + "actor": "kenvandine", + "createdAt": "2025-01-24T19:03:33Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1929119827", + "summary": "The opener argues the snap library and driver paths would break host programs launched from the shell, and that user-set values are restored by shell startup files anyway.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:review-comment:1929083993" + }, + { + "id": "ghostty-3931:review-comment:1929136681", + "kind": "review-comment", + "actor": "jcollie", + "createdAt": "2025-01-24T19:20:57Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#discussion_r1929136681", + "summary": "A maintainer suggests a more idiomatic Zig way to test for the SNAP variable.", + "actorId": 740022, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2633737821", + "kind": "comment", + "actor": "lwbt", + "createdAt": "2025-02-04T12:17:47Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2633737821", + "summary": "A user notes the store snap lags behind the newly released 1.1.0 and asks for an update.", + "actorId": 16510356, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2634320823", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-02-04T15:30:24Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2634320823", + "summary": "The opener says updates will be automated after merge and he will carefully rebase to refresh the store build meanwhile.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2637736658", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-02-05T18:42:42Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2637736658", + "summary": "The project lead says he is waiting for the upstream snap fix because CI fails over half the time.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2637739623", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-02-05T18:44:07Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2637739623", + "summary": "The opener says the upstream team is working on it.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660428159", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-02-14T22:55:19Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660428159", + "summary": "The project lead says snap 8.6.2 has the fix and reruns CI.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660431694", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-02-14T22:57:43Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660431694", + "summary": "The project lead points out the build cannot derive a version because git describe finds no tags.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660446256", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-02-14T23:14:30Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660446256", + "summary": "The project lead says the jobs nearly passed apart from the version field.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660592327", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-02-15T01:01:37Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660592327", + "summary": "The opener suggests fetching with tags in the CI job.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660970099", + "kind": "comment", + "actor": "mitchellh", + "createdAt": "2025-02-15T15:23:32Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660970099", + "summary": "The project lead reports green tests, says he moved the environment cleanup from termio to the apprt layer, and plans to merge after another green run, leaving release management for later.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:review:2619434690", + "kind": "review", + "actor": "mitchellh", + "createdAt": "2025-02-15T15:29:04Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#pullrequestreview-2619434690", + "summary": "The project lead approves the PR.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:comment:2660981368", + "kind": "comment", + "actor": "kenvandine", + "createdAt": "2025-02-15T15:57:44Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931#issuecomment-2660981368", + "summary": "The opener reports testing across multiple Ubuntu releases plus Debian and Fedora.", + "actorId": 54789, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:process:merged:2025-02-15T17:24:37Z", + "kind": "process", + "actor": "mitchellh", + "createdAt": "2025-02-15T17:24:37Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931", + "summary": "The project lead merges the PR.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + }, + { + "id": "ghostty-3931:process:closed:2025-02-15T17:24:37Z", + "kind": "process", + "actor": "mitchellh", + "createdAt": "2025-02-15T17:24:37Z", + "url": "https://github.com/ghostty-org/ghostty/pull/3931", + "summary": "The PR is closed by the merge.", + "actorId": 1299, + "actorType": "human", + "parentId": "ghostty-3931:pr:3931" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-cmp-or.json b/evals/datasets/decisions-v1/cases/go-cmp-or.json new file mode 100644 index 000000000..ffdc77be5 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-cmp-or.json @@ -0,0 +1,1032 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-cmp-or", + "title": "Adding cmp.Or (originally strings.First)", + "source": { + "url": "https://github.com/golang/go/issues/60204", + "retrievedAt": "2026-10-18T07:30:08.433067+00:00", + "repository": "golang/go", + "number": 60204 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-05-15T16:00:00Z" + }, + { + "id": "c2", + "at": "2023-05-30T00:00:00Z" + }, + { + "id": "c3", + "at": "2023-06-28T21:00:00Z" + }, + { + "id": "c4", + "at": "2023-06-28T23:00:00Z" + } + ], + "events": [ + { + "id": "go-60204:issue:60204", + "kind": "opening", + "actor": "earthboundkid", + "createdAt": "2023-05-15T14:46:54Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "A contributor proposes strings.First, returning the first non-empty string argument, with archive/tar examples of the default-value pattern it would simplify.", + "actorId": 222245, + "actorType": "human" + }, + { + "id": "go-60204:comment:1548244065", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2023-05-15T17:14:36Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548244065", + "summary": "A Go team member closes it as a duplicate of an older issue.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:closed:2023-05-15T17:14:36Z", + "kind": "process", + "actor": "seankhliao", + "createdAt": "2023-05-15T17:14:36Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The Go team member closes the issue as not planned.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548475609", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-15T19:47:08Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548475609", + "summary": "The opener objects that the older issue predates the proposal process and was never formally evaluated.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548501489", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2023-05-15T20:06:28Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548501489", + "summary": "The Go team member says the earlier decision still stands.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548518225", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-15T20:18:25Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548518225", + "summary": "The opener argues five mixed comments are not a real evaluation and the earlier reviewer had invited more discussion.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548540189", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2023-05-15T20:37:35Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548540189", + "summary": "The Go team member says it clearly does not belong in strings and a similar slices idea was declined.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548551887", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-15T20:47:22Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548551887", + "summary": "The opener says a generic slices version would be awkward and asks for a real discussion.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548780916", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-05-16T00:09:24Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548780916", + "summary": "A Go team member agrees the old issue lacked full review, reopens it, and asks for more examples and what a bytes version would look like.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:reopened:2023-05-16T00:09:25Z", + "kind": "process", + "actor": "ianlancetaylor", + "createdAt": "2023-05-16T00:09:25Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The Go team member reopens the issue.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1548845655", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-16T01:45:42Z", + "editedAt": "2023-05-16T01:46:15Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1548845655", + "summary": "The opener reports years of personal use and argues the tar examples read more clearly, while expecting little use of a bytes variant.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1550320945", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-16T20:33:05Z", + "editedAt": "2023-05-16T20:38:33Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1550320945", + "summary": "The opener surveys public code and finds many hand-written copies in Kubernetes, Istio, Grafana and others.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1550337104", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-05-16T20:45:49Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1550337104", + "summary": "A Go team member thanks them for the data.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1550369151", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-05-16T21:18:57Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1550369151", + "summary": "A Go team member shows a generic version over comparable types, noting it suits configuration defaults.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1550383266", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-16T21:34:19Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1550383266", + "summary": "The opener says in practice they only use the string version and defends a variadic signature.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1550433203", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-16T22:22:06Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1550433203", + "summary": "A user warns the zero value is not a reliable absence marker for every type.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551846484", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-17T18:09:34Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551846484", + "summary": "The proposal review lead finds it useful but questions the name First and points to or from text/template and Lisp.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551873856", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-05-17T18:30:46Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551873856", + "summary": "A Go team member compares it to the new min and max builtins.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551913534", + "kind": "comment", + "actor": "cespare", + "createdAt": "2023-05-17T19:05:09Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551913534", + "summary": "A contributor says it is not really string-specific, would use it for other types, and floats slices.Or or slices.FirstNonZero.", + "actorId": 318501, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551925115", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-17T19:15:22Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551925115", + "summary": "The proposal review lead adds it to the active proposal review queue.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551963119", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-17T19:51:54Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551963119", + "summary": "The opener links a related default-value operator proposal.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551964543", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-17T19:53:24Z", + "editedAt": "2023-05-17T19:54:21Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551964543", + "summary": "The opener prefers a variadic form and would accept strings.FirstNonZero.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1551970184", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-17T19:58:41Z", + "editedAt": "2023-05-17T19:59:45Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1551970184", + "summary": "The opener muses about a bools package with Or and Cond but doubts Cond fits Go.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1552190372", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-17T22:59:21Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1552190372", + "summary": "A user notes most uses are environment configuration and wonders whether ad hoc copies are fine.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1552213743", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-05-17T23:35:39Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1552213743", + "summary": "A Go team member says comparable excludes callbacks, a common case for defaults.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1552255164", + "kind": "comment", + "actor": "leaxoy", + "createdAt": "2023-05-18T00:41:29Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1552255164", + "summary": "A user suggests a more general Nth-style accessor instead.", + "actorId": 8556349, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1552418466", + "kind": "comment", + "actor": "mibk", + "createdAt": "2023-05-18T05:27:24Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1552418466", + "summary": "A contributor compares it to SQL COALESCE.", + "actorId": 2324898, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1556049918", + "kind": "comment", + "actor": "mpx", + "createdAt": "2023-05-21T00:22:27Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1556049918", + "summary": "A contributor says they use it beyond strings, such as picking the first error.", + "actorId": 1345076, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1556052644", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-21T00:42:07Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1556052644", + "summary": "The opener says errors.Join covers that case.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1556065322", + "kind": "comment", + "actor": "mpx", + "createdAt": "2023-05-21T02:17:22Z", + "editedAt": "2023-05-21T02:18:01Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1556065322", + "summary": "The contributor notes extra errors are often noise, so Join is not always right.", + "actorId": 1345076, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1561861184", + "kind": "comment", + "actor": "golightlyb", + "createdAt": "2023-05-24T20:07:27Z", + "editedAt": "2023-05-24T20:13:14Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1561861184", + "summary": "A contributor votes for a two-argument Default, as suggested in the related issue.", + "actorId": 1810143, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1561900652", + "kind": "comment", + "actor": "cespare", + "createdAt": "2023-05-24T20:43:27Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1561900652", + "summary": "A contributor favours a generic variadic slices.Coalesce.", + "actorId": 318501, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1561909267", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-05-24T20:51:14Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1561909267", + "summary": "A Go team member notes it would be limited to comparable types for now.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1563181567", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-25T16:21:01Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1563181567", + "summary": "The opener argues evidence supports a strings version and suggests strings.Coalesce now, revisiting generics later.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1565973035", + "kind": "comment", + "actor": "jarrodhroberson", + "createdAt": "2023-05-28T07:52:45Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1565973035", + "summary": "A user dislikes First as a name and argues the function is too trivial for the standard library.", + "actorId": 155647, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1566207273", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-28T17:28:01Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1566207273", + "summary": "The opener says usage clears the bar for strings, but a generic version has no natural package.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1567488536", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-05-29T20:24:24Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1567488536", + "summary": "A Go team member weighs strings.Coalesce, an operator, a comparable-limited slices.Coalesce and a builtin, leaning to a builtin.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1567578853", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-05-29T22:58:07Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1567578853", + "summary": "A Go team member says any operator should reuse || rather than add a new one, without endorsing that path.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581245334", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-07T17:34:18Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581245334", + "summary": "The proposal review lead proposes cmp.Or over comparable types, citing env-var defaults in the go command and the name's use in other languages.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581253077", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-07T17:42:35Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581253077", + "summary": "A Go team member finds the comparable limit too restrictive.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581253122", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-07T17:42:39Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581253122", + "summary": "The same member suggests a dedicated os.GetenvOr too.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581304569", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-06-07T18:21:52Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581304569", + "summary": "A Go team member asks how a version covering slices, maps and funcs could be written.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581308338", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-07T18:24:42Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581308338", + "summary": "The opener accepts cmp.Or.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:renamed:2023-06-07T18:24:57Z", + "kind": "process", + "actor": "earthboundkid", + "createdAt": "2023-06-07T18:24:57Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The opener renames the proposal to cmp.Or.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581309069", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-07T18:25:15Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581309069", + "summary": "The opener notes the rename.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581317930", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-07T18:30:43Z", + "editedAt": "2023-06-07T19:19:34Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581317930", + "summary": "A Go team member suggests a runtime zero-check to support funcs.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1581346946", + "kind": "comment", + "actor": "zephyrtronium", + "createdAt": "2023-06-07T18:54:14Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1581346946", + "summary": "A contributor asks whether a coalescing operator would make cmp.Or redundant.", + "actorId": 1428115, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1582994526", + "kind": "comment", + "actor": "gazerro", + "createdAt": "2023-06-08T16:28:15Z", + "editedAt": "2023-06-08T16:29:07Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1582994526", + "summary": "A contributor shows code an || operator could shorten.", + "actorId": 891354, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583019103", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-08T16:48:45Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583019103", + "summary": "A Go team member says types would not match.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583100721", + "kind": "comment", + "actor": "gazerro", + "createdAt": "2023-06-08T17:57:47Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583100721", + "summary": "The contributor suggests special typing rules for that case.", + "actorId": 891354, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583105548", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-08T18:01:50Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583105548", + "summary": "The Go team member says that breaks how binary operators work.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583115921", + "kind": "comment", + "actor": "gazerro", + "createdAt": "2023-06-08T18:10:07Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583115921", + "summary": "The contributor says it is a matter of whether it is worth it.", + "actorId": 891354, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583433480", + "kind": "comment", + "actor": "seh", + "createdAt": "2023-06-08T21:47:37Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583433480", + "summary": "A contributor says that amounts to a ternary operator.", + "actorId": 175841, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583623448", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-09T00:00:16Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583623448", + "summary": "A Go team member shows two ways to write a generic zero test today.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583649794", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-06-09T00:08:56Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583649794", + "summary": "A Go team member notes the zero test is trivial for comparable types.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583708892", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-09T00:54:59Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583708892", + "summary": "A Go team member says future language changes would make the general version simple.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1583931764", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-09T03:52:20Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1583931764", + "summary": "The Go team member argues for a general version now or holding the proposal, fearing a comparable constraint would be locked in.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1584604039", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-09T13:45:43Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1584604039", + "summary": "The opener argues loosening a generic constraint later is compatible.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1584607336", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-09T13:48:13Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1584607336", + "summary": "The opener says a restricted form is clearer than a full ternary.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1584788769", + "kind": "comment", + "actor": "seh", + "createdAt": "2023-06-09T15:40:56Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1584788769", + "summary": "The contributor clarifies they were responding to the operator example.", + "actorId": 175841, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1591726187", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-14T17:43:03Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1591726187", + "summary": "The proposal review lead confirms loosening the constraint later would not break anything, so the comparable version need not wait.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1591731362", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2023-06-14T17:47:35Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1591731362", + "summary": "The Go team member accepts the limitation given that.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1591818660", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-14T18:57:29Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1591818660", + "summary": "The opener finds cmp.Or less readable than strings.First in the tar example but is fine either way.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1596363144", + "kind": "comment", + "actor": "benhoyt", + "createdAt": "2023-06-19T01:41:17Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1596363144", + "summary": "A contributor finds Or unclear and prefers Default.", + "actorId": 999033, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601270235", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-21T17:14:39Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601270235", + "summary": "The proposal review lead says people will get used to the name, as with strings.Cut.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601579064", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-21T19:50:17Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601579064", + "summary": "The proposal review lead marks it likely accept.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:labeled:2023-06-21T19:50:18Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-06-21T19:50:18Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The proposal review lead adds the final comment period label.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601630580", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-21T20:32:46Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601630580", + "summary": "The opener floats strings.Or alongside cmp.Or but calls it redundant.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601640689", + "kind": "comment", + "actor": "benhoyt", + "createdAt": "2023-06-21T20:39:25Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601640689", + "summary": "The contributor says the issue is prefix call readability, but concedes people may adapt.", + "actorId": 999033, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601820737", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-06-21T23:32:22Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601820737", + "summary": "A user shows new type inference can instantiate Or with an interface type, so a typed nil is returned as non-zero.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601829033", + "kind": "comment", + "actor": "DeedleFake", + "createdAt": "2023-06-21T23:47:08Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601829033", + "summary": "A user asks whether Or should detect true nil.", + "actorId": 326750, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:cross-referenced:2023-06-22T00:03:06Z", + "kind": "process", + "actor": "earthboundkid", + "createdAt": "2023-06-22T00:03:06Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The opener links a PR adding cmp.Or.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601841847", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2023-06-22T00:07:20Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601841847", + "summary": "A bot links the CL adding cmp.Or.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601858457", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-06-22T00:34:57Z", + "editedAt": "2023-06-22T00:37:17Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601858457", + "summary": "A user suggests constraining to underlying basic types instead.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1601865792", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-06-22T00:48:32Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1601865792", + "summary": "A Go team member files a separate issue for the inference concern.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1603637426", + "kind": "comment", + "actor": "hherman1", + "createdAt": "2023-06-23T03:34:26Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1603637426", + "summary": "A user questions whether Or should be generic given interface pitfalls.", + "actorId": 611822, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1603648819", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-06-23T03:58:17Z", + "editedAt": "2023-06-23T03:58:48Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1603648819", + "summary": "The opener gives an example where the interface case works fine.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1603666829", + "kind": "comment", + "actor": "hherman1", + "createdAt": "2023-06-23T04:31:33Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1603666829", + "summary": "The user says a nillable pointer field still breaks it.", + "actorId": 611822, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1605004721", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-06-23T21:32:06Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1605004721", + "summary": "A Go team member says the typed-nil pitfall is a known language issue that should not block cmp.Or.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1612160867", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-28T22:00:09Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1612160867", + "summary": "The proposal review lead declares it accepted with no change in consensus.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:renamed:2023-06-28T22:00:10Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-06-28T22:00:10Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The proposal review lead drops the proposal prefix.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:labeled:2023-06-28T22:00:11Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-06-28T22:00:11Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The proposal review lead adds Proposal-Accepted.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:unlabeled:2023-06-28T22:00:12Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-06-28T22:00:12Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "The proposal review lead removes the final comment period label.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1642020414", + "kind": "comment", + "actor": "mibk", + "createdAt": "2023-07-19T12:46:52Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1642020414", + "summary": "A contributor questions whether cmp is the right package for Or, given its stated purpose.", + "actorId": 2324898, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1642578738", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-07-19T18:43:40Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1642578738", + "summary": "The opener mentions a past Xor helper they dropped.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1669921003", + "kind": "comment", + "actor": "jub0bs", + "createdAt": "2023-08-08T16:17:07Z", + "editedAt": "2023-08-09T17:12:43Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1669921003", + "summary": "A contributor argues it does not belong in the standard library at all.", + "actorId": 52325150, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1671657235", + "kind": "comment", + "actor": "mrclmr", + "createdAt": "2023-08-09T15:44:54Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1671657235", + "summary": "A late contributor says the thumbs on the opening made them think it would not pass, and worries cmp.Or becomes a backdoor ternary.", + "actorId": 3398801, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1671727840", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-08-09T16:09:46Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1671727840", + "summary": "The opener says plain assignment remains clearer there and expects little misuse.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:comment:1672081886", + "kind": "comment", + "actor": "mrclmr", + "createdAt": "2023-08-09T20:13:47Z", + "url": "https://github.com/golang/go/issues/60204#issuecomment-1672081886", + "summary": "The contributor remains wary of long-term readability but accepts the cited uses.", + "actorId": 3398801, + "actorType": "human", + "parentId": "go-60204:issue:60204" + }, + { + "id": "go-60204:process:closed:2023-09-25T14:31:02Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2023-09-25T14:31:02Z", + "url": "https://github.com/golang/go/issues/60204", + "summary": "A bot closes the issue when the implementation lands.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60204:issue:60204" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-drop-binary-only-packages.json b/evals/datasets/decisions-v1/cases/go-drop-binary-only-packages.json new file mode 100644 index 000000000..e58862ac2 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-drop-binary-only-packages.json @@ -0,0 +1,926 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-drop-binary-only-packages", + "title": "Dropping binary-only packages from cmd/go", + "source": { + "url": "https://github.com/golang/go/issues/28152", + "retrievedAt": "2026-10-18T07:30:31.465919+00:00", + "repository": "golang/go", + "number": 28152 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-10-11T15:27:00Z" + }, + { + "id": "c2", + "at": "2018-10-19T13:50:00Z" + }, + { + "id": "c3", + "at": "2018-10-31T12:00:00Z" + }, + { + "id": "c4", + "at": "2018-10-31T18:30:00Z" + } + ], + "events": [ + { + "id": "go-28152:issue:28152", + "kind": "opening", + "actor": "rsc", + "createdAt": "2018-10-11T15:25:18Z", + "url": "https://github.com/golang/go/issues/28152", + "summary": "A Go team member proposes removing binary-only packages, because a binary compiled against different dependency versions can cause silent memory corruption, and asks who still needs them and why.", + "actorId": 104030, + "actorType": "human" + }, + { + "id": "go-28152:comment:429000290", + "kind": "comment", + "actor": "bradfitz", + "createdAt": "2018-10-11T15:30:00Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429000290", + "summary": "A Go team member supports removal for simpler code and suggests source obfuscation for the teaching use case.", + "actorId": 2621, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429002790", + "kind": "comment", + "actor": "rsc", + "createdAt": "2018-10-11T15:36:29Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429002790", + "summary": "The proposer pings the authors of past binary-only package issues and asks colleagues about internal Google use.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429010246", + "kind": "comment", + "actor": "neild", + "createdAt": "2018-10-11T15:54:02Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429010246", + "summary": "A Go team member knows of no internal Google users.", + "actorId": 52544, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429022343", + "kind": "comment", + "actor": "cznic", + "createdAt": "2018-10-11T16:25:14Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429022343", + "summary": "A contributor backs the proposal but notes closed-source vendors rely on the feature to feel their IP is safe.", + "actorId": 729580, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429101599", + "kind": "comment", + "actor": "asynkayo", + "createdAt": "2018-10-11T20:12:33Z", + "editedAt": "2018-10-11T22:20:54Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429101599", + "summary": "A user says plugins would need to stop panicking on version mismatches and support unloading to replace vendored binary SDKs.", + "actorId": 779, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429585521", + "kind": "comment", + "actor": "triztian", + "createdAt": "2018-10-14T00:08:06Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429585521", + "summary": "A user describes shipping an enterprise SDK as a binary-only package to protect licensed IP and resist modification, and opposes removal by comparing other languages' binary libraries.", + "actorId": 423034, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:429596942", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2018-10-14T05:02:41Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-429596942", + "summary": "A Go team member says the one internal Google case was solved by moving off binary packages.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431091209", + "kind": "comment", + "actor": "rsc", + "createdAt": "2018-10-18T17:17:21Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431091209", + "summary": "The proposer cross-posts to golang-nuts to gather more use cases.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431208565", + "kind": "comment", + "actor": "wsc1", + "createdAt": "2018-10-19T00:41:31Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431208565", + "summary": "A user asks whether plugins or c-archive build modes could stand in, wrapped by a thin source package.", + "actorId": 19166423, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431368339", + "kind": "comment", + "actor": "rsc", + "createdAt": "2018-10-19T13:45:30Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431368339", + "summary": "The proposer agrees plugins are a sensible replacement since they already detect API mismatches, and one mechanism beats two.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431370627", + "kind": "comment", + "actor": "joshlf", + "createdAt": "2018-10-19T13:52:57Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431370627", + "summary": "A user asks whether plugins lose link-time optimisations compared with binary packages.", + "actorId": 1046063, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431373818", + "kind": "comment", + "actor": "asynkayo", + "createdAt": "2018-10-19T14:03:00Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431373818", + "summary": "A user supports removal but lists plugin pain points: no unloading and conflicts with vendored shared dependencies.", + "actorId": 779, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431461013", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2018-10-19T18:46:47Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431461013", + "summary": "A Go team member doubts plugins are measurably slower in any realistic case.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:431524932", + "kind": "comment", + "actor": "wsc1", + "createdAt": "2018-10-19T23:16:36Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-431524932", + "summary": "The user who raised plugins says wrapping a plugin behind stub source looks feasible.", + "actorId": 19166423, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:432772694", + "kind": "comment", + "actor": "rsc", + "createdAt": "2018-10-24T18:21:10Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-432772694", + "summary": "The proposer says the thread points toward retiring the feature in favour of plugins, announcing it in Go 1.12 notes and removing it in 1.13, after one more week open.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:434788216", + "kind": "comment", + "actor": "andybons", + "createdAt": "2018-10-31T17:59:29Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-434788216", + "summary": "A proposal reviewer marks it accepted after a quiet week, on behalf of the proposal review group.", + "actorId": 365204, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:process:labeled:2018-10-31T17:59:42Z", + "kind": "process", + "actor": "andybons", + "createdAt": "2018-10-31T17:59:42Z", + "url": "https://github.com/golang/go/issues/28152", + "summary": "The proposal reviewer adds the Proposal-Accepted label.", + "actorId": 365204, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:process:renamed:2018-10-31T17:59:48Z", + "kind": "process", + "actor": "andybons", + "createdAt": "2018-10-31T17:59:48Z", + "url": "https://github.com/golang/go/issues/28152", + "summary": "The proposal reviewer drops the proposal prefix from the title.", + "actorId": 365204, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438293356", + "kind": "comment", + "actor": "edburns", + "createdAt": "2018-11-13T14:52:05Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438293356", + "summary": "A user argues closed-source dependencies are essential for corporate adoption.", + "actorId": 75821, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438295813", + "kind": "comment", + "actor": "mvdan", + "createdAt": "2018-11-13T14:58:37Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438295813", + "summary": "A Go team member replies that plugins still allow compiled binaries and no clear reason against them surfaced.", + "actorId": 3576549, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438298852", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2018-11-13T15:06:47Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438298852", + "summary": "A Go team member asks whether the user has direct experience and how those firms handle Python or JavaScript.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438648909", + "kind": "comment", + "actor": "edburns", + "createdAt": "2018-11-14T12:42:38Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438648909", + "summary": "The user cites plugin drawbacks such as shared-object linking complexity and missing non-Linux support.", + "actorId": 75821, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438658227", + "kind": "comment", + "actor": "mvdan", + "createdAt": "2018-11-14T13:17:32Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438658227", + "summary": "A Go team member argues binary packages never worked well for vendors and points to the Windows plugin issue as better use of effort.", + "actorId": 3576549, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:438690758", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2018-11-14T14:57:51Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-438690758", + "summary": "A Go team member says direct experience matters more than hypotheticals.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:439036302", + "kind": "comment", + "actor": "oszika", + "createdAt": "2018-11-15T13:16:07Z", + "editedAt": "2018-11-15T14:05:10Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-439036302", + "summary": "A user asks about vendoring with plugins and notes multiple plugins need identical dependency versions.", + "actorId": 21699894, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:442351992", + "kind": "comment", + "actor": "twyvip", + "createdAt": "2018-11-28T07:51:33Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-442351992", + "summary": "A user posts a repro where building a plugin fails against a binary-only dependency.", + "actorId": 34471052, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:442461519", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2018-11-28T14:16:23Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-442461519", + "summary": "A Go team member asks how that report relates to the proposal.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:444794094", + "kind": "comment", + "actor": "massimiliano-mantione", + "createdAt": "2018-12-06T08:47:03Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-444794094", + "summary": "A user describes shipping prebuilt cross-compiled cgo wrappers for students and asks if removal is still planned.", + "actorId": 426352, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:444875635", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2018-12-06T13:46:56Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-444875635", + "summary": "A Go team member recommends a plugin for that case.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:444881749", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2018-12-06T14:07:00Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-444881749", + "summary": "A bot links a CL announcing the end of binary-only package support in the docs.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:445033985", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2018-12-06T21:22:20Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-445033985", + "summary": "A Go team member suggests per-platform .syso object files as another option for that cgo case.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:457434696", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2019-01-25T02:37:50Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-457434696", + "summary": "A bot links a CL that makes cmd/go warn binary packages are going away.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:466670987", + "kind": "comment", + "actor": "dzpt", + "createdAt": "2019-02-23T17:25:19Z", + "editedAt": "2019-02-27T07:40:51Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-466670987", + "summary": "A user argues plugins are far clumsier than binary packages for exposing a whole framework and wants IP protection for paid SDKs.", + "actorId": 5781080, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:466770135", + "kind": "comment", + "actor": "gen0cide", + "createdAt": "2019-02-24T12:34:08Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-466770135", + "summary": "A user suggests vendors ship a proxy package that hides the plugin-loading boilerplate.", + "actorId": 1515437, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:466777865", + "kind": "comment", + "actor": "dzpt", + "createdAt": "2019-02-24T13:41:46Z", + "editedAt": "2019-02-24T13:42:06Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-466777865", + "summary": "The framework user replies that converting a large framework into plugins is impractical.", + "actorId": 5781080, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467467596", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-26T14:51:16Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467467596", + "summary": "A user says the change will break their SDK distribution, proposes tying binary builds to go.mod versions instead, and notes most people only learned of it from the 1.12 release notes.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467472515", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-02-26T15:03:19Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467472515", + "summary": "A Go team member says the mailing list was used to raise awareness and clarifies that binaries shipped alongside source still work.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467499325", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-26T16:06:37Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467499325", + "summary": "The SDK vendor explains their licensing model depends on not shipping source.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467540091", + "kind": "comment", + "actor": "mvdan", + "createdAt": "2019-02-26T17:45:34Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467540091", + "summary": "A Go team member asks for a concrete case where plugins cannot work.", + "actorId": 3576549, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467545979", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-26T18:00:49Z", + "editedAt": "2019-02-26T18:01:12Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467545979", + "summary": "The SDK vendor says plugins can work but cost performance and force heavy reflection.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467547058", + "kind": "comment", + "actor": "dzpt", + "createdAt": "2019-02-26T18:03:49Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467547058", + "summary": "The framework user points back to their earlier example.", + "actorId": 5781080, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467567596", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-26T19:00:19Z", + "editedAt": "2019-02-26T19:07:28Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467567596", + "summary": "The SDK vendor shows a struct-based API that plugins cannot express easily and notes plugins do not run on Windows.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467662046", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-26T23:43:52Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467662046", + "summary": "A user says their company must abandon a paid SDK built on binary-only packages and is moving to C++.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467662546", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-02-26T23:46:04Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467662546", + "summary": "A Go team member says they will consider it, reiterating that the feature is unreliable.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467664074", + "kind": "comment", + "actor": "yslim", + "createdAt": "2019-02-26T23:52:33Z", + "editedAt": "2019-02-26T23:56:21Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467664074", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 1180222, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467669992", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-27T00:18:30Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467669992", + "summary": "The SDK vendor asks for a close drop-in replacement before removal, since plugins lack type definitions.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467688268", + "kind": "comment", + "actor": "triztian", + "createdAt": "2019-02-27T01:39:53Z", + "editedAt": "2019-02-27T01:40:36Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467688268", + "summary": "A user asks if plugins could eventually export struct types.", + "actorId": 423034, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467689864", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-27T01:47:16Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467689864", + "summary": "The company user says plugin type lookups are impractical across many types.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467764033", + "kind": "comment", + "actor": "yslim", + "createdAt": "2019-02-27T08:08:29Z", + "editedAt": "2019-02-27T08:10:55Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467764033", + "summary": "A user shares a plugin experiment and finds it a workable replacement for their case.", + "actorId": 1180222, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467771936", + "kind": "comment", + "actor": "dzpt", + "createdAt": "2019-02-27T08:36:06Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467771936", + "summary": "The framework user counters that the experiment needs ten times more code than a binary package.", + "actorId": 5781080, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467794350", + "kind": "comment", + "actor": "gen0cide", + "createdAt": "2019-02-27T09:43:38Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467794350", + "summary": "A user defends removal, arguing vendors could generate plugin interfaces and that binary packages hurt users' docs and compatibility.", + "actorId": 1515437, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467812613", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-27T10:39:11Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467812613", + "summary": "The company user explains the problem is contractual commitments to customers, not the technical rationale.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467858573", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-27T13:19:19Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467858573", + "summary": "The SDK vendor says plugins are not ready on Windows and lack struct types.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467870031", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-02-27T13:54:54Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467870031", + "summary": "A Go team member repeats that the feature can silently corrupt memory.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467870845", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-02-27T13:57:22Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467870845", + "summary": "A Go team member says that since real use cases have now surfaced, the team will re-evaluate and welcomes help on the technical issues.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467913817", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-27T15:46:01Z", + "editedAt": "2019-02-27T16:06:59Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467913817", + "summary": "The company user thanks them.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:467996183", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-02-27T19:24:58Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-467996183", + "summary": "The proposer notes compiled .a files leak much source detail and asks whether a source obfuscator would satisfy vendors.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468005459", + "kind": "comment", + "actor": "mirtchovski", + "createdAt": "2019-02-27T19:51:49Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468005459", + "summary": "A contributor warns that an obfuscator would also help malware authors.", + "actorId": 2047078, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468011170", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-27T20:08:16Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468011170", + "summary": "The company user reports their customers' legal teams rejected obfuscation.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468013039", + "kind": "comment", + "actor": "bradfitz", + "createdAt": "2019-02-27T20:14:02Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468013039", + "summary": "A Go team member suggests educating the legal team.", + "actorId": 2621, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468013624", + "kind": "comment", + "actor": "gen0cide", + "createdAt": "2019-02-27T20:15:53Z", + "editedAt": "2019-02-27T20:17:32Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468013624", + "summary": "A user doubts obfuscators are worth it and proposes a tool that generates plugin wrapper code from export comments.", + "actorId": 1515437, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468018417", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-02-27T20:30:38Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468018417", + "summary": "The company user says it is the customer's lawyers and asks for a more structured change process.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468018680", + "kind": "comment", + "actor": "gen0cide", + "createdAt": "2019-02-27T20:31:26Z", + "editedAt": "2019-02-27T20:33:03Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468018680", + "summary": "A user argues security concerns should not block an obfuscator.", + "actorId": 1515437, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468026964", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-27T20:56:10Z", + "editedAt": "2019-02-27T20:59:47Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468026964", + "summary": "The SDK vendor likes the generator idea but says plugins must work on all major platforms first.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468048597", + "kind": "comment", + "actor": "mvdan", + "createdAt": "2019-02-27T22:02:12Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468048597", + "summary": "A Go team member narrows the blockers to Windows support and exported types, and floats holding the proposal until those are considered.", + "actorId": 3576549, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468052512", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-27T22:15:05Z", + "editedAt": "2019-02-27T22:15:21Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468052512", + "summary": "The SDK vendor agrees plugins plus a generator could replace binary packages if those gaps close.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468300543", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-02-28T14:50:24Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468300543", + "summary": "The proposer dismisses the malware concern.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468302347", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-02-28T14:54:46Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468302347", + "summary": "The proposer says the feature barely works in 1.12 and will not work in 1.13, that 1.12 remains usable, and points to obfuscation or better plugins as the paths forward.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:468398022", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-02-28T19:09:16Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-468398022", + "summary": "The SDK vendor asks why not wait until plugins mature.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:469793164", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-03-05T18:19:08Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-469793164", + "summary": "A Go team member replies it already does not work and modules will break it further.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:470244161", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2019-03-06T19:32:10Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-470244161", + "summary": "A bot links the CL that removes binary-only package support.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:process:closed:2019-03-06T20:08:46Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2019-03-06T20:08:46Z", + "url": "https://github.com/golang/go/issues/28152", + "summary": "A bot closes the issue when the removal CL lands.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:470260098", + "kind": "comment", + "actor": "fbnz156", + "createdAt": "2019-03-06T20:17:17Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-470260098", + "summary": "The SDK vendor objects that several production users show it does work.", + "actorId": 1192154, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:470268610", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-03-06T20:42:56Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-470268610", + "summary": "A Go team member says common build flags break it, so it only works in narrow cases.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:470817309", + "kind": "comment", + "actor": "mikeschinkel", + "createdAt": "2019-03-08T06:08:13Z", + "editedAt": "2019-03-08T06:11:05Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-470817309", + "summary": "A user asks for a standard cross-compiler extension mechanism since plugins need the same compiler and lack Windows support.", + "actorId": 153285, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:481616019", + "kind": "comment", + "actor": "shuxiao9058", + "createdAt": "2019-04-10T09:31:30Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-481616019", + "summary": "A user asks to keep the feature to protect source code.", + "actorId": 3312525, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:481692955", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-04-10T13:34:10Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-481692955", + "summary": "A Go team member asks what the code needs protecting from.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:481702169", + "kind": "comment", + "actor": "cpipero", + "createdAt": "2019-04-10T13:57:52Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-481702169", + "summary": "The company user accepts the decision but calls it a failure and says they moved to C++.", + "actorId": 1840311, + "actorType": "human", + "parentId": "go-28152:issue:28152" + }, + { + "id": "go-28152:comment:492022081", + "kind": "comment", + "actor": "robaho", + "createdAt": "2019-05-13T23:25:20Z", + "url": "https://github.com/golang/go/issues/28152#issuecomment-492022081", + "summary": "A user notes plugins force public structs, which makes migration much more work.", + "actorId": 4958833, + "actorType": "human", + "parentId": "go-28152:issue:28152" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-loopvar-per-iteration.json b/evals/datasets/decisions-v1/cases/go-loopvar-per-iteration.json new file mode 100644 index 000000000..0e90fab08 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-loopvar-per-iteration.json @@ -0,0 +1,1681 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-loopvar-per-iteration", + "title": "Go per-iteration loop variables", + "source": { + "url": "https://github.com/golang/go/issues/60078", + "retrievedAt": "2026-10-18T07:00:45.118123+00:00", + "repository": "golang/go", + "number": 60078 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-05-09T15:50:00Z" + }, + { + "id": "c2", + "at": "2023-05-10T15:47:00Z" + }, + { + "id": "c3", + "at": "2023-07-12T19:00:00Z" + }, + { + "id": "c4", + "at": "2023-07-20T00:00:00Z" + } + ], + "events": [ + { + "id": "go-60078:issue:60078", + "kind": "opening", + "actor": "rsc", + "createdAt": "2023-05-09T15:36:18Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The opener, a Go team lead, proposes making `:=` for-loop variables per-iteration instead of per-loop, gated on the go.mod go version so existing code keeps old behaviour; cites Google codebase data (about 1 in 8,000 package tests broke, almost always buggy tests), a GOEXPERIMENT=loopvar compiler mode, a bisect tool, and pre-proposal discussion #56010.", + "actorId": 104030, + "actorType": "human" + }, + { + "id": "go-60078:comment:1540461493", + "kind": "comment", + "actor": "seebs", + "createdAt": "2023-05-09T16:02:07Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1540461493", + "summary": "A contributor says the go.mod gating handles the compatibility concern and calls this the single real pitfall of Go, urging adoption.", + "actorId": 166725, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541399260", + "kind": "comment", + "actor": "ulikunitz", + "createdAt": "2023-05-10T06:01:32Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541399260", + "summary": "A contributor notes the new semantics should apply to go 1.22 and any later version line.", + "actorId": 8460565, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541407014", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-10T06:09:56Z", + "editedAt": "2023-05-11T14:04:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541407014", + "summary": "A contributor strongly opposes applying the change to three-clause for loops, arguing the desugaring is too implicit and contradicts intuition that one declaration yields one variable, while supporting it for range loops.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541413390", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-05-10T06:15:47Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541413390", + "summary": "A contributor points out the previous commenter misquoted the design doc's expansion.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541415624", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-10T06:18:38Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541415624", + "summary": "The previous commenter says the expansion has been corrected and the objection stands.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541418869", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-10T06:22:00Z", + "editedAt": "2023-05-10T06:23:50Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541418869", + "summary": "A contributor shows the current expansion for comparison, arguing the proposal adds only a copy in and copy out per iteration.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1541445862", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-10T06:52:21Z", + "editedAt": "2023-05-10T06:52:29Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1541445862", + "summary": "The three-clause critic acknowledges the small mistake but keeps the objection.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542285603", + "kind": "comment", + "actor": "davidmdm", + "createdAt": "2023-05-10T14:10:50Z", + "editedAt": "2023-05-10T14:11:33Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542285603", + "summary": "A user supports the proposal but asks whether modifying the loop variable inside a three-clause loop body still affects later iterations.", + "actorId": 12768642, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542293543", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-10T14:16:00Z", + "editedAt": "2023-05-10T14:16:42Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542293543", + "summary": "The three-clause critic answers that the example behaves the same, but other use cases do change.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542318335", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-10T14:34:14Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542318335", + "summary": "A contributor sees no argument that distinguishes three-clause loops from range loops, and says differing semantics between them would confuse.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542410876", + "kind": "comment", + "actor": "davidmdm", + "createdAt": "2023-05-10T15:29:30Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542410876", + "summary": "The user replies that JavaScript and Python print 0, 2, 4 for such loops and Go would be unusual otherwise.", + "actorId": 12768642, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542417710", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-05-10T15:34:38Z", + "editedAt": "2023-05-10T15:35:41Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542417710", + "summary": "A contributor explains the transformed code carries the final value forward to the next iteration, so the example still prints 0, 2, 4 and only capture by address or closure changes.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542419062", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-10T15:35:38Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542419062", + "summary": "The opener confirms the example is unaffected, likens the new semantics to JavaScript let, points to the design doc, and invites people to test with gotip and GOEXPERIMENT=loopvar.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542432441", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-10T15:46:06Z", + "editedAt": "2023-05-10T16:09:32Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542432441", + "summary": "The opener argues three-clause loops must change too, otherwise the hazard remains when converting between loop forms; he cites real repository fixes and Google test failures in which no correct three-clause loop broke, and asks critics for real-world counterexamples.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542434919", + "kind": "comment", + "actor": "davidmdm", + "createdAt": "2023-05-10T15:48:03Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542434919", + "summary": "The user who raised the three-clause question says he misunderstood and now fully supports the proposal.", + "actorId": 12768642, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542470673", + "kind": "comment", + "actor": "mcandre", + "createdAt": "2023-05-10T16:08:37Z", + "editedAt": "2023-05-10T16:10:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542470673", + "summary": "A user calls the capture problem a safety concern and urges adopting the fix quickly.", + "actorId": 5316, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542780587", + "kind": "comment", + "actor": "cep21", + "createdAt": "2023-05-10T20:40:13Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542780587", + "summary": "A user supports the change but worries that tools like dependabot auto-bump the go line, so a minor go.mod edit could change behaviour; asks what mental model reviewers should hold.", + "actorId": 20358, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542809524", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-10T21:05:42Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542809524", + "summary": "The opener replies that a go line bump should be treated like any dependency upgrade that is intended to be compatible but must be tested, and notes GODEBUG settings will also key on the go line.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1542862438", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-10T21:55:58Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1542862438", + "summary": "The opener, for the proposal review group, moves the proposal into the active column for weekly review.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1544324607", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-11T16:42:29Z", + "editedAt": "2023-05-15T08:50:50Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1544324607", + "summary": "The three-clause critic restates support for changing range loops only, argues three-clause semantics become counter-intuitive, and offers two contrived examples whose behaviour or copying cost would change.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1544348289", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-11T16:58:22Z", + "editedAt": "2023-05-11T17:04:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1544348289", + "summary": "A contributor says the critic's examples are so contrived they say nothing about intuition and should not exist in real code.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1544391024", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-11T17:19:40Z", + "editedAt": "2023-05-11T20:56:06Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1544391024", + "summary": "A contributor rejects the claim the proposal is rushed, citing the prior discussion and experiment-flag issue, and notes about 230 thumbs up versus 6 thumbs down in two days.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1544713900", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-11T21:37:56Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1544713900", + "summary": "The opener says the decision will rest on evidence, not feelings: millions of lines at Google ran the new semantics with zero three-clause breakages, and asks the critic to stop repeating arguments without real examples.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1544782103", + "kind": "comment", + "actor": "mbyio", + "createdAt": "2023-05-11T22:38:25Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1544782103", + "summary": "A user supports the change but fears codebases without good tests will stay on old go versions forever, and asks for an official opt-in tool that rewrites suspicious loops to keep the old behaviour.", + "actorId": 2175184, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545005276", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-05-12T02:11:14Z", + "editedAt": "2023-05-12T02:11:37Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545005276", + "summary": "A user argues the JavaScript comparison is misleading because var is function-scoped, and says the change is a surprising macro not worth saving one line.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545022864", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-05-12T02:36:49Z", + "editedAt": "2023-05-12T02:37:46Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545022864", + "summary": "A contributor replies that JavaScript let matches the proposal and var is unrepresentative.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545035186", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-05-12T02:57:00Z", + "editedAt": "2023-05-12T02:57:56Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545035186", + "summary": "The same user maintains the JavaScript comparison is out of place since JavaScript lacks Go-style pointers.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545040004", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-05-12T03:02:28Z", + "editedAt": "2023-05-12T03:04:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545040004", + "summary": "A contributor shows a goroutine example without pointers that prints 3, 3, 3, arguing pointers are not the crux.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545046693", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-05-12T03:09:53Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545046693", + "summary": "The user says the contributor ignored his point that JavaScript added lexical scoping on top of var.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545049998", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-05-12T03:14:31Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545049998", + "summary": "The contributor answers that earlier comparisons referred only to for-let, so var is irrelevant.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545060362", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-05-12T03:33:46Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545060362", + "summary": "The user repeats that Go already has lexical scoping, so the JavaScript change is not analogous.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545061674", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-12T03:36:18Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545061674", + "summary": "A contributor explains he wants the change because today a closure passed to a helper must finish before the next iteration, which makes adding t.Parallel across a large codebase hard to do safely.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545100690", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T04:35:48Z", + "editedAt": "2023-05-12T04:37:15Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545100690", + "summary": "A contributor says the JavaScript comparison is only explanatory, the empirical point is that people expect per-iteration variables, and range loops already carry a hidden iterator.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545377144", + "kind": "comment", + "actor": "LukasGelbmann", + "createdAt": "2023-05-12T08:30:02Z", + "editedAt": "2023-05-12T09:05:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545377144", + "summary": "A user backs the range change but finds three-clause per-iteration semantics confusing, citing Stack Overflow questions about JavaScript and Dart and C#'s choice to change only foreach.", + "actorId": 34147627, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545408330", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-12T08:55:24Z", + "editedAt": "2023-05-12T09:00:42Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545408330", + "summary": "A user replies the change makes loops more intuitive and is unlikely to affect running code.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545437517", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T09:16:10Z", + "editedAt": "2023-05-12T09:16:49Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545437517", + "summary": "A contributor argues that whatever assumption makes real code correct is the intuitive one, and asks for a realistic example where three-clause loops become harder to read.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545527982", + "kind": "comment", + "actor": "LukasGelbmann", + "createdAt": "2023-05-12T10:28:04Z", + "editedAt": "2023-05-12T10:29:52Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545527982", + "summary": "The user gives a closure example he would still want an explicit copy for, and says the implicit copy-back adds mental overhead absent from range loops.", + "actorId": 34147627, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545579085", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T11:13:38Z", + "editedAt": "2023-05-12T11:13:48Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545579085", + "summary": "A contributor says range loops already involve such an implicit copy.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545611786", + "kind": "comment", + "actor": "LukasGelbmann", + "createdAt": "2023-05-12T11:42:23Z", + "editedAt": "2023-05-12T11:54:14Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545611786", + "summary": "The user disputes that range loops copy anything back.", + "actorId": 34147627, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545750200", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T13:29:55Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545750200", + "summary": "The contributor says both forms use a hidden iteration variable and the added cognitive load is not credible.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545851933", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-12T14:40:10Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545851933", + "summary": "The opener tells the upgrade-worried user the team will consider providing a rewrite tool that preserves old semantics as a backstop, though he would not recommend it generally.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1545885698", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-12T15:03:06Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1545885698", + "summary": "The opener says the cited Stack Overflow posts show curiosity, not complaints, and repeats that the three-clause question will be settled by real-world data, not intuition.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546019456", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-12T16:47:45Z", + "editedAt": "2023-05-12T16:52:27Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546019456", + "summary": "The three-clause critic posts a third example in which a counter captured in a deferred closure behaves differently under the experiment.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546032881", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T17:00:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546032881", + "summary": "A contributor says a behaviour difference is not a footgun.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546040433", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-12T17:06:25Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546040433", + "summary": "The critic says in this thread a footgun means a surprise.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546079758", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-12T17:44:57Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546079758", + "summary": "The contributor says the example behaves exactly as he would expect.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546081754", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-12T17:46:40Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546081754", + "summary": "A user says the example likely reflects a bug and the new semantics still make sense.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546123982", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-12T18:28:42Z", + "editedAt": "2023-05-12T18:28:50Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546123982", + "summary": "The opener tells the critic only real code broken by the change will influence the decision and asks him to stop posting hypothetical examples.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546145101", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-12T18:49:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546145101", + "summary": "A user asks whether a per-loop compiler directive opting out of the fix could be offered instead of a rewrite tool.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546383299", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-12T22:29:55Z", + "editedAt": "2023-05-12T22:51:51Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546383299", + "summary": "A contributor notes a per-file build constraint naming an older Go version will act as an opt-out, and says he would write the critic's counter example differently and expect it to work.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546424195", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-12T23:18:12Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546424195", + "summary": "The user accepts per-file build tags as forgiving enough and doubts a rewrite tool is better.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546511529", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-13T03:28:48Z", + "editedAt": "2023-05-13T03:34:52Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546511529", + "summary": "The three-clause critic says each of his examples is distinct, argues too few Go programmers know about the change, and asks to wait for wider experiment participation before deciding.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546533238", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-13T05:25:52Z", + "editedAt": "2023-05-13T06:07:18Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546533238", + "summary": "A user replies that the question of which value is captured remains and that the opener wants people to test their own code.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546547240", + "kind": "comment", + "actor": "ulikunitz", + "createdAt": "2023-05-13T06:51:06Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546547240", + "summary": "A contributor reports his modules pass their tests under GOEXPERIMENT=loopvar, has no concerns, and suggests others try it, while noting his mental model of three-clause loops must change.", + "actorId": 8460565, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546606504", + "kind": "comment", + "actor": "danieljl", + "createdAt": "2023-05-13T09:26:38Z", + "editedAt": "2023-05-15T13:05:08Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546606504", + "summary": "A user supports the range change but opposes the three-clause change, arguing the evidence is biased toward finding fixed bugs, comes only from public and Google code, and that three-clause loops allow far more varied use; he offers an example pattern he believes breaks.", + "actorId": 1947204, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546609895", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-13T09:48:15Z", + "editedAt": "2023-05-13T09:48:38Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546609895", + "summary": "A user asks whether that pattern really breaks.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546610308", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-13T09:50:53Z", + "editedAt": "2023-05-13T09:52:03Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546610308", + "summary": "A contributor says there is evidence of no three-clause breakage, not merely no evidence, and cannot see how the example breaks.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546647044", + "kind": "comment", + "actor": "danieljl", + "createdAt": "2023-05-13T13:00:45Z", + "editedAt": "2023-05-15T15:18:58Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546647044", + "summary": "The user insists the evidence is biased and initially claims a value-returning constructor breaks, a claim he later strikes through.", + "actorId": 1947204, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546650596", + "kind": "comment", + "actor": "fzipp", + "createdAt": "2023-05-13T13:14:52Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546650596", + "summary": "A contributor runs the proposed counterexample under GOEXPERIMENT=loopvar and shows it behaves the same.", + "actorId": 598327, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546650734", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-13T13:15:28Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546650734", + "summary": "A user shows a closer emulation of the new semantics that also prints once.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546690024", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-13T15:27:35Z", + "editedAt": "2023-05-13T15:30:47Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546690024", + "summary": "A contributor says opponents offer only hypothetical code while real bugs would be fixed, and asks for evidence of bias.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546737054", + "kind": "comment", + "actor": "danieljl", + "createdAt": "2023-05-13T19:38:18Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546737054", + "summary": "The user thanks the correction but says nobody has addressed his argument that the evidence is biased.", + "actorId": 1947204, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546739116", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-13T19:51:58Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546739116", + "summary": "A contributor says he did respond and invites better evidence.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1546965229", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-14T18:11:30Z", + "editedAt": "2023-05-14T18:12:38Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1546965229", + "summary": "A contributor argues AST tools could search for breakages, that bugs in Google and public code show people think alike, and that objections rest only on what might happen.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547128286", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-15T03:07:13Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547128286", + "summary": "The three-clause critic says the onus to find real-world breakages lies with the proposers, not him.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547130632", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-15T03:09:58Z", + "editedAt": "2023-05-17T01:44:01Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547130632", + "summary": "The critic proposes an alternative: allow a redeclaration in the third clause so per-iteration scoping is explicit, possibly applied by go fix.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547163652", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-15T04:07:31Z", + "editedAt": "2023-05-15T04:09:31Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547163652", + "summary": "A user notes synthetic examples are easy and only real code relying on the old rules would be convincing.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547243925", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-15T06:08:44Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547243925", + "summary": "A contributor says a single real example would not overturn the evidence unless it showed a common pattern or a novel natural mistake.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547450501", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-15T08:54:01Z", + "editedAt": "2023-05-15T08:55:55Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547450501", + "summary": "The critic repeats that proving no breakage is the proposers' job.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547489346", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-15T09:18:26Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547489346", + "summary": "A user says the request is for people to report cases from their own code, a distributed effort.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1547647014", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-15T11:03:40Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1547647014", + "summary": "A contributor says the claim was never zero breakage but far more fixes than breaks, and suggests disengaging from demands to prove a negative.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1548037606", + "kind": "comment", + "actor": "danieljl", + "createdAt": "2023-05-15T15:02:30Z", + "editedAt": "2023-05-15T15:15:50Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1548037606", + "summary": "The user argues breaking the stability promise needs near-zero breakage, which he grants for range loops but not three-clause loops, calls for wider sampling such as an industry survey, and suggests a Go 2 would make such a change clearer.", + "actorId": 1947204, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1548079809", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-15T15:27:29Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1548079809", + "summary": "The opener tells the two three-clause critics their arguments have been heard and understood, and asks them to make room for other concerns.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1549118090", + "kind": "comment", + "actor": "danieljl", + "createdAt": "2023-05-16T07:13:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1549118090", + "summary": "The bias critic says his challenge to the evidence went unanswered but agrees to step back, and asks that any release prominently announce the semantic change.", + "actorId": 1947204, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1550498728", + "kind": "comment", + "actor": "purpleidea", + "createdAt": "2023-05-16T23:55:00Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1550498728", + "summary": "A user welcomes the change and asks to see the one non-test breakage found at Google and any other known breakages.", + "actorId": 135091, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1550511677", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-05-17T00:13:28Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1550511677", + "summary": "A maintainer points to the design doc section describing that case, an allocation-free low-level crash handler.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1550542314", + "kind": "comment", + "actor": "purpleidea", + "createdAt": "2023-05-17T01:04:48Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1550542314", + "summary": "The user thanks him and asks to hear of any other breakages.", + "actorId": 135091, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1550560767", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-17T01:31:41Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1550560767", + "summary": "The three-clause critic points the user to his earlier hypothetical examples.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1551864995", + "kind": "comment", + "actor": "dr2chase", + "createdAt": "2023-05-17T18:22:55Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1551864995", + "summary": "The co-author explains the one failure involved taking an address on a path ending in break, and a pickier compiler analysis could have avoided the extra allocation there.", + "actorId": 1928999, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1551916708", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2023-05-17T19:07:38Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1551916708", + "summary": "A maintainer asks the co-author to confirm that a future compiler optimisation could have avoided the allocation that test forbade.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1552081931", + "kind": "comment", + "actor": "crhntr", + "createdAt": "2023-05-17T21:04:09Z", + "editedAt": "2023-05-18T01:50:56Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1552081931", + "summary": "A user, initially bothered by the small performance cost, says he will favour index loops for slices and sees the change as welcoming to newcomers.", + "actorId": 8398225, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1553765640", + "kind": "comment", + "actor": "dr2chase", + "createdAt": "2023-05-18T23:07:40Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1553765640", + "summary": "The co-author confirms that a trickier optimisation would have avoided that one failure.", + "actorId": 1928999, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554128563", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-19T07:10:49Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554128563", + "summary": "A user says he hit this bug only once or twice in five years and questions whether the cure is worth the cognitive cost of checking each module's go version.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554191850", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-19T07:58:18Z", + "editedAt": "2023-05-19T08:12:40Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554191850", + "summary": "The three-clause critic agrees that version numbers should not mark behaviour changes.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554455587", + "kind": "comment", + "actor": "pkorotkov", + "createdAt": "2023-05-19T11:49:13Z", + "editedAt": "2023-05-19T18:31:44Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554455587", + "summary": "A user objects that the change breaks the Go 1 compatibility promise and fears subtle bugs in upgraded third-party dependencies.", + "actorId": 532567, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554456112", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-19T11:49:43Z", + "editedAt": "2023-05-19T11:54:24Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554456112", + "summary": "A contributor argues small individual rates add up across about a million developers, the bisect tool narrows which loops to check, and per-file build tags offer an escape hatch.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554460275", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-19T11:53:54Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554460275", + "summary": "A contributor says the proposal knowingly makes a one-time exception to compatibility, and dependencies keep old semantics until their own go.mod is bumped.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554616206", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2023-05-19T13:57:59Z", + "editedAt": "2023-05-19T14:29:01Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554616206", + "summary": "A maintainer gives non-concurrency examples, including an x/crypto/ssh bug fixed in a CL, that long-time contributors failed to spot and the race detector cannot catch.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554769603", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-19T15:40:58Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554769603", + "summary": "A user argues the fix could mask later bugs because a pointer to the per-iteration copy will not update the slice, and suggests ranging over element addresses instead.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554820741", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-19T16:27:48Z", + "editedAt": "2023-05-19T16:29:03Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554820741", + "summary": "A contributor says the user's examples behave identically before and after the proposal.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1554843962", + "kind": "comment", + "actor": "atdiar", + "createdAt": "2023-05-19T16:35:57Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1554843962", + "summary": "A user agrees the pointer never pointed into the slice and says go.mod gating confines changes to upgraded code.", + "actorId": 12191458, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555072364", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2023-05-19T18:29:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555072364", + "summary": "A maintainer shows how to try the experiment with gotip and runs the user's example: the new semantics fix the first print and leave the slice unchanged in both versions.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555099701", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-19T18:57:53Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555099701", + "summary": "A contributor notes Go has broken compatibility before for correctness reasons.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555116753", + "kind": "comment", + "actor": "pkorotkov", + "createdAt": "2023-05-19T19:10:23Z", + "editedAt": "2023-05-19T22:46:39Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555116753", + "summary": "The compatibility objector replies those earlier changes produced compile errors, unlike this silent behaviour change.", + "actorId": 532567, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555270243", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-19T21:25:34Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555270243", + "summary": "A user argues the change is not silent since a version number must be bumped.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555336717", + "kind": "comment", + "actor": "pkorotkov", + "createdAt": "2023-05-19T22:28:30Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555336717", + "summary": "The objector says upgrades are eventually forced as old versions lose support, so the risk remains.", + "actorId": 532567, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555336856", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-19T22:28:46Z", + "editedAt": "2023-05-19T22:30:08Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555336856", + "summary": "The pointer-concern user explains the new semantics could make code that only reads the copy appear correct, hiding a later write that fails to reach the slice.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555346965", + "kind": "comment", + "actor": "zephyrtronium", + "createdAt": "2023-05-19T22:43:48Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555346965", + "summary": "A contributor points the pointer-concern user to a related issue and a comment in the earlier discussion.", + "actorId": 1428115, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555386780", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2023-05-20T00:07:23Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555386780", + "summary": "A contributor argues languages must fix old mistakes rather than pile up alternative forms as C++ did.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555724474", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-20T06:46:34Z", + "editedAt": "2023-05-20T06:48:14Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555724474", + "summary": "A contributor calls the pointer scenario a thin chain of misunderstandings, and lays out that the proposal does break the compatibility promise and the Go 2 transition rules, which the proposal openly treats as a one-time exception that sets no precedent.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555833535", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-20T07:58:12Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555833535", + "summary": "The pointer-concern user concedes the argument is narrow, says he is not against the proposal, and asks whether the authors have more motivating context than one parallel example.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555860460", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-20T08:18:46Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555860460", + "summary": "A contributor says reaction on the issue, the earlier discussion and social media has been overwhelmingly positive, so the fix is not academic.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555869093", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-20T09:06:49Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555869093", + "summary": "The three-clause critic asks whether the vote on his first comment counts as overwhelming and says some breaking cases are missing from the proposal.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555880913", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-20T10:19:31Z", + "editedAt": "2023-05-20T10:26:18Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555880913", + "summary": "A contributor contrasts that with the opening post's tally and tells the critic his synthetic examples have been addressed and he should stop.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555913399", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-20T13:35:42Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555913399", + "summary": "The opener thanks the helpers and cites the Let's Encrypt incident, where a carefully reviewed loop still captured a variable and led to a mass certificate revocation question, as proof of real harm.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1555917892", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2023-05-20T14:00:51Z", + "editedAt": "2023-05-21T18:43:55Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1555917892", + "summary": "A maintainer notes the critic's comment drew more downvotes than upvotes during early confusion, says emoji votes are only a rough measure, and expects the Go 1.21 experiment to surface any real impact.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556058025", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-05-21T01:22:46Z", + "editedAt": "2023-05-21T11:54:17Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556058025", + "summary": "The opener reports running Kubernetes tests with the experiment: two loopvar failures in about 1,054 packages, both test bugs pinpointed by the bisect tool, versus 1 in 8,000 at Google; go-ethereum had no failures.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556137539", + "kind": "comment", + "actor": "thediveo", + "createdAt": "2023-05-21T10:05:12Z", + "editedAt": "2023-05-21T10:05:36Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556137539", + "summary": "A contributor asks the critic to stop arguing over vote wording and says production evidence like Kubernetes is more useful than his examples.", + "actorId": 6920158, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556275389", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-21T19:53:27Z", + "editedAt": "2023-05-22T07:11:31Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556275389", + "summary": "The pointer-concern user is now convinced the bug is real but asks why promoting the loopclosure vet check, or adding a pointer-taking check, would not suffice; he later finds the design doc addresses static analysis.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556277457", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-21T20:00:43Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556277457", + "summary": "A user points to the design doc section rejecting static analysis as an alternative.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556291514", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-21T21:02:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556291514", + "summary": "A contributor adds that even with vet the remedy is a confusing redundant copy line.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556721954", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-22T07:57:37Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556721954", + "summary": "The same user regrets that the post statement now effectively acts on a copied variable, making loops less explicit.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556777948", + "kind": "comment", + "actor": "thediveo", + "createdAt": "2023-05-22T08:31:46Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556777948", + "summary": "A contributor finds that loop easy to read and asks the discussion to stop going in circles.", + "actorId": 6920158, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556778566", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-05-22T08:32:10Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556778566", + "summary": "A contributor says behaviour is unchanged unless pointers or closures are involved and suggests some objections stem only from resistance to change.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1556852376", + "kind": "comment", + "actor": "markusheukelom", + "createdAt": "2023-05-22T09:13:52Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1556852376", + "summary": "The user accepts this and withdraws.", + "actorId": 1165271, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1558730767", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2023-05-23T07:56:08Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1558730767", + "summary": "The three-clause critic posts a final comment arguing the opening post understated the three-clause change, that version-gated semantics are a bad idea, and that the change reduces loop flexibility; he leaves the debate.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1558957495", + "kind": "comment", + "actor": "black23eep", + "createdAt": "2023-05-23T10:01:06Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1558957495", + "summary": "A user says the change adds needless complexity and undermines compatibility.", + "actorId": 121802039, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1559045707", + "kind": "comment", + "actor": "davecb", + "createdAt": "2023-05-23T10:48:14Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1559045707", + "summary": "A user endorses controlled change tied to the compiler version.", + "actorId": 559505, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1577226168", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2023-06-05T17:54:18Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1577226168", + "summary": "A bot links a change documenting GOEXPERIMENT=loopvar in the Go 1.21 release notes and inviting feedback.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1601802761", + "kind": "comment", + "actor": "aarongable", + "createdAt": "2023-06-21T23:05:04Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1601802761", + "summary": "A contributor from Let's Encrypt says they enabled the experiment in CI with no breakages or newly revealed bugs and welcome the change.", + "actorId": 2474926, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1633120461", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-12T19:52:43Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1633120461", + "summary": "The opener says response has been overwhelmingly positive and two large codebases ran the always-on experiment without trouble, so the proposal will move to likely accept to land early in Go 1.22, still open to showstoppers.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1633122446", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-12T19:54:21Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1633122446", + "summary": "The opener, for the proposal review group, marks the proposal likely accept.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:labeled:2023-07-12T19:54:22Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-07-12T19:54:22Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The opener applies the final comment period label.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1642774250", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-19T21:20:45Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1642774250", + "summary": "The opener, for the proposal review group, declares the proposal accepted with no change in consensus, and says the issue now tracks implementation.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:renamed:2023-07-19T21:20:46Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-07-19T21:20:46Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The opener drops the proposal prefix from the title.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:labeled:2023-07-19T21:20:47Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-07-19T21:20:47Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The opener applies the Proposal-Accepted label.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:unlabeled:2023-07-19T21:20:48Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-07-19T21:20:48Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The opener removes the final comment period label.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1655917696", + "kind": "comment", + "actor": "ryanschneider", + "createdAt": "2023-07-28T15:52:24Z", + "editedAt": "2023-07-28T17:23:48Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1655917696", + "summary": "A user worries this is a semantic-only change that will not fail visibly on older toolchains, then notes the design doc addresses it as a one-time exception.", + "actorId": 53520, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1656043733", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-07-28T17:21:43Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1656043733", + "summary": "A contributor confirms it is the first such change and is meant to be the last.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1671371277", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-08-09T13:53:55Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1671371277", + "summary": "The opener says the Go playground now supports trying the new semantics with a GOEXPERIMENT comment on Go 1.21.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1674931359", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2023-08-11T15:01:07Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1674931359", + "summary": "A bot links a change making the Go 1.20 toolchain refuse to build Go 1.22 code.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1675149691", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2023-08-11T17:38:07Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1675149691", + "summary": "A bot links the same refusal change for the Go 1.19 branch.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1675829041", + "kind": "comment", + "actor": "iBug", + "createdAt": "2023-08-12T10:06:31Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1675829041", + "summary": "A user, after acceptance, backs the three-clause critic, arguing that other languages' loops mostly keep one variable and that the proposal should have been split so three-clause loops got a separate vote.", + "actorId": 7273074, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1677030019", + "kind": "comment", + "actor": "domdom82", + "createdAt": "2023-08-14T09:56:21Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1677030019", + "summary": "A user says he always assumed loop variables were closure-safe and supports going ahead.", + "actorId": 1755853, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1747727753", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2023-10-04T22:20:33Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1747727753", + "summary": "A bot links a change updating go/ssa for the new range variable semantics.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1761989029", + "kind": "comment", + "actor": "entonio", + "createdAt": "2023-10-13T18:22:33Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1761989029", + "summary": "A user worries about unnoticed breakage in untested range loops and suggests a new keyword or a migration tool that preserves old behaviour.", + "actorId": 5048472, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1762025978", + "kind": "comment", + "actor": "zephyrtronium", + "createdAt": "2023-10-13T18:42:19Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1762025978", + "summary": "A contributor explains a new keyword would break compatibility and the design doc covers why syntax changes and migration rewriting were rejected.", + "actorId": 1428115, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1762030876", + "kind": "comment", + "actor": "thediveo", + "createdAt": "2023-10-13T18:46:38Z", + "editedAt": "2023-10-13T18:49:02Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1762030876", + "summary": "A contributor says large codebases like Kubernetes showed no problems and the argument adds nothing new.", + "actorId": 6920158, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1762373467", + "kind": "comment", + "actor": "timothy-king", + "createdAt": "2023-10-13T23:26:54Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1762373467", + "summary": "A Go team member points to the design doc's transition tooling section as the basis for such a migration tool.", + "actorId": 797368, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1817974349", + "kind": "comment", + "actor": "dgoodine", + "createdAt": "2023-11-19T20:53:26Z", + "editedAt": "2023-11-19T20:55:07Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1817974349", + "summary": "A user suggests closures could capture values rather than references, as some Lisps do, as a more general alternative.", + "actorId": 1120834, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:1937756367", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2024-02-11T13:33:56Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-1937756367", + "summary": "A maintainer proposes closing the issue as done now that Go 1.22 has shipped.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:closed:2024-02-11T13:33:57Z", + "kind": "process", + "actor": "seankhliao", + "createdAt": "2024-02-11T13:33:57Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "A maintainer closes the issue as completed.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:comment:2372443802", + "kind": "comment", + "actor": "damoahrod", + "createdAt": "2024-09-24T21:44:38Z", + "editedAt": "2024-09-24T21:46:31Z", + "url": "https://github.com/golang/go/issues/60078#issuecomment-2372443802", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 182700716, + "actorType": "human", + "parentId": "go-60078:issue:60078" + }, + { + "id": "go-60078:process:locked:2024-09-24T21:56:59Z", + "kind": "process", + "actor": "golang", + "createdAt": "2024-09-24T21:56:59Z", + "url": "https://github.com/golang/go/issues/60078", + "summary": "The issue is locked.", + "actorId": 4314092, + "actorType": "human", + "parentId": "go-60078:issue:60078" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-slice-to-array-conversion.json b/evals/datasets/decisions-v1/cases/go-slice-to-array-conversion.json new file mode 100644 index 000000000..42a673fd9 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-slice-to-array-conversion.json @@ -0,0 +1,999 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-slice-to-array-conversion", + "title": "Allowing direct conversion from slice to array in Go", + "source": { + "url": "https://github.com/golang/go/issues/46505", + "retrievedAt": "2026-10-18T07:30:18.642093+00:00", + "repository": "golang/go", + "number": 46505 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-06-01T22:55:00Z" + }, + { + "id": "c2", + "at": "2021-06-03T00:00:00Z" + }, + { + "id": "c3", + "at": "2021-08-18T18:00:00Z" + }, + { + "id": "c4", + "at": "2021-08-18T18:30:00Z" + } + ], + "events": [ + { + "id": "go-46505:issue:46505", + "kind": "opening", + "actor": "bradfitz", + "createdAt": "2021-06-01T22:48:01Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The opener, after using the new slice-to-array-pointer conversion in a CL, asks to also allow converting a slice straight to an array, avoiding a dereference; he notes it implies a copy, as the dereference already does.", + "actorId": 2621, + "actorType": "human" + }, + { + "id": "go-46505:comment:852543730", + "kind": "comment", + "actor": "randall77", + "createdAt": "2021-06-01T23:03:19Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-852543730", + "summary": "A Go team member notes the slicing in the example is redundant and says direct array conversion was left out of the earlier change only to keep it minimal, since it is easy to express through the pointer form.", + "actorId": 6889504, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:852671112", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-06-02T02:45:55Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-852671112", + "summary": "A contributor links a similar earlier issue.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:852851640", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-06-02T09:04:05Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-852851640", + "summary": "A Go team member sees nothing wrong with it but doubts that saving two asterisks in a niche feature justifies extra compiler and tooling complexity.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853114680", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2021-06-02T15:15:43Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853114680", + "summary": "A Go team member asks whether string to byte-array conversion should then be added too for consistency.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:renamed:2021-06-02T17:54:09Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2021-06-02T17:54:09Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The proposal lead retitles it as a spec proposal.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853265686", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-06-02T18:00:47Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853265686", + "summary": "The proposal lead adds it to the active column for weekly proposal review.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853350504", + "kind": "comment", + "actor": "rogpeppe", + "createdAt": "2021-06-02T20:10:33Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853350504", + "summary": "A contributor says copy already covers this, and is unconvinced given the expression can panic.", + "actorId": 66491, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853357772", + "kind": "comment", + "actor": "katiehockman", + "createdAt": "2021-06-02T20:22:20Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853357772", + "summary": "A Go team member asks whether copy could be made as fast as the pointer conversion so no new form is needed, and says the dereference form reads like a hack.", + "actorId": 28789760, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853367497", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-06-02T20:39:30Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853367497", + "summary": "A Go team member thinks copy can be optimised and asks for an issue with examples; he describes the conversion as a checked assertion from dynamic to static length.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853372667", + "kind": "comment", + "actor": "katiehockman", + "createdAt": "2021-06-02T20:48:40Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853372667", + "summary": "The Go team member shares a benchmark showing copy several times slower than the pointer conversion.", + "actorId": 28789760, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853389052", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-06-02T21:18:26Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853389052", + "summary": "A Go team member files a separate performance issue and notes the copy variants differ semantically for short slices.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853419332", + "kind": "comment", + "actor": "kortschak", + "createdAt": "2021-06-02T22:17:09Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853419332", + "summary": "A contributor argues the explicit dereference usefully signals that a copy is happening.", + "actorId": 275221, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853986092", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2021-06-03T16:04:44Z", + "editedAt": "2021-06-03T16:40:35Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853986092", + "summary": "A Go team member says that signal is lost in the noise and other conversions like string to bytes copy without one; array values already exist.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:853988858", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2021-06-03T16:08:41Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-853988858", + "summary": "The same member notes the slice expression is unnecessary, making the direct form look much cleaner.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:854200801", + "kind": "comment", + "actor": "kortschak", + "createdAt": "2021-06-03T21:43:20Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-854200801", + "summary": "The contributor replies the signal matters because a single character would switch between a free and a copying operation.", + "actorId": 275221, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:857878948", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-06-09T17:12:15Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-857878948", + "summary": "The proposal lead says the feature is strictly unnecessary but copying slices into fixed arrays is common enough that removing stars seems harmless.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:880073777", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-07-14T17:24:13Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-880073777", + "summary": "The proposal lead asks for objections.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:880089825", + "kind": "comment", + "actor": "randall77", + "createdAt": "2021-07-14T17:48:56Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-880089825", + "summary": "A Go team member leans against, as two asterisks do not justify a new conversion case.", + "actorId": 6889504, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:880092644", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-07-14T17:53:15Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-880092644", + "summary": "A Go team member also leans against, citing repeated x/tools fixes needed for the pointer conversion and the burden on tool authors.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:884354161", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-07-21T17:14:53Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-884354161", + "summary": "The proposal lead asks if anyone will argue in favour.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:892389823", + "kind": "comment", + "actor": "Splizard", + "createdAt": "2021-08-04T06:07:09Z", + "editedAt": "2021-08-04T06:07:27Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-892389823", + "summary": "A contributor argues for discoverability: beginners naturally try the direct form and would never guess the pointer-dereference form.", + "actorId": 2015791, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:892610693", + "kind": "comment", + "actor": "zephyrtronium", + "createdAt": "2021-08-04T12:18:36Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-892610693", + "summary": "A contributor who teaches Go agrees it is a good point but would prefer arrays stay hard for beginners to find.", + "actorId": 1428115, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:892827067", + "kind": "comment", + "actor": "bcmills", + "createdAt": "2021-08-04T17:09:47Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-892827067", + "summary": "A Go team member replies arrays are discoverable anyway, and keeping pointers out of the confusion is better.", + "actorId": 5200974, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:892839802", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-08-04T17:29:29Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-892839802", + "summary": "The proposal lead finds the discoverability argument compelling, noting Go has removed needless stars before.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:893834535", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-05T21:58:45Z", + "editedAt": "2021-08-05T22:54:28Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-893834535", + "summary": "A Go team member still leans against, arguing there is no other case where the two forms are equivalent and that encouraging beginners toward arrays is a trap.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:893997398", + "kind": "comment", + "actor": "deefdragon", + "createdAt": "2021-08-06T04:46:01Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-893997398", + "summary": "A newer Go user says they tried the direct form, were surprised it failed, and rewrote code using slices; they support the change.", + "actorId": 3053654, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:895424497", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-09T18:00:35Z", + "editedAt": "2021-08-09T20:54:05Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-895424497", + "summary": "The Go team member asks why the slice version looked worse and doubts the change would lead to idiomatic code.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:895744033", + "kind": "comment", + "actor": "deefdragon", + "createdAt": "2021-08-10T05:39:55Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-895744033", + "summary": "The user explains a texture-decoding case where a fixed-size array expressed intent better.", + "actorId": 3053654, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897046588", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-08-11T18:17:51Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897046588", + "summary": "The proposal lead declares it a likely accept.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:labeled:2021-08-11T18:17:52Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2021-08-11T18:17:52Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The proposal enters final comment period.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897184810", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-08-11T21:56:46Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897184810", + "summary": "A Go team member points to a real use case in a website CL.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897203410", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-11T22:28:42Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897203410", + "summary": "A Go team member asks the user for more detail and says the cited case is only a few characters shorter.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897204293", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-08-11T22:31:01Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897204293", + "summary": "The other member replies the direct form is clearer, so why not take a small win.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897214942", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-11T22:59:38Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897214942", + "summary": "The dissenting member recaps tooling cost, low utility and a flawed equivalence argument, but says he accepts being outvoted.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897238169", + "kind": "comment", + "actor": "deefdragon", + "createdAt": "2021-08-11T23:58:05Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897238169", + "summary": "The user admits their example was not perfect.", + "actorId": 3053654, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:897341666", + "kind": "comment", + "actor": "timothy-king", + "createdAt": "2021-08-12T04:33:21Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-897341666", + "summary": "A Go tools engineer raises the zero-length array case: should converting a nil slice panic, and should it be disallowed?", + "actorId": 797368, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:901283419", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-08-18T17:09:43Z", + "editedAt": "2021-08-18T17:09:58Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-901283419", + "summary": "The proposal lead rules that converting any zero-length slice, including nil, to a zero-length array succeeds.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:901311192", + "kind": "comment", + "actor": "timothy-king", + "createdAt": "2021-08-18T17:51:04Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-901311192", + "summary": "The tools engineer accepts this, noting it will be a special case for SSA tooling and should be clear in the spec.", + "actorId": 797368, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:901325587", + "kind": "comment", + "actor": "rsc", + "createdAt": "2021-08-18T18:13:02Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-901325587", + "summary": "The proposal lead declares the proposal accepted with no change in consensus.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:renamed:2021-08-18T18:13:03Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2021-08-18T18:13:03Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The issue is retitled from proposal to spec change.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:labeled:2021-08-18T18:13:03Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2021-08-18T18:13:03Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The Proposal-Accepted label is applied.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:901357780", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-18T19:04:08Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-901357780", + "summary": "The dissenting member agrees the zero-length ruling is consistent with slicing nil.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904312199", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-08-24T04:23:14Z", + "editedAt": "2021-08-24T05:00:42Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904312199", + "summary": "A contributor asks whether the conversion may be an assignment target.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904315158", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-08-24T04:32:42Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904315158", + "summary": "A Go team member says conversions are never assignable.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904323248", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-08-24T05:00:12Z", + "editedAt": "2021-08-24T05:01:46Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904323248", + "summary": "The contributor asks whether a copy between two array pointers could be written with the new form instead.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904324068", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2021-08-24T05:02:28Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904324068", + "summary": "A Go team member points back to the answer already given.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904324190", + "kind": "comment", + "actor": "kortschak", + "createdAt": "2021-08-24T05:02:47Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904324190", + "summary": "A contributor asks why one would not just use copy.", + "actorId": 275221, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904335373", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-08-24T05:32:13Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904335373", + "summary": "The contributor cites the performance issue showing copy is slower for small arrays.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904335938", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-08-24T05:33:50Z", + "editedAt": "2021-08-24T05:44:10Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904335938", + "summary": "The contributor argues an exception for assignability would be consistent with assigning to slice literal elements.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904471044", + "kind": "comment", + "actor": "DmitriyMV", + "createdAt": "2021-08-24T09:16:19Z", + "editedAt": "2021-08-24T10:48:54Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904471044", + "summary": "A contributor explains the assignable form would mean something different from the pointer form, since it copies.", + "actorId": 6999905, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904542142", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-08-24T11:05:02Z", + "editedAt": "2021-08-24T11:14:46Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904542142", + "summary": "The contributor disagrees about intermediate copies.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:904563981", + "kind": "comment", + "actor": "zephyrtronium", + "createdAt": "2021-08-24T11:41:13Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-904563981", + "summary": "A contributor shows the pointer form can be combined with the new form on the right side.", + "actorId": 1428115, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:905146259", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-08-25T03:11:07Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-905146259", + "summary": "A Go team member says assignability would be a separate proposal.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:910451547", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-09-01T16:30:03Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-910451547", + "summary": "The contributor asks whether the conversion should pad with zeros rather than panic on short slices.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:916483514", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-09-09T22:27:19Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-916483514", + "summary": "A Go team member says panicking was settled in the earlier pointer proposal and this must be consistent.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:962443569", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2021-11-06T12:20:35Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-962443569", + "summary": "A contributor asks whether it will land in Go 1.18.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:962551739", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2021-11-07T04:51:07Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-962551739", + "summary": "A Go team member says it missed 1.18.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:963737612", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2021-11-09T01:47:13Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-963737612", + "summary": "A Go team member marks it for 1.19.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1116905212", + "kind": "comment", + "actor": "zigo101", + "createdAt": "2022-05-04T04:02:26Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1116905212", + "summary": "A contributor asks about 1.19.", + "actorId": 22589241, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1116914375", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2022-05-04T04:23:30Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1116914375", + "summary": "A Go team member assigns it to himself.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1129087739", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2022-05-17T16:39:52Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1129087739", + "summary": "The Go team member moves it to 1.20 as not urgent.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1213200670", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-08-12T14:51:16Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1213200670", + "summary": "A bot reminds that the early-in-cycle window for 1.20 has arrived.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1239765234", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-07T18:59:36Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1239765234", + "summary": "A bot links a CL implementing the conversion in the type checker.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1239863230", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-07T20:51:04Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1239863230", + "summary": "A bot links a CL temporarily disabling a related x/tools SSA test.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1239916019", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-07T21:34:28Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1239916019", + "summary": "A bot links a CL describing the conversion in the spec.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1244440307", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-12T20:46:52Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1244440307", + "summary": "A bot links a CL implementing it in the compiler.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1244443502", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2022-09-12T20:48:17Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1244443502", + "summary": "A Go team member notes package reflect still needs support.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1244449942", + "kind": "comment", + "actor": "cuonglm", + "createdAt": "2022-09-12T20:51:25Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1244449942", + "summary": "A Go team member offers to handle reflect.", + "actorId": 4304764, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1244460033", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2022-09-12T20:57:27Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1244460033", + "summary": "The member agrees and lists tricky cases: nil to zero-length array must succeed and the result must be a non-addressable copy.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1244912435", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-13T05:21:26Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1244912435", + "summary": "A bot links the reflect CL.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1246231914", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-14T04:53:58Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1246231914", + "summary": "A bot links a CL documenting an edge case in the spec.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:closed:2022-09-19T19:00:54Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2022-09-19T19:00:54Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "A bot closes the issue as a CL lands.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1251484870", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2022-09-19T20:00:58Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1251484870", + "summary": "A Go team member says x/tools SSA still needs support and suggests representing it as pointer conversion plus dereference.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:reopened:2022-09-19T20:00:59Z", + "kind": "process", + "actor": "mdempsky", + "createdAt": "2022-09-19T20:00:59Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The Go team member reopens the issue.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1255008037", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-22T13:15:02Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1255008037", + "summary": "A bot links a CL using the new conversion in net/netip.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1256910610", + "kind": "comment", + "actor": "cuiweixie", + "createdAt": "2022-09-24T08:35:41Z", + "editedAt": "2022-09-24T08:36:10Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1256910610", + "summary": "A contributor submits a CL adding the conversion to go/ssa.", + "actorId": 1579517, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1256983204", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-09-24T14:32:20Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1256983204", + "summary": "A bot links the go/ssa CL.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1305895978", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-11-07T16:49:44Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1305895978", + "summary": "A bot links a revised net/netip CL.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1316382132", + "kind": "comment", + "actor": "shuLhan", + "createdAt": "2022-11-16T05:28:45Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1316382132", + "summary": "A contributor reports an out-of-memory crash in golangci-lint bisected to the net/netip change.", + "actorId": 43306, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1317824939", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2022-11-16T23:38:56Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1317824939", + "summary": "A Go team member doubts the change caused it and asks for a separate issue.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1317877517", + "kind": "comment", + "actor": "timothy-king", + "createdAt": "2022-11-17T00:35:34Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1317877517", + "summary": "A Go tools engineer asks to be copied on that issue.", + "actorId": 797368, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1323789314", + "kind": "comment", + "actor": "shuLhan", + "createdAt": "2022-11-22T14:46:31Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1323789314", + "summary": "The contributor reports a panic in a linter's own SSA package instead and concludes the bug is in the linter.", + "actorId": 43306, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1323800539", + "kind": "comment", + "actor": "mvdan", + "createdAt": "2022-11-22T14:51:49Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1323800539", + "summary": "A member links the corresponding staticcheck issue, noting it uses its own SSA.", + "actorId": 3576549, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1325501413", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2022-11-23T18:35:58Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1325501413", + "summary": "A bot links a CL documenting the conversion in the spec.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:comment:1353983881", + "kind": "comment", + "actor": "mdempsky", + "createdAt": "2022-12-16T00:39:35Z", + "url": "https://github.com/golang/go/issues/46505#issuecomment-1353983881", + "summary": "A Go team member says the work is complete now that the go/ssa CL landed.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + }, + { + "id": "go-46505:process:closed:2022-12-16T00:39:35Z", + "kind": "process", + "actor": "mdempsky", + "createdAt": "2022-12-16T00:39:35Z", + "url": "https://github.com/golang/go/issues/46505", + "summary": "The Go team member closes the issue.", + "actorId": 38349, + "actorType": "human", + "parentId": "go-46505:issue:46505" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-testing-output-writer.json b/evals/datasets/decisions-v1/cases/go-testing-output-writer.json new file mode 100644 index 000000000..83d86bcf8 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-testing-output-writer.json @@ -0,0 +1,995 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-testing-output-writer", + "title": "testing: slog integration versus a T.Output writer", + "source": { + "url": "https://github.com/golang/go/issues/59928", + "retrievedAt": "2026-10-18T07:30:35.939718+00:00", + "repository": "golang/go", + "number": 59928 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-05-02T16:00:00Z" + }, + { + "id": "c2", + "at": "2023-12-31T20:00:00Z" + }, + { + "id": "c3", + "at": "2025-03-06T19:00:00Z" + }, + { + "id": "c4", + "at": "2025-03-13T00:30:00Z" + } + ], + "events": [ + { + "id": "go-59928:issue:59928", + "kind": "opening", + "actor": "earthboundkid", + "createdAt": "2023-05-02T15:00:40Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The opener proposes a `t.Slog()` method returning a slog logger that writes through t.Log with correct caller information, noting a third-party library cannot get the call site right.", + "actorId": 222245, + "actorType": "human" + }, + { + "id": "go-59928:comment:1531659062", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-05-02T15:15:54Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1531659062", + "summary": "The opener separates asserting on log contents from emitting debug output, scopes the proposal to the latter, and suggests a text-style handler bound to the test log stream.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1531837765", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2023-05-02T17:06:24Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1531837765", + "summary": "A Go team member links earlier discussion on the slog proposal.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1532323016", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-05-03T00:50:52Z", + "editedAt": "2023-05-03T00:56:58Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1532323016", + "summary": "A user notes testing and slog track different source locations, both potentially useful, and shares an experiment that replays logs on failure.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1533030552", + "kind": "comment", + "actor": "bitfield", + "createdAt": "2023-05-03T13:27:40Z", + "editedAt": "2025-01-30T20:10:54Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1533030552", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 142262, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1612161384", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-06-28T22:00:43Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1612161384", + "summary": "A Go team member moves the proposal into active review by the proposal committee.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1612317905", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-06-29T01:52:40Z", + "editedAt": "2023-06-29T01:55:50Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1612317905", + "summary": "A contributor argues the file:line prefix from t.Log makes logs indistinguishable from failures, notes slog's AddSource already gives call sites, shares a buffer-and-dump-on-failure helper, and suggests a `t.Output()` writer with no prefix.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1612417148", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-06-29T04:35:28Z", + "editedAt": "2023-06-29T04:37:35Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1612417148", + "summary": "A contributor says the goal includes correlating log lines with the right test, and would accept either t.Slog without a prefix or t.Output.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1613877142", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-06-29T22:25:06Z", + "editedAt": "2023-06-29T22:32:44Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1613877142", + "summary": "A user links the accepted proposal for general source-location marking in testing.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614066618", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-06-30T03:32:05Z", + "editedAt": "2023-07-01T02:12:57Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614066618", + "summary": "The contributor argues verbose and JSON modes already attribute stdout correctly, so the real problem is the misleading prefix.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614094364", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-06-30T04:14:18Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614094364", + "summary": "Another contributor shares a screenshot showing stdout not interleaved in their local runs.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614096137", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-06-30T04:17:33Z", + "editedAt": "2023-07-01T02:17:45Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614096137", + "summary": "The first contributor explains how a third-party handler could already format source info, and says a supported prefix-free writer would be more reliable than depending on output formatting.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614096982", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-06-30T04:19:09Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614096982", + "summary": "The contributor asks which Go version produced the screenshot.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614102882", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-06-30T04:30:10Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614102882", + "summary": "The other contributor says it was a 1.21 release candidate.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614104013", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-06-30T04:31:56Z", + "editedAt": "2023-06-30T04:32:14Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614104013", + "summary": "They concede verbose mode now interleaves correctly.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1614332563", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-06-30T08:43:32Z", + "editedAt": "2023-06-30T08:45:41Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1614332563", + "summary": "A user explains why test-side source locations would still add value beyond slog's own.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1643771989", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-20T11:41:34Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1643771989", + "summary": "A Go team member (slog's author) summarises: the need is a slog logger whose output behaves like t.Log, source location is a separate accepted proposal, and asks whether a stdout-based approach is good enough.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1643946706", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-20T13:39:58Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1643946706", + "summary": "A Go team member notes stdout breaks with parallel tests and non-verbose mode, and suggests a writer method usable by log and slog handlers.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1643988630", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-20T14:03:59Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1643988630", + "summary": "The slog author notes this is the earlier t.Output idea and asks about naming.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1643992459", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-20T14:06:18Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1643992459", + "summary": "A Go team member says a general writer should line-buffer up to some limit.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1644042657", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-20T14:35:53Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1644042657", + "summary": "The slog author asks for a name: Output or Writer.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1644090172", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-20T15:02:09Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1644090172", + "summary": "A Go team member prefers Output.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1644203918", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-20T16:09:39Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1644203918", + "summary": "The slog author warns a logger built from a parent test's writer will send subtest logs to the parent.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1644237398", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-20T16:32:57Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1644237398", + "summary": "A Go team member says that misuse cannot be prevented but parallel-test stdout can be fixed.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1644264645", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-07-20T16:52:41Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1644264645", + "summary": "A user notes parent-bound logging suits integration tests, and that t.Output plus source marking would enable third-party tools.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1645810938", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-21T16:06:16Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1645810938", + "summary": "The slog author states the proposal: add Output() io.Writer to T, B and F, behaving like Log (indented, grouped, shown only on failure unless verbose or JSON), and asks the opener to retitle.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1645856624", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-07-21T16:12:33Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1645856624", + "summary": "A contributor asks whether TB gets the method too.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:renamed:2023-07-21T16:34:25Z", + "kind": "process", + "actor": "earthboundkid", + "createdAt": "2023-07-21T16:34:25Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The opener retitles the issue from slog support to T.Output.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1645961767", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-07-21T16:35:16Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1645961767", + "summary": "The opener agrees as long as Output adds no line numbers.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1646021967", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-21T17:23:42Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1646021967", + "summary": "The slog author says adding to TB would break compatibility.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1646033005", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-07-21T17:33:58Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1646033005", + "summary": "A contributor points out TB has a private method precisely so it can grow.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1646049642", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-07-21T17:50:22Z", + "editedAt": "2023-07-21T18:15:32Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1646049642", + "summary": "The contributor shows a common logger-adapter pattern that Output on TB would simplify.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1646072411", + "kind": "comment", + "actor": "riannucci", + "createdAt": "2023-07-21T18:11:40Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1646072411", + "summary": "A user links a related proposal about emitting test metadata, possibly via slog.", + "actorId": 133821, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1646075957", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-21T18:14:44Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1646075957", + "summary": "The slog author agrees to add it to TB.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1650504798", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-07-25T20:24:51Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1650504798", + "summary": "A Go team member suggests the metadata proposal might call for a slog connection that looks different from TB.Output, so this should be rethought.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1650545429", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-07-25T20:53:38Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1650545429", + "summary": "The opener says JSON nested in test output can still be parsed.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1650552944", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-07-25T21:00:10Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1650552944", + "summary": "The opener suggests a distinct test2json action for Output lines.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1650792419", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-07-26T00:49:40Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1650792419", + "summary": "The slog author offers an alternative: `t.Slog()` returning a fixed logger that emits text normally and JSON records under -json, serving both proposals.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1650864807", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-07-26T02:09:33Z", + "editedAt": "2023-07-26T03:18:05Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1650864807", + "summary": "A contributor argues serving both needs makes neither good: testing does not emit JSON directly, and a new action type could break existing consumers.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1651177025", + "kind": "comment", + "actor": "riannucci", + "createdAt": "2023-07-26T07:58:39Z", + "editedAt": "2023-07-26T08:00:03Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1651177025", + "summary": "A user agrees the two needs (capturing code-under-test output vs emitting metadata) are distinct channels.", + "actorId": 133821, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1651450751", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-07-26T10:11:53Z", + "editedAt": "2023-07-26T10:12:47Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1651450751", + "summary": "A user is more optimistic about t.Slog for tooling and floats exposing test events.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1651771254", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-07-26T13:07:36Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1651771254", + "summary": "The opener suggests naming the methods after stdout and stderr.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1662665930", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-08-02T17:29:42Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1662665930", + "summary": "A Go team member says any such names must match the os package casing.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1790844295", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-11-02T14:29:00Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1790844295", + "summary": "A Go team member argues people can write a t.Output-style writer themselves, so new API seems unjustified, and floats returning to direct slog integration with a `t.Slog()` that emits JSON events under -json.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1791247043", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-11-02T17:42:30Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1791247043", + "summary": "The slog author replies that self-written writers get the source location wrong.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1791417488", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-11-02T19:23:43Z", + "editedAt": "2023-11-02T19:24:48Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1791417488", + "summary": "A contributor clarifies Output's purpose is t.Log behaviour without the misleading prefix, and asks what JSON output would be for given the metadata case was split off.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1869698665", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-12-26T18:10:55Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1869698665", + "summary": "The slog author lists design questions for t.Slog (minimum level, custom handler features) and notes Output's flexibility has limits too.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1870361441", + "kind": "comment", + "actor": "jba", + "createdAt": "2023-12-27T14:34:19Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1870361441", + "summary": "The slog author asks the contributor whether they object to t.Slog itself and argues structured JSON events would help consumers.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1872624513", + "kind": "comment", + "actor": "AndrewHarrisSPU", + "createdAt": "2023-12-30T23:19:04Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1872624513", + "summary": "A user suggests passing a handler into the test so it can emit testing events as logs.", + "actorId": 44661351, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1873008910", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-12-31T18:09:14Z", + "editedAt": "2023-12-31T19:32:17Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1873008910", + "summary": "A contributor asks why the discussion returned to t.Slog after apparent agreement on Output, argues t.Slog would hide the buffer pattern for asserting logs, and restates that the real problem is the extra prefix.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1873020302", + "kind": "comment", + "actor": "dnephin", + "createdAt": "2023-12-31T19:16:35Z", + "editedAt": "2023-12-31T21:55:55Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1873020302", + "summary": "The contributor lays out three options: t.Slog with fixed config, t.Slog taking handler options, or Output plus a helper returning test-friendly handler options, and recommends the third.", + "actorId": 442180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1873036121", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2023-12-31T20:55:00Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1873036121", + "summary": "The opener agrees Output is the right primitive and leaves room for later logging work.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:1950519497", + "kind": "comment", + "actor": "stevenh", + "createdAt": "2024-02-17T23:13:11Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-1950519497", + "summary": "A contributor says Output is more flexible for other uses.", + "actorId": 104239, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2608651838", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-01-23T01:30:25Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2608651838", + "summary": "A Go team member on the proposal committee backs TB.Output as the most flexible primitive: slog can wrap it but not the reverse, it adds no new JSON event types, and it serves subprocesses and other loggers; he notes the earlier self-implementation claim overlooked the source prefix.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2613018548", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-01-24T17:14:15Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2613018548", + "summary": "The slog author says helper-frame skipping is not relevant because logs come from code under test.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2613103794", + "kind": "comment", + "actor": "apparentlymart", + "createdAt": "2025-01-24T18:03:05Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2613103794", + "summary": "A user proposes a separate context-based API to carry test source locations into log handlers.", + "actorId": 20180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2613410031", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-01-24T21:29:33Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2613410031", + "summary": "The slog author calls that a separate proposal and suggests a stack-walking handler meanwhile.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2613442408", + "kind": "comment", + "actor": "apparentlymart", + "createdAt": "2025-01-24T21:52:36Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2613442408", + "summary": "The user agrees and will gauge interest before filing it separately.", + "actorId": 20180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2625524205", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-01-30T20:35:58Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2625524205", + "summary": "A Go team member points to the source-location proposal and asks how indentation interacts when mixing Output and Log.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2627524892", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-01-31T14:46:29Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2627524892", + "summary": "The slog author says Output should add nothing to written bytes, but should line-buffer.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2627796048", + "kind": "comment", + "actor": "apparentlymart", + "createdAt": "2025-01-31T16:50:47Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2627796048", + "summary": "A user suggests Log should flush any partial line first so log lines always stand alone.", + "actorId": 20180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2627840128", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-01-31T17:14:16Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2627840128", + "summary": "The slog author agrees.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2627925190", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-01-31T17:48:41Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2627925190", + "summary": "A Go team member asks whether using Output after the test ends panics like Log.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2627972644", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-01-31T17:54:09Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2627972644", + "summary": "The slog author says yes.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:cross-referenced:2025-02-05T19:15:51Z", + "kind": "process", + "actor": "suntala", + "createdAt": "2025-02-05T19:15:51Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "A contributor links PR #71575 adding Output.", + "actorId": 33031346, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2637845858", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2025-02-05T19:29:01Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2637845858", + "summary": "A bot links a change adding the output writer.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2685914747", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-02-26T18:50:58Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2685914747", + "summary": "A committee member summarises convergence on TB.Output with line buffering and Log flushing, with source location left to a separate proposal.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2686006428", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-02-26T19:32:38Z", + "editedAt": "2025-02-26T21:47:44Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2686006428", + "summary": "The committee member asks if concerns remain and posts the proposed doc comment.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2704759153", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-06T19:29:39Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2704759153", + "summary": "The committee marks the proposal likely accept.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:labeled:2025-03-06T19:29:39Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-03-06T19:29:39Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The committee labels it for final comment.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2704774517", + "kind": "comment", + "actor": "apparentlymart", + "createdAt": "2025-03-06T19:37:30Z", + "editedAt": "2025-03-06T19:38:40Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2704774517", + "summary": "A user asks what should happen on writes after the test returns: ignore, error or panic.", + "actorId": 20180, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2704818204", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-06T20:00:06Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2704818204", + "summary": "A Go team member reads the intent as panicking, matching Log.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2704936949", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-06T21:03:41Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2704936949", + "summary": "The committee member agrees writes after completion should panic and be documented.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2719373412", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-12T23:52:49Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2719373412", + "summary": "The committee accepts the proposal with the panic behaviour documented.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:renamed:2025-03-12T23:52:50Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-03-12T23:52:50Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The committee member drops the proposal prefix from the title.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:labeled:2025-03-12T23:52:53Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-03-12T23:52:53Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The committee labels the proposal accepted.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:unlabeled:2025-03-12T23:52:53Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-03-12T23:52:53Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The final-comment label is removed.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2719381991", + "kind": "comment", + "actor": "jba", + "createdAt": "2025-03-13T00:00:09Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2719381991", + "summary": "The slog author notes an existing change implements most of it.", + "actorId": 18483045, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2859937618", + "kind": "comment", + "actor": "suntala", + "createdAt": "2025-05-07T19:12:27Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2859937618", + "summary": "The implementer explains the doc was adjusted so Output, like Log, may still write while a parent test is running.", + "actorId": 33031346, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:closed:2025-05-13T15:07:11Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2025-05-13T15:07:11Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "A bot closes the issue when the change lands.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:process:cross-referenced:2025-05-13T21:13:10Z", + "kind": "process", + "actor": "suntala", + "createdAt": "2025-05-13T21:13:10Z", + "url": "https://github.com/golang/go/issues/59928", + "summary": "The implementer links PR #73703 adding Output.", + "actorId": 33031346, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2877977526", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2025-05-13T21:20:40Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2877977526", + "summary": "A bot links the change adding Output.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2923710133", + "kind": "comment", + "actor": "thatguystone", + "createdAt": "2025-05-30T23:26:37Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2923710133", + "summary": "A user notes Output was not actually added to the TB interface.", + "actorId": 921573, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2925284031", + "kind": "comment", + "actor": "mateusz834", + "createdAt": "2025-05-31T14:48:30Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2925284031", + "summary": "A Go team member agrees it should be and opens a tracking issue.", + "actorId": 19653795, + "actorType": "human", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:2925288132", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2025-05-31T14:52:34Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-2925288132", + "summary": "A bot links a change adding Output to TB.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-59928:issue:59928" + }, + { + "id": "go-59928:comment:4526917054", + "kind": "comment", + "actor": "neilotoole", + "createdAt": "2026-05-24T00:27:09Z", + "url": "https://github.com/golang/go/issues/59928#issuecomment-4526917054", + "summary": "The author of the third-party slog test library thanks the opener and confirms Output solved the problem.", + "actorId": 6013203, + "actorType": "human", + "parentId": "go-59928:issue:59928" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-try-builtin.json b/evals/datasets/decisions-v1/cases/go-try-builtin.json new file mode 100644 index 000000000..8db537897 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-try-builtin.json @@ -0,0 +1,1746 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-try-builtin", + "title": "Built-in try for Go error checks", + "source": { + "url": "https://github.com/golang/go/issues/32437", + "retrievedAt": "2026-10-18T06:59:58.759699+00:00", + "repository": "golang/go", + "number": 32437 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-06-05T00:10:00Z" + }, + { + "id": "c2", + "at": "2019-06-11T00:00:00Z" + }, + { + "id": "c3", + "at": "2019-07-16T20:00:00Z" + }, + { + "id": "c4", + "at": "2019-07-17T00:00:00Z" + } + ], + "events": [ + { + "id": "go-32437:issue:32437", + "kind": "opening", + "actor": "griesemer", + "createdAt": "2019-06-04T22:41:10Z", + "url": "https://github.com/golang/go/issues/32437", + "summary": "A Go team member opens the proposal for a `try` built-in that returns early from the enclosing function when the final error result is non-nil, with error wrapping left to `defer` and library helpers; the text links a design doc, the `tryhard` tool, and later summaries, and notes it was closed.", + "actorId": 8528975, + "actorType": "human" + }, + { + "id": "go-32437:comment:498877547", + "kind": "comment", + "actor": "rasky", + "createdAt": "2019-06-04T23:16:01Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498877547", + "summary": "A maintainer backs the minimal approach but suggests a postfix `?` operator, as Rust adopted, may read better than a built-in function.", + "actorId": 1014109, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498885500", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-04T23:53:58Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498885500", + "summary": "A maintainer asks whether named results set before `try` fails are kept, and whether the error result must be named.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498886856", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-06-05T00:00:39Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498886856", + "summary": "A Go team member answers that named results keep their values and the error result only needs a name when a deferred function refers to it.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498890526", + "kind": "comment", + "actor": "dominikh", + "createdAt": "2019-06-05T00:19:42Z", + "editedAt": "2019-06-05T00:54:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498890526", + "summary": "A maintainer objects to a built-in function altering caller control flow and prefers `?`; the comment was later struck through.", + "actorId": 39825, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498891337", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-05T00:24:05Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498891337", + "summary": "A Go team member points out that `panic` and `recover` are built-ins that already affect control flow.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498893175", + "kind": "comment", + "actor": "purpleidea", + "createdAt": "2019-06-05T00:33:34Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498893175", + "summary": "A user calls the change unnecessary sugar driven by vocal critics and says only error-wrapping helpers are missing.", + "actorId": 135091, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498894458", + "kind": "comment", + "actor": "webermaster", + "createdAt": "2019-06-05T00:40:57Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498894458", + "summary": "A user asks what `try` would do with a function returning two errors.", + "actorId": 9516168, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498895536", + "kind": "comment", + "actor": "dominikh", + "createdAt": "2019-06-05T00:47:09Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498895536", + "summary": "The maintainer withdraws the control-flow objection, regrets responding before the full design doc was out, and says `try` is the least bad option though simplification is not needed.", + "actorId": 39825, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498896474", + "kind": "comment", + "actor": "akyoto", + "createdAt": "2019-06-05T00:52:14Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498896474", + "summary": "A contributor doubts error handling needs simplifying, saying it turns vertical complexity into horizontal, but would pick `try` if forced.", + "actorId": 438936, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498896983", + "kind": "comment", + "actor": "cespare", + "createdAt": "2019-06-05T00:55:04Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498896983", + "summary": "A contributor asks for a rewrite tool so people can see how `try` would apply to their own code, ease migration, and examine the effects.", + "actorId": 318501, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498897078", + "kind": "comment", + "actor": "lestrrat", + "createdAt": "2019-06-05T00:55:35Z", + "editedAt": "2019-06-05T01:16:46Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498897078", + "summary": "A user worries that a bare `try` call hides the visual cue that control flow may exit and would need IDE highlighting.", + "actorId": 49281, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498908380", + "kind": "comment", + "actor": "randall77", + "createdAt": "2019-06-05T01:55:05Z", + "editedAt": "2019-06-05T01:55:24Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498908380", + "summary": "A contributor shows that the `defer` wrapping pattern fails with an unnamed local error variable and finds an explicit `if` clearer.", + "actorId": 6889504, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498932961", + "kind": "comment", + "actor": "deanveloper", + "createdAt": "2019-06-05T04:20:54Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498932961", + "summary": "A user likes the idea but argues that a common function exit without a `return` keyword will harm readability, citing a clearly structured CopyFile example.", + "actorId": 3196327, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498935541", + "kind": "comment", + "actor": "s4n-gt", + "createdAt": "2019-06-05T04:37:55Z", + "editedAt": "2019-06-05T04:41:18Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498935541", + "summary": "A user points to an existing AST preprocessor that implemented `try` years earlier.", + "actorId": 28922018, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498935724", + "kind": "comment", + "actor": "jasonmoo", + "createdAt": "2019-06-05T04:39:04Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498935724", + "summary": "A user calls it the most Go-like option so far but worries about debugging, since `try` must be unwrapped into `if` blocks to add breakpoints or prints.", + "actorId": 242808, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498936622", + "kind": "comment", + "actor": "Goodwine", + "createdAt": "2019-06-05T04:44:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498936622", + "summary": "A user warns that the `defer` wrapping pattern silently fails without a named result and beginners will trip on it.", + "actorId": 2022649, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498937150", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-05T04:48:22Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498937150", + "summary": "A Go team member replies that removing repetitive returns is the point, readers will learn to spot `try`, and people who want explicit returns can skip it.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498937169", + "kind": "comment", + "actor": "buchanae", + "createdAt": "2019-06-05T04:48:29Z", + "editedAt": "2019-06-05T04:50:24Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498937169", + "summary": "A contributor worries the design pushes named results and discourages adding context to errors, and suggests a `check` form that takes the error variable instead.", + "actorId": 262647, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498938610", + "kind": "comment", + "actor": "josharian", + "createdAt": "2019-06-05T04:58:04Z", + "editedAt": "2019-06-05T05:00:37Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498938610", + "summary": "A contributor suggests also allowing `func main() error` to simplify small scripts.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498939499", + "kind": "comment", + "actor": "deanveloper", + "createdAt": "2019-06-05T05:02:31Z", + "editedAt": "2019-06-05T05:07:45Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498939499", + "summary": "A user argues that the `panic` comparison fails because panics are rare, intuitive and catastrophic, unlike an everyday `try`.", + "actorId": 3196327, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498941435", + "kind": "comment", + "actor": "adg", + "createdAt": "2019-06-05T05:14:38Z", + "editedAt": "2019-06-05T05:15:01Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498941435", + "summary": "A contributor shares the concerns about named results and lost error context, noting the timing alongside new error-wrapping features.", + "actorId": 8446613, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498952165", + "kind": "comment", + "actor": "deanveloper", + "createdAt": "2019-06-05T06:12:45Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498952165", + "summary": "A user welcomes the fact that `try` rules out try/catch exceptions.", + "actorId": 3196327, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498958585", + "kind": "comment", + "actor": "agnivade", + "createdAt": "2019-06-05T06:41:29Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498958585", + "summary": "A contributor who now decorates every error says the proposal would force named results and would rarely fit his code.", + "actorId": 1774000, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498960081", + "kind": "comment", + "actor": "networkimprov", + "createdAt": "2019-06-05T06:47:33Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498960081", + "summary": "A user urges the Go team to prioritise generics over error handling, and argues `try` shares the faults of the earlier check/handle draft, preferring assignment-style syntax.", + "actorId": 458838, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498962209", + "kind": "comment", + "actor": "leaxoy", + "createdAt": "2019-06-05T06:56:23Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498962209", + "summary": "A user suggests using Rust's `?` instead.", + "actorId": 8556349, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498967099", + "kind": "comment", + "actor": "mattn", + "createdAt": "2019-06-05T07:15:19Z", + "editedAt": "2019-06-05T07:30:11Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498967099", + "summary": "A maintainer suggests marking the error result in the signature so the implicit bindings of `try` become visible.", + "actorId": 10111, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498973311", + "kind": "comment", + "actor": "sheerun", + "createdAt": "2019-06-05T07:37:31Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498973311", + "summary": "A user argues that since `try` can return it should be a statement-like keyword, not function-call syntax.", + "actorId": 292365, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498983366", + "kind": "comment", + "actor": "peterbourgon", + "createdAt": "2019-06-05T08:10:43Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498983366", + "summary": "A user fears the cost of a subtle, easily missed exit point and says the design makes unwrapped errors the default and wrapping opt-in.", + "actorId": 114509, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498985673", + "kind": "comment", + "actor": "dzrw", + "createdAt": "2019-06-05T08:18:00Z", + "editedAt": "2019-06-05T08:19:25Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498985673", + "summary": "A user worries `try` will become the social default, making richer error paths look improper to linters and reviewers.", + "actorId": 1149663, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:498995843", + "kind": "comment", + "actor": "davexpro", + "createdAt": "2019-06-05T08:47:52Z", + "editedAt": "2019-06-05T08:55:10Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-498995843", + "summary": "A user cites the 'errors are values' principle and argues errors should not be treated like exceptions.", + "actorId": 10829987, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499011742", + "kind": "comment", + "actor": "bitfield", + "createdAt": "2019-06-05T09:35:12Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499011742", + "summary": "A user opposes the proposal because the boilerplate is not a problem for him and his error handling varies too much for one shortcut.", + "actorId": 142262, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499011920", + "kind": "comment", + "actor": "Redundancy", + "createdAt": "2019-06-05T09:35:45Z", + "editedAt": "2019-06-05T09:36:03Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499011920", + "summary": "A user notes `panic` always stands alone on a line, unlike `try`, and would prefer any new flow construct be a leading statement.", + "actorId": 5021300, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499018505", + "kind": "comment", + "actor": "hmage", + "createdAt": "2019-06-05T09:54:59Z", + "editedAt": "2019-06-05T09:58:42Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499018505", + "summary": "A user says nested `try` calls obscure control flow and that libraries adopting it would push his company away from Go 2.", + "actorId": 739119, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499022075", + "kind": "comment", + "actor": "dolmen", + "createdAt": "2019-06-05T10:05:49Z", + "editedAt": "2019-06-05T10:40:21Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499022075", + "summary": "A contributor dislikes the name `try`, prefers `pass`, and finds a hidden return mid-expression hard to review.", + "actorId": 129536, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499025576", + "kind": "comment", + "actor": "gbbr", + "createdAt": "2019-06-05T10:17:38Z", + "editedAt": "2019-06-05T10:18:13Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499025576", + "summary": "A maintainer says it adds a second way to do the same thing and would reduce simplicity.", + "actorId": 6686356, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499044319", + "kind": "comment", + "actor": "prologic", + "createdAt": "2019-06-05T11:24:10Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499044319", + "summary": "A user questions saving a few lines and fears hidden handling will encourage lazy, buggy code.", + "actorId": 1290234, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499047207", + "kind": "comment", + "actor": "kungfusheep", + "createdAt": "2019-06-05T11:35:46Z", + "editedAt": "2019-06-05T11:36:10Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499047207", + "summary": "A user whose company adopted the `defer` pattern in anticipation of check/handle says that draft was more complete and its handler scope fit Go better than `defer`.", + "actorId": 6867511, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499061843", + "kind": "comment", + "actor": "frou", + "createdAt": "2019-06-05T12:27:32Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499061843", + "summary": "A contributor calls magic built-ins with inexpressible signatures an escape hatch that avoids real language evolution.", + "actorId": 172663, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499067357", + "kind": "comment", + "actor": "dominikh", + "createdAt": "2019-06-05T12:45:12Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499067357", + "summary": "A maintainer disputes that readers will learn to spot `try`, since `return` always starts a line while `try` can nest anywhere.", + "actorId": 39825, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499069052", + "kind": "comment", + "actor": "docmerlin", + "createdAt": "2019-06-05T12:50:09Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499069052", + "summary": "A user likens `try` to a special-cased macro.", + "actorId": 1236827, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499069296", + "kind": "comment", + "actor": "qrpnxz", + "createdAt": "2019-06-05T12:50:52Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499069296", + "summary": "A user replies that `try(` is just as searchable as `return`.", + "actorId": 1802350, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499070144", + "kind": "comment", + "actor": "eandre", + "createdAt": "2019-06-05T12:53:17Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499070144", + "summary": "A user clarifies the point was visual scanning, since returns always sit at the start of a line.", + "actorId": 425456, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499096049", + "kind": "comment", + "actor": "marwan-at-work", + "createdAt": "2019-06-05T14:02:15Z", + "editedAt": "2019-06-05T14:19:23Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499096049", + "summary": "A contributor argues `try` merely moves the clutter, the status quo is fine with better tooling, and `if err != nil` reads better.", + "actorId": 16294261, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499111564", + "kind": "comment", + "actor": "natefinch", + "createdAt": "2019-06-05T14:38:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499111564", + "summary": "A contributor objects that `try` nests code inside calls and lets a function exit mid-statement, and votes no.", + "actorId": 3185864, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499144834", + "kind": "comment", + "actor": "cpuguy83", + "createdAt": "2019-06-05T15:55:46Z", + "editedAt": "2019-06-05T16:01:23Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499144834", + "summary": "A user says error handling deserves care and a magic shortcut for bare returns will spread unannotated errors everywhere.", + "actorId": 799078, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499158653", + "kind": "comment", + "actor": "qrpnxz", + "createdAt": "2019-06-05T16:31:09Z", + "editedAt": "2019-06-05T16:31:21Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499158653", + "summary": "A user replies that people with different per-call handling can simply not use `try`.", + "actorId": 1802350, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499161412", + "kind": "comment", + "actor": "zeebo", + "createdAt": "2019-06-05T16:38:25Z", + "editedAt": "2019-06-05T17:39:58Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499161412", + "summary": "A contributor contrasts `try` as an expression usable anywhere with `panic` and `recover`, which effectively act as statements.", + "actorId": 96925, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499170320", + "kind": "comment", + "actor": "cpuguy83", + "createdAt": "2019-06-05T17:03:16Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499170320", + "summary": "A user who reads much Go says `try` will split code style or invite linters, and is only less typing.", + "actorId": 799078, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499175147", + "kind": "comment", + "actor": "elagergren-spideroak", + "createdAt": "2019-06-05T17:16:44Z", + "editedAt": "2019-06-05T17:20:08Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499175147", + "summary": "A user rejects the 'nobody forces you to use it' answer, since colleagues' code will use it, and says `try` reverses Go's explicitness.", + "actorId": 36516532, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499182128", + "kind": "comment", + "actor": "natefinch", + "createdAt": "2019-06-05T17:35:42Z", + "editedAt": "2019-06-05T17:39:04Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499182128", + "summary": "A contributor says `try` makes it easy to cram logic into one line and nested calls are hard to read.", + "actorId": 3185864, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499184008", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-06-05T17:40:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499184008", + "summary": "A Go team member notes the many repeated comments and asks people to use emoji reactions instead of restating points.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499224908", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-05T19:36:07Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499224908", + "summary": "A maintainer sketches one generic deferred handler helper, possibly made a semi-magic built-in, instead of many wrapping functions.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499261947", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-05T21:27:03Z", + "editedAt": "2019-06-06T15:27:08Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499261947", + "summary": "A Go team member posts a first summary: some welcome the simplification, while the main concerns are that it promotes quick exits over good error handling, hides control flow, and leans on named results and `defer`; he lists suggested alternatives.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499266605", + "kind": "comment", + "actor": "owais", + "createdAt": "2019-06-05T21:42:54Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499266605", + "summary": "A user suggests analysing public Go code to see how many error checks are truly repetitive versus adding context.", + "actorId": 46186, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499269702", + "kind": "comment", + "actor": "prologic", + "createdAt": "2019-06-05T21:53:37Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499269702", + "summary": "A user measures that the targeted boilerplate is about 1.4% of his own code and about 0.5% of the Go repository, questioning the priority.", + "actorId": 1290234, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499294383", + "kind": "comment", + "actor": "eihigh", + "createdAt": "2019-06-05T23:37:20Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499294383", + "summary": "A user likes `try` on its own line and suggests an optional handler function argument.", + "actorId": 44455895, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499307672", + "kind": "comment", + "actor": "mattn", + "createdAt": "2019-06-06T00:48:52Z", + "editedAt": "2019-06-06T00:49:49Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499307672", + "summary": "A maintainer warns that as an expression `try` invites nested functional-style chains.", + "actorId": 10111, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499501264", + "kind": "comment", + "actor": "rogpeppe", + "createdAt": "2019-06-06T13:48:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499501264", + "summary": "A contributor supports the proposal because it avoids the overlap between `handle` and `defer`, and notes it eases adding stack traces and other use cases.", + "actorId": 66491, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499564868", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-06T16:15:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499564868", + "summary": "A maintainer notes `check(err)` would read better than `try(err)` and that the definition permits odd forms.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499689834", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-06T22:22:53Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499689834", + "summary": "A Go team member says `try` could take an extra handler argument of type `func(error) error` but prefers keeping it simple.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499768999", + "kind": "comment", + "actor": "mikeschinkel", + "createdAt": "2019-06-07T06:09:02Z", + "editedAt": "2019-06-07T06:17:07Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499768999", + "summary": "A user writes a long critique, including concern that overloading `defer` for error handling is alarming.", + "actorId": 153285, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499786509", + "kind": "comment", + "actor": "klaidliadon", + "createdAt": "2019-06-07T07:28:29Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499786509", + "summary": "A user suggests a special identifier such as `#` on the left of an assignment to trigger an error return.", + "actorId": 5322228, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:499994511", + "kind": "comment", + "actor": "josharian", + "createdAt": "2019-06-07T18:38:09Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-499994511", + "summary": "A contributor proposes making `try` jump to an `error:` label like `goto`, removing the need for `defer` decoration and giving a visual clue.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500024508", + "kind": "comment", + "actor": "networkimprov", + "createdAt": "2019-06-07T20:17:06Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500024508", + "summary": "A user lists alternative syntaxes for named handlers that check/handle feedback had requested.", + "actorId": 458838, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500025062", + "kind": "comment", + "actor": "tv42", + "createdAt": "2019-06-07T20:18:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500025062", + "summary": "A user dislikes punctuation-heavy alternatives that would make Go resemble Perl.", + "actorId": 419909, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500091115", + "kind": "comment", + "actor": "mikeschinkel", + "createdAt": "2019-06-08T03:48:26Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500091115", + "summary": "A user prefers handling written after the error and proposes another handler syntax.", + "actorId": 153285, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500093549", + "kind": "comment", + "actor": "brynbellomy", + "createdAt": "2019-06-08T04:35:15Z", + "editedAt": "2019-06-08T09:44:59Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500093549", + "summary": "A user searches several large codebases for `try` as an identifier and argues a keyword would be acceptable instead of a built-in.", + "actorId": 135315, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500137318", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2019-06-08T16:22:39Z", + "editedAt": "2019-06-08T19:19:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500137318", + "summary": "A contributor stresses that `try` mixes a conditional return into an expression, unlike any existing construct.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500140132", + "kind": "comment", + "actor": "eggsbenjamin", + "createdAt": "2019-06-08T16:52:30Z", + "editedAt": "2019-06-08T22:02:49Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500140132", + "summary": "A user objects with a short 'if it is not broken, do not fix it' code joke.", + "actorId": 13178485, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500167591", + "kind": "comment", + "actor": "brynbellomy", + "createdAt": "2019-06-08T21:53:12Z", + "editedAt": "2019-06-08T21:58:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500167591", + "summary": "A user proposes `try` as a keyword restricted to its own line.", + "actorId": 135315, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500213884", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-09T13:51:20Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500213884", + "summary": "A maintainer suggests making `try` a statement rather than an expression to keep exit points visible.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500221181", + "kind": "comment", + "actor": "crawshaw", + "createdAt": "2019-06-09T15:29:06Z", + "editedAt": "2019-06-09T16:11:18Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500221181", + "summary": "A maintainer reads a few hundred standard-library error returns and reports `try` makes most a bit clearer and under one in ten would nest it in another expression, with examples.", + "actorId": 161319, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500227446", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-09T16:43:27Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500227446", + "summary": "A maintainer says the examples made him take the readability objections seriously and rewrites them with a statement form of `try`, which he finds clearer.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500231424", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-09T17:43:03Z", + "editedAt": "2019-06-17T16:39:22Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500231424", + "summary": "A maintainer thanks the reviewer of real examples and discusses whether `if try` should be legal under the statement idea.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500248294", + "kind": "comment", + "actor": "davecheney", + "createdAt": "2019-06-09T21:48:19Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500248294", + "summary": "A contributor agrees with another user that each converted example became less clear and more error-prone.", + "actorId": 7171, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500261335", + "kind": "comment", + "actor": "brynbellomy", + "createdAt": "2019-06-10T01:09:29Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500261335", + "summary": "A user agrees the examples hide exit points and rewrites them under a stricter keyword-at-line-start variant for comparison.", + "actorId": 135315, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500305017", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-10T06:19:39Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500305017", + "summary": "A maintainer notes that `defer` handling forces a named error and introduces a new form of nil-check boilerplate, plus deferred and plain versions of helpers.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500455785", + "kind": "comment", + "actor": "natefinch", + "createdAt": "2019-06-10T15:18:27Z", + "editedAt": "2019-06-10T15:19:17Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500455785", + "summary": "A contributor commends the standard-library review but concludes the converted snippets are harder to read and easy to misread.", + "actorId": 3185864, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500488003", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-10T16:41:19Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500488003", + "summary": "A maintainer explains his `catch` block idea, which names the error locally and so works with plain `fmt.Errorf`.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500613160", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-10T22:09:01Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500613160", + "summary": "A Go team member posts a second summary: a built-in is widely felt to be the wrong form and should at least be a keyword or statement, concerns about error context and named results persist, and many alternatives are listed.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500908400", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-11T15:59:53Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500908400", + "summary": "A maintainer compares expression and statement `try`-`else` forms with a built-in taking a handler.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500936796", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-06-11T17:09:07Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500936796", + "summary": "A Go team member asks readers to glaze over `try` the way they already skim nil checks, expecting its control flow to become second nature.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500958241", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-11T18:05:52Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500958241", + "summary": "A maintainer replies that nil checks still register instantly by shape, and a `try` statement would be easy to skim yet hard to miss.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:500998690", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-11T19:55:28Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-500998690", + "summary": "A maintainer suggests a decoration function after `else` in a statement form, with helper constructors.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501078976", + "kind": "comment", + "actor": "deanveloper", + "createdAt": "2019-06-12T00:58:39Z", + "editedAt": "2019-06-12T03:07:20Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501078976", + "summary": "A user favours `try` as a statement, which stays explicit and in a fixed position, and calls named-result wrapping a clever hack.", + "actorId": 3196327, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501100878", + "kind": "comment", + "actor": "josharian", + "createdAt": "2019-06-12T02:54:12Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501100878", + "summary": "A contributor argues bad nested code should be policed by review and norms rather than distorting the language.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501127013", + "kind": "comment", + "actor": "beoran", + "createdAt": "2019-06-12T05:33:18Z", + "editedAt": "2019-06-12T05:33:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501127013", + "summary": "A user suggests a block form of `try` covering several statements for greater boilerplate reduction.", + "actorId": 71289, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501603938", + "kind": "comment", + "actor": "guybrand", + "createdAt": "2019-06-13T08:27:03Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501603938", + "summary": "A user posts a loop example handling errors without returning, to contrast with `try`.", + "actorId": 5917810, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501834168", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-13T18:50:51Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501834168", + "summary": "A maintainer notes a keyword `try` could count as a terminating statement.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501848284", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-13T19:33:30Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501848284", + "summary": "The maintainer concedes that terminating-statement idea is rarely reliable and not worth it.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501878888", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-13T21:06:20Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501878888", + "summary": "A Go team member asks to refocus: the thread is about this specific design, not a call for new syntax, and is dominated by a dozen people drafting alternatives; feedback should address the proposal itself.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:501925568", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-14T00:30:33Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-501925568", + "summary": "A Go team member says a design must be judged as a whole rather than by independently rating its aspects.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502167123", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-06-14T16:05:14Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502167123", + "summary": "A Go team lead thanks participants and announces an external page he built to give a navigable view of the thread, updated in batches.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502489406", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-16T22:01:44Z", + "editedAt": "2019-06-17T16:34:17Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502489406", + "summary": "A maintainer asks the design to cover costs and mistakes when switching between error decoration styles and how tooling could help.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502734599", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-06-17T15:35:28Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502734599", + "summary": "A Go team lead says there will be no compiler flags or vet checks to disable a feature: if it is bad enough to disable it will not be added.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502800930", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-06-17T18:35:18Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502800930", + "summary": "A Go team lead says many counter-proposals duplicate the `if` statement, which is already a capable error construct, and the goal is lighter error checks.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502891889", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-17T23:51:11Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502891889", + "summary": "A Go team member releases the `tryhard` tool, which finds over 5000 candidate sites in the standard library, and invites people to run it.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502900265", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2019-06-18T00:34:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502900265", + "summary": "A bot links a change applying `tryhard` rewrites to the Go source tree.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:502975437", + "kind": "comment", + "actor": "beoran", + "createdAt": "2019-06-18T07:03:44Z", + "editedAt": "2019-06-18T07:04:29Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-502975437", + "summary": "A user attributes the criticism to high expectations set by the more comprehensive check/handle draft.", + "actorId": 71289, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503034753", + "kind": "comment", + "actor": "ardan-bkennedy", + "createdAt": "2019-06-18T09:54:31Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503034753", + "summary": "A user argues the change is engineering for its own sake, error handling is not broken, and it trades readability for convenience, possibly to attract enterprise developers.", + "actorId": 2280005, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503228130", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-06-18T17:13:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503228130", + "summary": "A Go team lead rejects the idea that some developers are less deserving and disputes the claim about motives.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503276339", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-06-18T19:23:57Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503276339", + "summary": "A Go team member says the proposal never called error handling broken, only verbose, and disputes several of the user's claims.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503297387", + "kind": "comment", + "actor": "rsc", + "createdAt": "2019-06-18T20:24:17Z", + "editedAt": "2019-06-18T20:24:43Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503297387", + "summary": "A Go team lead discusses error context, saying any solution should make adding context more likely and arguing `try` with deferred helpers can do so.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503316424", + "kind": "comment", + "actor": "alexbrainman", + "createdAt": "2019-06-18T21:20:32Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503316424", + "summary": "A maintainer says he too sees no problem with current error code and asks how older Go versions would handle code using `try`.", + "actorId": 9796621, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503330175", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-18T22:07:27Z", + "editedAt": "2019-06-18T22:33:54Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503330175", + "summary": "A maintainer explains that the `go` directive in `go.mod` would gate language features by version.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503334859", + "kind": "comment", + "actor": "alexbrainman", + "createdAt": "2019-06-18T22:26:02Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503334859", + "summary": "The other maintainer says he does not use modules and cannot follow the explanation.", + "actorId": 9796621, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503337350", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-06-18T22:36:25Z", + "editedAt": "2019-06-19T00:46:30Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503337350", + "summary": "A maintainer says older toolchains would report an undefined `try` with a note about the required Go version.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503377759", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2019-06-19T02:11:13Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503377759", + "summary": "A maintainer asks whether a helper package of wrapping functions would accompany handlers if they were added later.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:503470555", + "kind": "comment", + "actor": "alexbrainman", + "createdAt": "2019-06-19T08:53:52Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-503470555", + "summary": "The maintainer says the scenario is hypothetical and hard to assess without modules.", + "actorId": 9796621, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507381163", + "kind": "comment", + "actor": "sirkon", + "createdAt": "2019-07-01T18:48:27Z", + "editedAt": "2019-07-01T19:58:06Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507381163", + "summary": "A user objects to being told to move on and argues the proposal solves a non-existent problem at the cost of reliability.", + "actorId": 56399, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507382381", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-01T18:52:09Z", + "editedAt": "2019-07-01T18:58:15Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507382381", + "summary": "A Go team member repeats that experience with `try` in real code is now worth more than further debate, and asks for experience reports on the feedback wiki.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507391068", + "kind": "comment", + "actor": "integrii", + "createdAt": "2019-07-01T19:19:14Z", + "editedAt": "2019-07-01T19:22:13Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507391068", + "summary": "A user argues the community has spoken: a separate 'leave it alone' issue has far more upvotes than this one, which has more downvotes than upvotes.", + "actorId": 98695, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507397728", + "kind": "comment", + "actor": "ugorji", + "createdAt": "2019-07-01T19:40:50Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507397728", + "summary": "A contributor replies that Go is not designed by committee or popularity and the stewards should decide on the data.", + "actorId": 1222082, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507445030", + "kind": "comment", + "actor": "ubikenobi", + "createdAt": "2019-07-01T22:14:47Z", + "editedAt": "2019-07-01T22:43:13Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507445030", + "summary": "A user reports 933 `tryhard` candidates in his company's tools and supports `try` for enforcing a consistent error pattern.", + "actorId": 2730387, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507547376", + "kind": "comment", + "actor": "makhov", + "createdAt": "2019-07-02T07:01:05Z", + "editedAt": "2019-07-02T07:57:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507547376", + "summary": "A user calls it a bad idea, citing implicit error variables, ugly `defer` code and a well-known essay on handling errors gracefully.", + "actorId": 557879, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507792993", + "kind": "comment", + "actor": "cespare", + "createdAt": "2019-07-02T18:26:22Z", + "editedAt": "2019-07-06T01:51:44Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507792993", + "summary": "A contributor reports `tryhard` statistics on his company's code: about 2% fewer lines, with 39% of `if` statements being error checks and 70% of those `try` candidates.", + "actorId": 318501, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:507928240", + "kind": "comment", + "actor": "mattn", + "createdAt": "2019-07-03T03:58:40Z", + "editedAt": "2019-07-03T04:08:32Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-507928240", + "summary": "A maintainer illustrates that `try` would let several fallible calls share one `if` condition.", + "actorId": 10111, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:508831981", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-07-05T18:16:28Z", + "editedAt": "2019-07-05T18:22:12Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-508831981", + "summary": "A maintainer doubts a built-in would absorb `fmt`-style formatting and notes a handler argument could cover that need.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:508873640", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-05T22:30:52Z", + "editedAt": "2019-07-05T22:38:16Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-508873640", + "summary": "A Go team member releases an improved `tryhard` with summary statistics, showing for the Go repository how many functions return errors and how many nil checks are `try` candidates.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:508896302", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2019-07-06T04:33:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-508896302", + "summary": "A bot links a second change applying `tryhard` to the Go source tree with new options.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:509021141", + "kind": "comment", + "actor": "timbray", + "createdAt": "2019-07-07T18:33:02Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-509021141", + "summary": "A user from a large cloud provider opposes `try` on balance, praising the minimal design but citing Go's readability and simplicity.", + "actorId": 17555, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:509024693", + "kind": "comment", + "actor": "sean-", + "createdAt": "2019-07-07T19:30:26Z", + "editedAt": "2019-07-07T19:32:06Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-509024693", + "summary": "A user who reads much unfamiliar code finds `if err != nil` easy to read and says `try` is premature until error wrapping and generics have matured.", + "actorId": 349516, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:509755446", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-09T18:30:52Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-509755446", + "summary": "A Go team member explains the proposal sits at the feedback stage of the Go 2 process, says only one technical flaw was found and fixed, values data-backed comments over sentiment, and says a few dozen vocal opponents dominate the thread.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:509853392", + "kind": "comment", + "actor": "nathangoulding", + "createdAt": "2019-07-09T23:59:18Z", + "editedAt": "2019-07-10T02:48:36Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-509853392", + "summary": "A user explains his downvote: he prefers a keyword, would rename it `guard` or `ensure`, and would rather leave `if err != nil` alone.", + "actorId": 770510, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:509904726", + "kind": "comment", + "actor": "thepudds", + "createdAt": "2019-07-10T04:40:18Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-509904726", + "summary": "A maintainer posts `tryhard` statistics for 20 popular packages, with a median of 58% of error checks being candidates.", + "actorId": 20628140, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:510004685", + "kind": "comment", + "actor": "eug48", + "createdAt": "2019-07-10T10:23:56Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-510004685", + "summary": "A user proposes a compact single-line `if err return ...` form instead.", + "actorId": 932521, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:510806311", + "kind": "comment", + "actor": "sylr", + "createdAt": "2019-07-12T08:48:34Z", + "editedAt": "2019-07-12T08:53:08Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-510806311", + "summary": "A user insists it should not be a built-in function, comparing it to writing `go` as a function call.", + "actorId": 153052, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:510815599", + "kind": "comment", + "actor": "faiface", + "createdAt": "2019-07-12T09:17:34Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-510815599", + "summary": "A user replies that a function-call form of `go` would be acceptable.", + "actorId": 3924105, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:511023427", + "kind": "comment", + "actor": "gbbr", + "createdAt": "2019-07-12T20:30:31Z", + "editedAt": "2019-07-12T20:31:32Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-511023427", + "summary": "A maintainer tries `try` on his own code and finds the inlined version harder to read.", + "actorId": 6686356, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:511026756", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-12T20:42:28Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-511026756", + "summary": "A Go team member shows the same code split into two lines with `try`, arguing compressing everything into one expression is a style choice, not inherent to `try`.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:511702278", + "kind": "comment", + "actor": "Ju-B", + "createdAt": "2019-07-16T07:35:49Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-511702278", + "summary": "A user asks not to add the magic, fearing it will appear everywhere, and prefers explicit handling.", + "actorId": 5935550, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:511929884", + "kind": "comment", + "actor": "VojtechVitek", + "createdAt": "2019-07-16T18:20:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-511929884", + "summary": "A user summarises the main objections: horizontal complexity, hard-to-read nesting, invisible returns, worse wrapping, a split community and churn between styles.", + "actorId": 139342, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512035919", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-16T23:08:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512035919", + "summary": "A Go team member, writing for the Proposal Review Committee, declines the proposal ahead of the planned schedule, citing the overwhelming response, missed issues with debug prints and code coverage, and many people saying the problem was not worth solving; he asks for experience reports on the wiki.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:process:closed:2019-07-16T23:08:49Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2019-07-16T23:08:49Z", + "url": "https://github.com/golang/go/issues/32437", + "summary": "The issue is closed; the API does not record by whom.", + "actorType": "unknown", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512050616", + "kind": "comment", + "actor": "ghost", + "createdAt": "2019-07-17T00:25:05Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512050616", + "summary": "A user thanks the Go team for the work and for listening.", + "actorId": 10137, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512072361", + "kind": "comment", + "actor": "lestrrat", + "createdAt": "2019-07-17T02:11:49Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512072361", + "summary": "A user thanks the Go team member for his patience.", + "actorId": 49281, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512094843", + "kind": "comment", + "actor": "justaugustus", + "createdAt": "2019-07-17T04:14:25Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512094843", + "summary": "A user suggests locking the thread.", + "actorId": 567897, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512108862", + "kind": "comment", + "actor": "matryer", + "createdAt": "2019-07-17T05:33:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512108862", + "summary": "A user thanks the team and community and praises the engagement.", + "actorId": 101659, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512114069", + "kind": "comment", + "actor": "cuteLittleDevil", + "createdAt": "2019-07-17T05:57:20Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512114069", + "summary": "A user posts a pseudo-syntax for attaching conditional returns to a function.", + "actorId": 38343763, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512138516", + "kind": "comment", + "actor": "danrl", + "createdAt": "2019-07-17T07:31:35Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512138516", + "summary": "A user says the outcome shows the community is heard and that declined changes are also improvements.", + "actorId": 859656, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512355967", + "kind": "comment", + "actor": "kaedys", + "createdAt": "2019-07-17T16:29:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512355967", + "summary": "A user suggests a ternary-like conditional return syntax for future discussion.", + "actorId": 9020449, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512362839", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2019-07-17T16:48:46Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512362839", + "summary": "A Go team member says they need to understand which aspects of error handling are most problematic, that a small verbosity cut may not justify the cost, and that he is unsure a middle ground exists.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:512503845", + "kind": "comment", + "actor": "ngrilly", + "createdAt": "2019-07-17T18:00:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-512503845", + "summary": "A user argues the feedback suffers self-selection bias, since developers bothered by verbose errors avoid Go.", + "actorId": 594688, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:513002788", + "kind": "comment", + "actor": "griesemer", + "createdAt": "2019-07-18T21:52:04Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-513002788", + "summary": "A Go team member thanks everyone, says the team underestimated the reaction, expects error handling work to wait behind generics, and asks for further discussion to move elsewhere.", + "actorId": 8528975, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:515010582", + "kind": "comment", + "actor": "l3xxxy", + "createdAt": "2019-07-25T11:40:47Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-515010582", + "summary": "A user calls the idea an anti-pattern.", + "actorId": 29869517, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:516621042", + "kind": "comment", + "actor": "OneOfOne", + "createdAt": "2019-07-30T22:33:48Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-516621042", + "summary": "A contributor says the issue should be reopened, calling it the most sensible error proposal.", + "actorId": 1080443, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:531234027", + "kind": "comment", + "actor": "florisvdg", + "createdAt": "2019-09-13T13:20:34Z", + "editedAt": "2020-06-04T14:49:59Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-531234027", + "summary": "A user says they would expect keyword syntax without parentheses.", + "actorId": 7430639, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:549089552", + "kind": "comment", + "actor": "NareshDen", + "createdAt": "2019-11-02T23:15:16Z", + "editedAt": "2019-11-03T02:31:44Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-549089552", + "summary": "A user proposes `try` with an inline handler block.", + "actorId": 790315, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:1217594074", + "kind": "comment", + "actor": "guoliang1994", + "createdAt": "2022-08-17T07:38:29Z", + "editedAt": "2022-08-17T07:43:45Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-1217594074", + "summary": "A user writing in Chinese says Go's error handling is hard to use and shares a try/catch-style helper built on `recover`.", + "actorId": 21941108, + "actorType": "human", + "parentId": "go-32437:issue:32437" + }, + { + "id": "go-32437:comment:2278932700", + "kind": "comment", + "actor": "flysand7", + "createdAt": "2024-08-10T01:49:08Z", + "url": "https://github.com/golang/go/issues/32437#issuecomment-2278932700", + "summary": "A user posts an image without text, years after closing.", + "actorId": 27109464, + "actorType": "human", + "parentId": "go-32437:issue:32437" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-unique-handle.json b/evals/datasets/decisions-v1/cases/go-unique-handle.json new file mode 100644 index 000000000..ea0d73c04 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-unique-handle.json @@ -0,0 +1,992 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-unique-handle", + "title": "Go unique package and Handle", + "source": { + "url": "https://github.com/golang/go/issues/62483", + "retrievedAt": "2026-10-18T07:30:12.620768+00:00", + "repository": "golang/go", + "number": 62483 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-09-06T18:30:00Z" + }, + { + "id": "c2", + "at": "2023-10-04T17:30:00Z" + }, + { + "id": "c3", + "at": "2023-10-26T23:00:00Z" + }, + { + "id": "c4", + "at": "2023-11-02T17:30:00Z" + } + ], + "events": [ + { + "id": "go-62483:issue:62483", + "kind": "opening", + "actor": "mknyszek", + "createdAt": "2023-09-06T16:52:19Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "A Go runtime team member proposes a standard library package, first called intern, that returns a comparable globally unique handle for any comparable value, backed by a runtime-integrated weak map, replacing the go4.org/intern copy already in the standard library.", + "actorId": 1248668, + "actorType": "human" + }, + { + "id": "go-62483:comment:1708845101", + "kind": "comment", + "actor": "seebs", + "createdAt": "2023-09-06T17:56:43Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708845101", + "summary": "A contributor likes it and asks whether weakly keyed or weakly valued maps would solve interning more generally.", + "actorId": 166725, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1708849598", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-06T18:00:11Z", + "editedAt": "2023-09-06T18:07:32Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708849598", + "summary": "The proposer says the team explored weak-keyed maps (ephemerons) and found them insufficient for interning, though useful elsewhere.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1708867754", + "kind": "comment", + "actor": "dsnet", + "createdAt": "2023-09-06T18:13:17Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708867754", + "summary": "A maintainer asks whether string interning would be done by converting bytes, making a handle and reading the value back.", + "actorId": 6354026, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1708872411", + "kind": "comment", + "actor": "dsnet", + "createdAt": "2023-09-06T18:16:22Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708872411", + "summary": "The same maintainer notes the design does not solve global per-type caches such as the json encoder cache, which leaks dynamically built types.", + "actorId": 6354026, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1708878565", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-06T18:21:15Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708878565", + "summary": "The proposer says yes, but callers are encouraged to keep the handle rather than the string to keep deduplication and cheap comparison.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1708889996", + "kind": "comment", + "actor": "dsnet", + "createdAt": "2023-09-06T18:29:59Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1708889996", + "summary": "The maintainer finds that unfortunate for json unmarshalling, which stores plain strings, though sharing within a GC cycle still helps.", + "actorId": 6354026, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1709053779", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-06T20:25:30Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1709053779", + "summary": "The proposer explains why arbitrary weak-keyed maps would break the GC abstraction, suggests a type-keyed map for caches, and says only opaque string interning would fully serve json.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1709166369", + "kind": "comment", + "actor": "komuw", + "createdAt": "2023-09-06T21:40:33Z", + "editedAt": "2023-09-06T22:12:01Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1709166369", + "summary": "A comment GitHub marks as hidden (resolved), asking whether removing the Proposal label was intended.", + "actorId": 5163857, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1709399724", + "kind": "comment", + "actor": "zikaeroh", + "createdAt": "2023-09-07T02:49:52Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1709399724", + "summary": "A contributor points to a sync.Pool-based string interning library and wonders whether pooling handles helps.", + "actorId": 48577114, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1709409659", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-07T03:06:18Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1709409659", + "summary": "The proposer floats a string special case where the handle points to the string's backing store.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1710195053", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-09-07T13:53:31Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1710195053", + "summary": "A Go team member adds the proposal to the active review column.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1710484916", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-07T16:50:06Z", + "editedAt": "2023-09-08T02:10:52Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1710484916", + "summary": "The proposer refines the idea, noting strings could be fully interned with single-pointer comparison at the cost of prefix sharing.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1712468017", + "kind": "comment", + "actor": "TheCoreMan", + "createdAt": "2023-09-09T09:29:22Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1712468017", + "summary": "A user finds it useful and asks whether profiling could recommend interning, otherwise adoption may stay low.", + "actorId": 6576891, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1718770774", + "kind": "comment", + "actor": "karianna", + "createdAt": "2023-09-14T05:06:49Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1718770774", + "summary": "A user from another company's Java team shares experience with Java string deduplication, asks about a public plus internal split, and warns weak references are hard to debug.", + "actorId": 180840, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1728184989", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-09-20T17:47:26Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1728184989", + "summary": "A Go team member suggests renaming the package to unique and the type to Handle, since intern and Symbol carry baggage from Lisp and Java.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1728193750", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-09-20T17:54:18Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1728193750", + "summary": "The proposer has no strong view and is happy to rename if there is consensus.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1744222013", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-10-03T05:11:32Z", + "editedAt": "2023-10-03T05:12:55Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1744222013", + "summary": "A contributor dislikes New because it implies pointers and fresh values, preferring Make or perhaps Intern.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1744241362", + "kind": "comment", + "actor": "DeedleFake", + "createdAt": "2023-10-03T05:34:44Z", + "editedAt": "2023-10-03T05:38:30Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1744241362", + "summary": "A user offers JavaScript-style names, a symbol package with For and Of.", + "actorId": 326750, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1744959914", + "kind": "comment", + "actor": "josharian", + "createdAt": "2023-10-03T13:16:46Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1744959914", + "summary": "A contributor notes Elixir calls this an atom.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745162059", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-03T15:01:02Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745162059", + "summary": "The proposer suggests Make returning an Identity type.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745220733", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-10-03T15:31:06Z", + "editedAt": "2023-10-03T15:32:07Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745220733", + "summary": "A contributor asks for non-string use cases, arguing that if it is mostly strings a transparent string-only API might be better.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745311773", + "kind": "comment", + "actor": "hherman1", + "createdAt": "2023-10-03T16:18:38Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745311773", + "summary": "A user suggests a strings-only version belongs in the strings package.", + "actorId": 611822, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745316353", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-03T16:21:17Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745316353", + "summary": "The proposer argues hidden string interning would add overhead to all strings, and an explicit handle should not be limited to strings.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745325664", + "kind": "comment", + "actor": "DeedleFake", + "createdAt": "2023-10-03T16:26:10Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745325664", + "summary": "A user notes tuples could make struct comparisons more common.", + "actorId": 326750, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745337940", + "kind": "comment", + "actor": "randall77", + "createdAt": "2023-10-03T16:32:56Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745337940", + "summary": "A Go team member suggests allocating interned strings in a separate memory region so comparisons can short-circuit.", + "actorId": 6889504, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1745494349", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-03T18:20:46Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1745494349", + "summary": "The proposer weighs that idea's allocator costs against its benefit of no overhead when not interning.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1746467071", + "kind": "comment", + "actor": "cristaloleg", + "createdAt": "2023-10-04T09:14:53Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1746467071", + "summary": "A user suggests putting interning in the runtime package.", + "actorId": 366002, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747137902", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-04T15:33:10Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747137902", + "summary": "The proposer prefers not to grow runtime, would choose strings.Intern if going string-only, but still favours the explicit handle design.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747242415", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-10-04T16:21:31Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747242415", + "summary": "A Go team member agrees, finding string interning subtle and the explicit package clearer, and imagines interning structs.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747329302", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-10-04T17:18:48Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747329302", + "summary": "A contributor asks whether deduplication lasts as long as the handle or the allocation, since that decides whether APIs must expose handles.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747329964", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-10-04T17:19:15Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747329964", + "summary": "A Go team member says limiting to strings is too narrow, citing deduplicating SHA256 hashes, backs package unique, and says only the constructor name remains, leaning to Make.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747334007", + "kind": "comment", + "actor": "josharian", + "createdAt": "2023-10-04T17:22:13Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747334007", + "summary": "A contributor lists alternative constructor names.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747338238", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2023-10-04T17:25:11Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747338238", + "summary": "A maintainer suggests For.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747346420", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-10-04T17:31:03Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747346420", + "summary": "A contributor asks for a constructor name that leaves room for later additions and for package docs.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747408267", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-10-04T18:15:21Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747408267", + "summary": "A Go team member says deduplication is tied to the handle's lifetime but implementation will likely pool, and sees no need for encoding packages to expose handles.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747428562", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-04T18:30:11Z", + "editedAt": "2023-10-04T18:30:54Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747428562", + "summary": "The proposer says strings could bind interning to the string's own lifetime, and floats encoding packages understanding handles.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1747626195", + "kind": "comment", + "actor": "hherman1", + "createdAt": "2023-10-04T20:54:21Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1747626195", + "summary": "A user says reading a value straight back from a handle will confuse reviewers and suggests a dedicated string helper.", + "actorId": 611822, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1758128869", + "kind": "comment", + "actor": "aclements", + "createdAt": "2023-10-11T17:07:42Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1758128869", + "summary": "A maintainer supports a best-effort string helper alongside handles since one can be built on the other.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:renamed:2023-10-11T17:12:57Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-10-11T17:12:57Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "A Go team member renames the issue to propose package unique with unique.Handle.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1758139119", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-10-11T17:14:08Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1758139119", + "summary": "A Go team member says Handle, Value and Make remain the best names and asks whether concerns are resolved.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1758145309", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-10-11T17:18:41Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1758145309", + "summary": "A contributor proposes MakeHandle for clarity and future room.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1758196781", + "kind": "comment", + "actor": "aclements", + "createdAt": "2023-10-11T17:55:43Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1758196781", + "summary": "A maintainer questions how effective string-to-string interning via handles would be across GC cycles.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1758336072", + "kind": "comment", + "actor": "ianlancetaylor", + "createdAt": "2023-10-11T19:01:03Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1758336072", + "summary": "A Go team member argues not to mix this with string interning, which solves a different problem.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1760032084", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-10-12T17:13:47Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1760032084", + "summary": "A Go team member agrees, explains the map must be weak on values, and says reading the value back without keeping handles achieves little.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:renamed:2023-10-12T18:31:24Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-10-12T18:31:24Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "A Go team member retitles the issue in the package-prefix style.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1760166724", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-10-12T18:32:44Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1760166724", + "summary": "A Go team member replies MakeHandle is redundant because the package holds only Handle.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1760199624", + "kind": "comment", + "actor": "ChrisHines", + "createdAt": "2023-10-12T18:51:02Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1760199624", + "summary": "The contributor argues call sites would read better with a more descriptive name.", + "actorId": 1060711, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1774049658", + "kind": "comment", + "actor": "mitar", + "createdAt": "2023-10-22T09:55:54Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1774049658", + "summary": "A contributor suggests Obtain and notes doc comments still say symbol.", + "actorId": 585279, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1774157841", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-22T17:56:06Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1774157841", + "summary": "The proposer reads Make as making a value unique and agrees docs should say handle.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1782053117", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-10-26T23:19:44Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1782053117", + "summary": "A Go team member marks the proposal likely accept on behalf of the review group.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:labeled:2023-10-26T23:19:45Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-10-26T23:19:45Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "The proposal enters the final comment period.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1782136008", + "kind": "comment", + "actor": "josharian", + "createdAt": "2023-10-27T01:04:51Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1782136008", + "summary": "A contributor asks whether the doc wording should say if and only if.", + "actorId": 67496, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1782265817", + "kind": "comment", + "actor": "rabbbit", + "createdAt": "2023-10-27T04:18:30Z", + "editedAt": "2023-10-29T01:23:26Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1782265817", + "summary": "A user asks whether handles must be global or could use separate namespaces for isolation and configuration.", + "actorId": 290258, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1782374048", + "kind": "comment", + "actor": "mitar", + "createdAt": "2023-10-27T06:34:04Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1782374048", + "summary": "A contributor again suggests Obtain.", + "actorId": 585279, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1782919327", + "kind": "comment", + "actor": "bradfitz", + "createdAt": "2023-10-27T13:28:40Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1782919327", + "summary": "A contributor quips that Obtain is just a longer Get.", + "actorId": 2621, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1783256230", + "kind": "comment", + "actor": "mitar", + "createdAt": "2023-10-27T17:19:23Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1783256230", + "summary": "The contributor says Get also works.", + "actorId": 585279, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1783292611", + "kind": "comment", + "actor": "cherrymui", + "createdAt": "2023-10-27T17:50:29Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1783292611", + "summary": "A maintainer notes the doc comments still mention Symbol.", + "actorId": 14119929, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1783327054", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2023-10-27T18:21:50Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1783327054", + "summary": "The proposer argues explicit namespaces would invite bugs where equal values compare unequal, and that per-type sharding can stay an implementation detail.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1783978373", + "kind": "comment", + "actor": "rabbbit", + "createdAt": "2023-10-29T02:15:01Z", + "editedAt": "2023-10-29T04:36:41Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1783978373", + "summary": "The user clarifies they support the proposal and only wanted noisy-neighbour effects considered.", + "actorId": 290258, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1784003830", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2023-10-29T05:29:00Z", + "editedAt": "2023-10-29T05:31:56Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1784003830", + "summary": "A contributor argues global handles preserve the key equality guarantee and that defined types already give namespaces.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1784012350", + "kind": "comment", + "actor": "rabbbit", + "createdAt": "2023-10-29T06:33:10Z", + "editedAt": "2023-10-30T12:19:11Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1784012350", + "summary": "The user explains their concern is handle generation cost, not comparison.", + "actorId": 290258, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1789343987", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-11-01T17:15:46Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1789343987", + "summary": "A Go team member says no package can observe another's handles and big maps stay fast.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1789389299", + "kind": "comment", + "actor": "dsnet", + "createdAt": "2023-11-01T17:45:42Z", + "editedAt": "2023-11-01T17:45:56Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1789389299", + "summary": "A maintainer compares the concern to any package being able to exhaust memory and suggests sharding by type internally.", + "actorId": 6354026, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1791156853", + "kind": "comment", + "actor": "rsc", + "createdAt": "2023-11-02T17:15:58Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1791156853", + "summary": "A Go team member declares the proposal accepted with no change in consensus, and the issue now tracks implementation.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:renamed:2023-11-02T17:15:59Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-11-02T17:15:59Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "The title drops the proposal prefix.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:labeled:2023-11-02T17:16:01Z", + "kind": "process", + "actor": "rsc", + "createdAt": "2023-11-02T17:16:01Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "The Proposal-Accepted label is added.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1799002124", + "kind": "comment", + "actor": "rabbbit", + "createdAt": "2023-11-07T15:51:17Z", + "editedAt": "2023-11-07T15:51:41Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1799002124", + "summary": "A user restates their concern about many short-lived handles, without seeking a change.", + "actorId": 290258, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1800913220", + "kind": "comment", + "actor": "randall77", + "createdAt": "2023-11-08T02:33:44Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1800913220", + "summary": "A Go team member wonders whether runtime type descriptors could live in such a weak map so reflect-built types can be collected.", + "actorId": 6889504, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1802161278", + "kind": "comment", + "actor": "cherrymui", + "createdAt": "2023-11-08T15:46:55Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1802161278", + "summary": "A maintainer finds it worth trying but notes type references are not always tracked.", + "actorId": 14119929, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1913462714", + "kind": "comment", + "actor": "hauntedness", + "createdAt": "2024-01-28T05:48:35Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1913462714", + "summary": "A user suggests the sync package and prefers the name Intern over Make.", + "actorId": 59566708, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1915415516", + "kind": "comment", + "actor": "snglagolev", + "createdAt": "2024-01-29T19:29:45Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1915415516", + "summary": "A user asks whether Handle is a weak reference.", + "actorId": 23384167, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1915473535", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2024-01-29T20:07:59Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1915473535", + "summary": "The proposer says the name is settled barring serious concerns, and explains Handle is a strong reference while the internal map holds weak ones.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1915561213", + "kind": "comment", + "actor": "snglagolev", + "createdAt": "2024-01-29T21:02:54Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1915561213", + "summary": "The user asks whether that weak mechanism will be public.", + "actorId": 23384167, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1915610170", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2024-01-29T21:33:01Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1915610170", + "summary": "The proposer points them to the alternatives section on weak references.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1927978895", + "kind": "comment", + "actor": "snglagolev", + "createdAt": "2024-02-05T19:53:53Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1927978895", + "summary": "The user asks about copies returned from handles to large arrays.", + "actorId": 23384167, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:1928083719", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2024-02-05T20:59:21Z", + "editedAt": "2024-02-05T21:00:01Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-1928083719", + "summary": "A contributor explains Value returns a copy while only one heap copy exists.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2040954891", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2024-04-06T04:00:07Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2040954891", + "summary": "A bot links a change adding a concurrent hash-trie map.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2040954893", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2024-04-06T04:00:07Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2040954893", + "summary": "A bot links the change adding the unique package with Make and Handle.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2040954897", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2024-04-06T04:00:08Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2040954897", + "summary": "A bot links a change adding internal weak pointers.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2040954898", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2024-04-06T04:00:08Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2040954898", + "summary": "A bot links a supporting internal ABI change.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:process:closed:2024-04-22T18:15:50Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2024-04-22T18:15:50Z", + "url": "https://github.com/golang/go/issues/62483", + "summary": "The issue is closed by the implementing change.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2136308452", + "kind": "comment", + "actor": "Rican7", + "createdAt": "2024-05-29T00:24:52Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2136308452", + "summary": "A user is surprised the API did not go into the cmp package.", + "actorId": 742384, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2143685878", + "kind": "comment", + "actor": "Seb-C", + "createdAt": "2024-06-02T03:51:36Z", + "editedAt": "2024-06-02T04:30:13Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2143685878", + "summary": "A user asks whether handles on constant strings give any benefit.", + "actorId": 2553075, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2143727694", + "kind": "comment", + "actor": "Merovius", + "createdAt": "2024-06-02T07:09:51Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2143727694", + "summary": "A contributor explains benefits come from storing and passing handles, such as tokens in a parser, not one-off lookups.", + "actorId": 720787, + "actorType": "human", + "parentId": "go-62483:issue:62483" + }, + { + "id": "go-62483:comment:2144211473", + "kind": "comment", + "actor": "mknyszek", + "createdAt": "2024-06-03T03:31:27Z", + "url": "https://github.com/golang/go/issues/62483#issuecomment-2144211473", + "summary": "The proposer agrees and cites net/netip's use of unique for IPv6 zones.", + "actorId": 1248668, + "actorType": "human", + "parentId": "go-62483:issue:62483" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/go-xterm-pluggable-history.json b/evals/datasets/decisions-v1/cases/go-xterm-pluggable-history.json new file mode 100644 index 000000000..427c2662b --- /dev/null +++ b/evals/datasets/decisions-v1/cases/go-xterm-pluggable-history.json @@ -0,0 +1,1049 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "go-xterm-pluggable-history", + "title": "x/term pluggable history API", + "source": { + "url": "https://github.com/golang/go/issues/68780", + "retrievedAt": "2026-10-18T07:30:44.388568+00:00", + "repository": "golang/go", + "number": 68780 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-08-08T17:10:00Z" + }, + { + "id": "c2", + "at": "2025-03-07T19:30:00Z" + }, + { + "id": "c3", + "at": "2025-04-16T15:00:00Z" + }, + { + "id": "c4", + "at": "2025-04-16T19:00:00Z" + } + ], + "events": [ + { + "id": "go-68780:issue:68780", + "kind": "opening", + "actor": "ldemailly", + "createdAt": "2024-08-08T00:35:25Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "The opener asks x/term to expose its private 100-entry history ring buffer through methods to read, add, resize, replace the latest entry and toggle automatic adding; the description was later rewritten to show the accepted History interface.", + "actorId": 3664595, + "actorType": "human" + }, + { + "id": "go-68780:process:labeled:2024-08-08T00:35:25Z", + "kind": "process", + "actor": "ldemailly", + "createdAt": "2024-08-08T00:35:25Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "The opener labels the issue as a Proposal.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:renamed:2024-08-08T00:50:56Z", + "kind": "process", + "actor": "ianlancetaylor", + "createdAt": "2024-08-08T00:50:56Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer retitles the issue into proposal form.", + "actorId": 3194333, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:cross-referenced:2024-08-08T16:49:50Z", + "kind": "process", + "actor": "ldemailly", + "createdAt": "2024-08-08T16:49:50Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "The opener links golang/term PR 15, an implementation of the original method-based API.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2276261016", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2024-08-08T16:52:15Z", + "editedAt": "2024-08-08T19:00:01Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2276261016", + "summary": "The opener points to the implementation PR and a demo of it in his own terminal library.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2276334946", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2024-08-08T17:35:13Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2276334946", + "summary": "A bot links the Gerrit change for the method-based API.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2286058682", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2024-08-13T11:49:59Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2286058682", + "summary": "A contributor suggests that any History getter should return an iterator rather than a slice.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2286437098", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2024-08-13T14:44:32Z", + "editedAt": "2024-08-13T14:48:43Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2286437098", + "summary": "The opener replies that a snapshot copy taken under the lock is needed, so an iterator would not help.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2299320637", + "kind": "comment", + "actor": "vingarzan", + "createdAt": "2024-08-20T16:54:45Z", + "editedAt": "2024-08-20T17:09:29Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2299320637", + "summary": "A user with a similar patch asks whether a pop operation for dropping the last entry could be added, or folded into the replace method.", + "actorId": 116604, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2303369989", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2024-08-22T01:00:54Z", + "editedAt": "2024-08-24T17:31:51Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2303369989", + "summary": "The opener says he mostly disables auto-history in practice and offers to drop or swap the replace method for pop.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2326177693", + "kind": "comment", + "actor": "vingarzan", + "createdAt": "2024-09-03T10:34:25Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2326177693", + "summary": "The user argues that replace and pop add little once auto-history can be turned off and entries added manually, and favours the simplest API.", + "actorId": 116604, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2326328029", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2024-09-03T11:53:15Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2326328029", + "summary": "The opener agrees to drop replace from the proposal but notes it avoids wasteful clear-and-refill and helps users fix a mistyped entry.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2395514032", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2024-10-06T17:17:17Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2395514032", + "summary": "The opener asks whether anyone is reviewing the proposal.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2637715671", + "kind": "comment", + "actor": "rsc", + "createdAt": "2025-02-05T18:32:13Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2637715671", + "summary": "A Go team member asks why the buffer is bounded at all, suggests exposing an unbounded History slice field, and floats a pluggable History interface instead, unsure of the locking rules.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2637791480", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-02-05T19:04:26Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2637791480", + "summary": "The opener defends a bounded history and explains that the existing terminal lock guards key handling against concurrent writes.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2637865431", + "kind": "comment", + "actor": "rsc", + "createdAt": "2025-02-05T19:39:15Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2637865431", + "summary": "A Go team member moves the proposal into the active review column.", + "actorId": 104030, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2685612395", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-02-26T16:43:40Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2685612395", + "summary": "A maintainer says the proposal adds too much narrow API and sketches a simple get/set slice pair, with open questions on ordering, ownership and capacity.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2686522496", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-02-27T00:39:52Z", + "editedAt": "2025-02-27T00:40:09Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2686522496", + "summary": "The opener counters that a slice API is less efficient and not clearly smaller than the four proposed methods.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2704571519", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-06T18:00:48Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2704571519", + "summary": "The maintainer says method count is the wrong measure and explores a full bounded deque type with push, pop, capacity, iteration and indexing.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2704662595", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2025-03-06T18:42:49Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2704662595", + "summary": "A maintainer suggests the deque should instead be a generic type from a future container/deque package.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2704942477", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-06T21:06:45Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2704942477", + "summary": "The maintainer agrees but notes a bounded deque is unusual as a general container.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707011478", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-07T17:26:52Z", + "editedAt": "2025-03-07T17:31:40Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707011478", + "summary": "A contributor says any deque type should follow container/list naming and lists his own deque's methods.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707041053", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-07T17:42:12Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707041053", + "summary": "A maintainer proposes a minimal History interface field on Terminal with Add and At methods, defaulting to the current ring buffer.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707205473", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-07T19:05:27Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707205473", + "summary": "A contributor likes the interface but wants the add method named PushBack so existing deques fit.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707223655", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-07T19:16:33Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707223655", + "summary": "The maintainer replies that history indexes from the newest entry, unlike a deque, so deque names would mislead.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707269423", + "kind": "comment", + "actor": "vingarzan", + "createdAt": "2025-03-07T19:43:21Z", + "editedAt": "2025-03-07T20:02:17Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707269423", + "summary": "A user asks whether the design is being over-engineered and urges progress, since saving and restoring history is the main need.", + "actorId": 116604, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707320868", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-07T20:09:47Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707320868", + "summary": "The opener notes an interface still needs a compatible default implementation and reminds reviewers his small PR already works in production code.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707345564", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-07T20:20:17Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707345564", + "summary": "The contributor disputes the indexing objection, saying user-supplied deques would expose the newest entry their own way.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707368542", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-07T20:25:46Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707368542", + "summary": "The maintainer says the default would just be the existing code, criticises the original API as overfitted, and insists the interface be named for its use.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707451808", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-07T21:02:38Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707451808", + "summary": "The opener worries that changing only the capacity or filtering adds would require replacing the whole implementation, and asks about locking.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2707912026", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-08T02:36:41Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2707912026", + "summary": "The contributor concedes the locking point and now leans toward a plain slice API.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2708406085", + "kind": "comment", + "actor": "jimmyfrasche", + "createdAt": "2025-03-08T17:27:11Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2708406085", + "summary": "A maintainer suggests SetHistory plus a callback-style accessor so the whole history is used under the lock.", + "actorId": 375553, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2715350450", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-11T18:31:44Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2715350450", + "summary": "The opener asks whether there is a conclusion.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2715812370", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-11T22:08:13Z", + "editedAt": "2025-03-11T22:10:51Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2715812370", + "summary": "The contributor objects that the callback design invites misuse and proposes copy-based History/SetHistory with separate capacity getters and setters.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2718410402", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-12T16:13:03Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2718410402", + "summary": "A maintainer asks for the concrete use cases and lists resizing, replacing or removing the latest entry, and save/restore.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2718698614", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-12T18:04:46Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2718698614", + "summary": "The opener confirms the use cases: save and restore, deciding whether the last entry stays, and configuring the maximum size.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2737508310", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-19T17:37:23Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2737508310", + "summary": "A maintainer says the review group leans toward the interface approach as minimal yet flexible, and argues no extra locking is needed if History methods are not called during ReadLine.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2737679812", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-19T18:43:11Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2737679812", + "summary": "The opener thinks it can work with the existing index state and asks who should update the change.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2742428003", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-21T06:11:14Z", + "editedAt": "2025-03-21T08:06:32Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2742428003", + "summary": "The opener reimplements the feature as an interface in golang/term PR 20, noting the annoyance of re-creating the ring buffer.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2742438652", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-21T06:15:51Z", + "editedAt": "2025-03-21T08:07:07Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2742438652", + "summary": "The opener adds that implementing the interface correctly seems to require reading the package source.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:cross-referenced:2025-03-21T06:17:45Z", + "kind": "process", + "actor": "ldemailly", + "createdAt": "2025-03-21T06:17:45Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "The opener links golang/term PR 20, the pluggable-history implementation.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2742555039", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-21T07:22:51Z", + "editedAt": "2025-03-21T08:07:46Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2742555039", + "summary": "The opener reports that faking auto-history through Add and copying the buffer feel awkward, then says it now works.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2742602612", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-21T07:53:37Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2742602612", + "summary": "The opener explains the bugs he hit and confirms PR 20 works for his use.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2743787393", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-03-21T15:53:21Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2743787393", + "summary": "A contributor repeats that the add method should use deque naming so existing implementations can be plugged in.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2743860087", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-21T16:22:33Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2743860087", + "summary": "The opener says conditional adding prevents using stock deques anyway, and complains the interface pushes complexity onto callers.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2755204215", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-03-26T17:34:52Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2755204215", + "summary": "A maintainer offers a compromise: export the internal ring buffer as a minimal concrete type that callers can wrap.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2755307101", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-26T17:47:48Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2755307101", + "summary": "Another maintainer thinks exporting the ring buffer is not worth it because it is only about 30 lines.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2756001584", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-26T23:35:41Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2756001584", + "summary": "The opener asks whether the PR 20 API is now accepted.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2756005280", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-26T23:39:19Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2756005280", + "summary": "The opener says he has updated the issue description with the new API.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2756031061", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-03-27T00:03:35Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2756031061", + "summary": "A maintainer replies that nothing has been accepted yet.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2756167001", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-03-27T01:15:08Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2756167001", + "summary": "The opener clarifies he was asking, not claiming acceptance.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2772888161", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-02T15:04:52Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2772888161", + "summary": "A maintainer notes PR 20 initialises the field to the internal buffer, so callers can wrap it without x/term exporting its type.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2772930525", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-02T15:19:18Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2772930525", + "summary": "The opener asks how and when approval happens.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773129766", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-04-02T16:31:49Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773129766", + "summary": "A maintainer asks for patience and explains the likely-accept then accept sequence.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773220660", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-02T17:12:51Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773220660", + "summary": "A maintainer argues the interface should also have a Len method alongside At.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773260266", + "kind": "comment", + "actor": "seankhliao", + "createdAt": "2025-04-02T17:32:26Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773260266", + "summary": "Another maintainer doubts Len adds much for indexed access.", + "actorId": 11343221, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773630581", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-02T20:19:45Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773630581", + "summary": "The maintainer says Len is cheap and helps iterate from oldest to newest.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773695185", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-02T20:43:52Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773695185", + "summary": "The review group marks the proposal likely accept, with a History interface of Add, Len and At returning a value and an ok flag, set as a Terminal field.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:labeled:2025-04-02T20:43:53Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-04-02T20:43:53Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer applies the final comment period label.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2773787002", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-02T21:30:56Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2773787002", + "summary": "The opener celebrates, suggests retitling to pluggable history, and mildly objects to the unused Len method.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:renamed:2025-04-03T00:22:59Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-04-03T00:22:59Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer retitles the proposal to pluggable history.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2774042765", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-03T00:31:08Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2774042765", + "summary": "The maintainer defends Len and proposes that At should panic on an out-of-range index, for consistency with slices and standard indexed types.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2774043726", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-03T00:32:01Z", + "editedAt": "2025-04-03T00:32:12Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2774043726", + "summary": "The maintainer posts the revised interface with a single-result At that panics.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2774062721", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-03T00:50:37Z", + "editedAt": "2025-04-03T00:54:13Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2774062721", + "summary": "The opener opposes changing the working code's signature and adding a panic in code that runs with the terminal in raw mode.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2774087340", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-03T01:14:35Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2774087340", + "summary": "The opener ranks his preferences: the two-method interface first, then Len unused, and the panicking At last.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2776276268", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-04-03T16:01:32Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2776276268", + "summary": "A contributor prefers At to return an empty string when out of range.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2790342141", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-09T16:35:43Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2790342141", + "summary": "The maintainer responds that a one-time refactor should not outweigh exported API design.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2790354031", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-09T16:41:04Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2790354031", + "summary": "The maintainer asks for the reason and argues sequence-like At should panic like built-in sequences.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2790618832", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-09T18:39:50Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2790618832", + "summary": "The opener disagrees in practice and repeats his concerns about panics and about implementers needing to read the code.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:cross-referenced:2025-04-09T18:46:05Z", + "kind": "process", + "actor": "ardnew", + "createdAt": "2025-04-09T18:46:05Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A contributor's older golang/term PR 8, which changed out-of-range behaviour, is cross-referenced.", + "actorId": 3837367, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2794840751", + "kind": "comment", + "actor": "earthboundkid", + "createdAt": "2025-04-10T18:48:12Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2794840751", + "summary": "The contributor surveys deque libraries and finds that a single-value At that panics is the most common form.", + "actorId": 222245, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2795706277", + "kind": "comment", + "actor": "ardnew", + "createdAt": "2025-04-11T02:46:37Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2795706277", + "summary": "The author of that older PR recalls why he wrote it.", + "actorId": 3837367, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2797897911", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-11T19:53:49Z", + "editedAt": "2025-04-11T19:55:51Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2797897911", + "summary": "The opener says commonness should not decide and asks the older PR's author whether At should panic.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2798005949", + "kind": "comment", + "actor": "ardnew", + "createdAt": "2025-04-11T21:02:54Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2798005949", + "summary": "That contributor expects bounds checks before access and prefers a panicking At, leaving error handling to callers.", + "actorId": 3837367, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2798090957", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-11T22:07:41Z", + "editedAt": "2025-04-12T01:09:47Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2798090957", + "summary": "The opener points out that the contributor's own earlier PR removed panics, and describes the code changes the panicking form forces.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2798100688", + "kind": "comment", + "actor": "ardnew", + "createdAt": "2025-04-11T22:16:32Z", + "editedAt": "2025-04-11T22:18:13Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2798100688", + "summary": "The contributor concedes he now recommends the opposite of what his PR did.", + "actorId": 3837367, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2809932018", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-16T15:21:52Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2809932018", + "summary": "A maintainer concludes the consensus is to panic.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2809955837", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-16T15:30:21Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2809955837", + "summary": "The opener says he is giving in for the sake of progress rather than agreeing.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2809982909", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-16T15:40:03Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2809982909", + "summary": "The maintainer defends the proposal process and asks the opener to drop the snark.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810088509", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-16T16:20:47Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810088509", + "summary": "The opener says he feels unheard rather than snarky and cites his own expertise as a maintainer-user of the package.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810090519", + "kind": "comment", + "actor": "vingarzan", + "createdAt": "2025-04-16T16:21:41Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810090519", + "summary": "A user backs the opener, asks for empathy toward long-waiting contributors, and asks whether a panicking At is unsafe under concurrent changes.", + "actorId": 116604, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810391631", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-16T18:29:58Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810391631", + "summary": "The maintainer explains that History only changes during ReadLine, which callers must not overlap, so panics are no more of a risk than slice access.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810426043", + "kind": "comment", + "actor": "aclements", + "createdAt": "2025-04-16T18:44:59Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810426043", + "summary": "The review group accepts the proposal: a History interface with Add, Len and a panicking At, exposed as a Terminal field defaulting to a 100-line buffer.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:renamed:2025-04-16T18:45:00Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-04-16T18:45:00Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer drops the proposal prefix from the title.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:labeled:2025-04-16T18:45:01Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-04-16T18:45:01Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer applies the Proposal-Accepted label.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:unlabeled:2025-04-16T18:45:02Z", + "kind": "process", + "actor": "aclements", + "createdAt": "2025-04-16T18:45:02Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "A maintainer removes the final comment period label.", + "actorId": 2688315, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810446034", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-16T18:51:15Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810446034", + "summary": "The opener says he will update the change to match.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810576519", + "kind": "comment", + "actor": "vingarzan", + "createdAt": "2025-04-16T19:38:27Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810576519", + "summary": "The user accepts the explanation while still preferring a more forgiving API, and thanks both sides.", + "actorId": 116604, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810809063", + "kind": "comment", + "actor": "ldemailly", + "createdAt": "2025-04-16T21:13:22Z", + "editedAt": "2025-04-16T21:14:45Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810809063", + "summary": "The opener reports PR 20 and its Gerrit change are updated to the accepted API.", + "actorId": 3664595, + "actorType": "human", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:comment:2810909011", + "kind": "comment", + "actor": "gopherbot", + "createdAt": "2025-04-16T21:59:26Z", + "url": "https://github.com/golang/go/issues/68780#issuecomment-2810909011", + "summary": "A bot links the updated Gerrit change implementing pluggable history.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-68780:issue:68780" + }, + { + "id": "go-68780:process:closed:2025-04-21T19:31:05Z", + "kind": "process", + "actor": "gopherbot", + "createdAt": "2025-04-21T19:31:05Z", + "url": "https://github.com/golang/go/issues/68780", + "summary": "The issue is closed automatically when the change is merged.", + "actorId": 8566911, + "actorType": "bot", + "parentId": "go-68780:issue:68780" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/godot-object-metadata-fate.json b/evals/datasets/decisions-v1/cases/godot-object-metadata-fate.json new file mode 100644 index 000000000..cac55791d --- /dev/null +++ b/evals/datasets/decisions-v1/cases/godot-object-metadata-fate.json @@ -0,0 +1,994 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "godot-object-metadata-fate", + "title": "Keep, expose or deprecate Godot object metadata", + "source": { + "url": "https://github.com/godotengine/godot/issues/18591", + "retrievedAt": "2026-10-18T07:28:42.623422+00:00", + "repository": "godotengine/godot", + "number": 18591 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-05-03T13:30:00Z" + }, + { + "id": "c2", + "at": "2018-05-03T15:10:00Z" + }, + { + "id": "c3", + "at": "2019-05-21T17:00:00Z" + }, + { + "id": "c4", + "at": "2019-05-21T17:23:00Z" + } + ], + "events": [ + { + "id": "godot-18591:issue:18591", + "kind": "opening", + "actor": "reduz", + "createdAt": "2018-05-03T13:26:33Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "The engine's lead developer notes every object carries serialised metadata that the editor barely uses and users cannot edit, and asks the community to pick: deprecate it, keep it and make it editable in the inspector, or keep it untouched, in each case moving the editor's own uses elsewhere.", + "actorId": 6265307, + "actorType": "human" + }, + { + "id": "godot-18591:comment:386297698", + "kind": "comment", + "actor": "ElfEars", + "createdAt": "2018-05-03T13:36:13Z", + "editedAt": "2018-05-03T13:42:34Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386297698", + "summary": "A user votes for keeping it and making it editable, calling it very useful.", + "actorId": 20967774, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386299061", + "kind": "comment", + "actor": "ignaloidas", + "createdAt": "2018-05-03T13:40:38Z", + "editedAt": "2018-05-03T13:40:53Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386299061", + "summary": "A user votes for the editable option and says deprecating would waste a useful feature.", + "actorId": 16557741, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386299305", + "kind": "comment", + "actor": "EliseoDiegoViola", + "createdAt": "2018-05-03T13:41:22Z", + "editedAt": "2018-05-03T13:41:49Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386299305", + "summary": "A user prefers keeping it for coherence or editable if possible, citing asset import plugins, and asks for tile metadata.", + "actorId": 4742072, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386299536", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-05-03T13:42:06Z", + "editedAt": "2018-05-03T13:43:19Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386299536", + "summary": "A user relies on it to store data on nodes without scripts and asks that it not be removed.", + "actorId": 10137, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386299998", + "kind": "comment", + "actor": "adeluiz", + "createdAt": "2018-05-03T13:43:34Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386299998", + "summary": "A user would remove it only if that makes the engine faster.", + "actorId": 4427432, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386302695", + "kind": "comment", + "actor": "pchasco", + "createdAt": "2018-05-03T13:51:56Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386302695", + "summary": "A user thinks exported variables usually fit better but sees value in other nodes tagging an object, and advises keeping it but not for engine internals.", + "actorId": 2642944, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386307714", + "kind": "comment", + "actor": "BeayemX", + "createdAt": "2018-05-03T14:07:10Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386307714", + "summary": "A contributor notes the multiplayer tutorial uses it.", + "actorId": 3453076, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386308015", + "kind": "comment", + "actor": "waldson", + "createdAt": "2018-05-03T14:08:06Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386308015", + "summary": "A contributor uses it to carry Tiled custom properties.", + "actorId": 160668, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386310779", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-03T14:16:38Z", + "editedAt": "2018-05-03T14:17:15Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386310779", + "summary": "A contributor uses it for custom type icons and names in editor tooling, suggests hiding underscore-prefixed keys if exposed, and leans to keeping it.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386313025", + "kind": "comment", + "actor": "FabienDeshayes", + "createdAt": "2018-05-03T14:23:17Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386313025", + "summary": "A user favours keeping it unchanged since importer data should be read-only.", + "actorId": 762494, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386321255", + "kind": "comment", + "actor": "Bauxitedev", + "createdAt": "2018-05-03T14:47:14Z", + "editedAt": "2018-05-03T14:49:37Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386321255", + "summary": "A user votes for editable metadata, citing an importer and per-material properties.", + "actorId": 31383123, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386325193", + "kind": "comment", + "actor": "Norrox", + "createdAt": "2018-05-03T14:58:14Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386325193", + "summary": "A contributor votes for the editable option.", + "actorId": 13393087, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386325993", + "kind": "comment", + "actor": "neikeq", + "createdAt": "2018-05-03T15:00:25Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386325993", + "summary": "A contributor notes the cost of a fatter Object and suggests a faster structure than a Variant Dictionary.", + "actorId": 7718100, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386328483", + "kind": "comment", + "actor": "reduz", + "createdAt": "2018-05-03T15:07:42Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386328483", + "summary": "The lead developer suggests an insertion-ordered StringName-to-Variant hash map that costs one pointer when unused.", + "actorId": 6265307, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386330465", + "kind": "comment", + "actor": "CodeChomper", + "createdAt": "2018-05-03T15:13:41Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386330465", + "summary": "A user votes to make it editable to avoid scripts for attaching data.", + "actorId": 23745503, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386330941", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-03T15:15:03Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386330941", + "summary": "A contributor asks whether a scene itself can carry metadata.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386331996", + "kind": "comment", + "actor": "neikeq", + "createdAt": "2018-05-03T15:18:06Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386331996", + "summary": "A contributor says it could live on the packed scene, its state or root node.", + "actorId": 7718100, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386332652", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-03T15:20:06Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386332652", + "summary": "The first contributor asks whether such data survives reloading a packed scene.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386335107", + "kind": "comment", + "actor": "neikeq", + "createdAt": "2018-05-03T15:27:26Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386335107", + "summary": "The second contributor says it would be saved in the scene file.", + "actorId": 7718100, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386344452", + "kind": "comment", + "actor": "vinterskog", + "createdAt": "2018-05-03T15:55:04Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386344452", + "summary": "A user asks about per-tile use and memory overhead on every object.", + "actorId": 8605262, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386347890", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-03T16:05:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386347890", + "summary": "A contributor points to the lead developer's single-pointer plan and explains tile data would need nested keys.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386363574", + "kind": "comment", + "actor": "LikeLakers2", + "createdAt": "2018-05-03T16:56:47Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386363574", + "summary": "A contributor strongly supports making it editable.", + "actorId": 1008889, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386378054", + "kind": "comment", + "actor": "Zylann", + "createdAt": "2018-05-03T17:42:57Z", + "editedAt": "2018-05-03T17:46:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386378054", + "summary": "A contributor rarely needs it, sees it as a last resort since declared script variables are clearer, and is fine either way if the editor stops using it.", + "actorId": 1311555, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386387033", + "kind": "comment", + "actor": "eon-s", + "createdAt": "2018-05-03T18:11:13Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386387033", + "summary": "A contributor says it is underused due to poor visibility and backs inspector editing.", + "actorId": 10215987, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386415751", + "kind": "comment", + "actor": "ol-smaug", + "createdAt": "2018-05-03T19:51:45Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386415751", + "summary": "A user is fine with either keeping option.", + "actorId": 20135474, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386418592", + "kind": "comment", + "actor": "CowThing", + "createdAt": "2018-05-03T20:02:07Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386418592", + "summary": "A contributor did not know it existed and asks for documentation with examples if kept.", + "actorId": 11450875, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386430431", + "kind": "comment", + "actor": "Ranoller", + "createdAt": "2018-05-03T20:43:29Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386430431", + "summary": "A contributor relies on TreeItem metadata in plugins and conditions their vote on that.", + "actorId": 11712737, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386431435", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-03T20:47:00Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386431435", + "summary": "A contributor clarifies TreeItem metadata is a separate API.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386449769", + "kind": "comment", + "actor": "akanewf", + "createdAt": "2018-05-03T21:57:23Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386449769", + "summary": "A user argues it is a hacky pattern and should be removed or clarified.", + "actorId": 26255111, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386451891", + "kind": "comment", + "actor": "pchasco", + "createdAt": "2018-05-03T22:07:23Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386451891", + "summary": "A user agrees it is not ideal but says game developers need shortcuts to finish.", + "actorId": 2642944, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386452264", + "kind": "comment", + "actor": "nobuyukinyuu", + "createdAt": "2018-05-03T22:09:03Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386452264", + "summary": "A contributor compares it to a WinForms tag, calling it dirty but useful, and votes to keep it.", + "actorId": 1023003, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386470758", + "kind": "comment", + "actor": "volzhs", + "createdAt": "2018-05-03T23:54:42Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386470758", + "summary": "A contributor votes for the editable option.", + "actorId": 8281454, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386484426", + "kind": "comment", + "actor": "sprite-1", + "createdAt": "2018-05-04T01:29:51Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386484426", + "summary": "A user sides with the majority for the editable option.", + "actorId": 33685433, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386489788", + "kind": "comment", + "actor": "gorgo", + "createdAt": "2018-05-04T02:16:43Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386489788", + "summary": "A user votes editable and suggests importing metadata from Blender or FBX.", + "actorId": 570014, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386540640", + "kind": "comment", + "actor": "beniwtv", + "createdAt": "2018-05-04T08:49:13Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386540640", + "summary": "A contributor votes for the editable option.", + "actorId": 1401072, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386580012", + "kind": "comment", + "actor": "Plopsiskopsis", + "createdAt": "2018-05-04T12:01:50Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386580012", + "summary": "A user votes for the editable option.", + "actorId": 35765659, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386682670", + "kind": "comment", + "actor": "StraToN", + "createdAt": "2018-05-04T17:53:16Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386682670", + "summary": "A maintainer says they did not know about the feature.", + "actorId": 1289207, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386884109", + "kind": "comment", + "actor": "lucbf", + "createdAt": "2018-05-06T14:38:10Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386884109", + "summary": "A user asks whether this means a major version bump.", + "actorId": 17693273, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386884661", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-06T14:45:52Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386884661", + "summary": "A contributor says keeping it and adding an editor would not need one.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386886911", + "kind": "comment", + "actor": "vnen", + "createdAt": "2018-05-06T15:17:48Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386886911", + "summary": "A maintainer likens metadata to groups for any object, finds it valuable for plugins and UI, says plugins need editor API access if editor uses move, and would just keep it without inspector editing.", + "actorId": 5599796, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386887729", + "kind": "comment", + "actor": "mhilbrunner", + "createdAt": "2018-05-06T15:28:24Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386887729", + "summary": "Another maintainer agrees and accepts a hash map change.", + "actorId": 1654763, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386897893", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-05-06T17:48:27Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386897893", + "summary": "A contributor suggests a generic string-keyed map editor for the inspector.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386911883", + "kind": "comment", + "actor": "lucbf", + "createdAt": "2018-05-06T20:44:37Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386911883", + "summary": "The user who asked about versions now votes to keep it.", + "actorId": 17693273, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386918849", + "kind": "comment", + "actor": "toger5", + "createdAt": "2018-05-06T21:49:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386918849", + "summary": "A contributor worries about confusion between metadata and script variables and would drop it if workarounds exist.", + "actorId": 16718859, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386923856", + "kind": "comment", + "actor": "eon-s", + "createdAt": "2018-05-06T23:07:40Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386923856", + "summary": "A contributor asks for examples of actual misuse.", + "actorId": 10215987, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:386924291", + "kind": "comment", + "actor": "vnen", + "createdAt": "2018-05-06T23:16:46Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-386924291", + "summary": "A maintainer says documentation can address confusion and the script workaround is clumsy and slower.", + "actorId": 5599796, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:388001553", + "kind": "comment", + "actor": "legione", + "createdAt": "2018-05-10T09:22:02Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-388001553", + "summary": "A user values it for UI items and suggests keeping it only on UI as a compromise.", + "actorId": 2934478, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:388002860", + "kind": "comment", + "actor": "Zylann", + "createdAt": "2018-05-10T09:27:50Z", + "editedAt": "2018-05-10T09:29:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-388002860", + "summary": "A contributor notes item-based controls already have their own user data.", + "actorId": 1311555, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:388372290", + "kind": "comment", + "actor": "legione", + "createdAt": "2018-05-11T14:00:18Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-388372290", + "summary": "The user accepts that and would then be fine with deprecation, though most favour keeping.", + "actorId": 2934478, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:389612677", + "kind": "comment", + "actor": "mwerezak", + "createdAt": "2018-05-16T18:05:43Z", + "editedAt": "2018-05-16T18:15:51Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-389612677", + "summary": "A user asks for any use that script variables cannot cover and leans toward deprecating unless a clear purpose is agreed.", + "actorId": 242428, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:389622429", + "kind": "comment", + "actor": "vnen", + "createdAt": "2018-05-16T18:37:09Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-389622429", + "summary": "A maintainer replies that scripts can do it but are clumsier and slower; the real question is whether metadata is bad practice, and it is not.", + "actorId": 5599796, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:389743482", + "kind": "comment", + "actor": "mwerezak", + "createdAt": "2018-05-17T04:48:14Z", + "editedAt": "2018-05-17T04:53:11Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-389743482", + "summary": "The user says built-in scripts make that easy, while conceding the performance point.", + "actorId": 242428, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:390092096", + "kind": "comment", + "actor": "supagu", + "createdAt": "2018-05-18T04:38:01Z", + "editedAt": "2018-05-18T04:38:14Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-390092096", + "summary": "A contributor uses it to associate game data with UI elements.", + "actorId": 11153232, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:414536052", + "kind": "comment", + "actor": "aaronfranke", + "createdAt": "2018-08-21T03:13:15Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-414536052", + "summary": "A maintainer uses metadata to pass data between C# and GDScript and wants inspector defaults to avoid errors.", + "actorId": 1646875, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:414611041", + "kind": "comment", + "actor": "Zylann", + "createdAt": "2018-08-21T09:25:36Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-414611041", + "summary": "A contributor suggests checking with `has_meta()`.", + "actorId": 1311555, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:414749504", + "kind": "comment", + "actor": "aaronfranke", + "createdAt": "2018-08-21T17:07:29Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-414749504", + "summary": "The maintainer prefers defaults but accepts the workaround.", + "actorId": 1646875, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:414765529", + "kind": "comment", + "actor": "Zylann", + "createdAt": "2018-08-21T17:57:38Z", + "editedAt": "2018-08-21T17:58:17Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-414765529", + "summary": "The contributor realises the request was about setting metadata in the inspector.", + "actorId": 1311555, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:419280260", + "kind": "comment", + "actor": "sxkod", + "createdAt": "2018-09-07T00:10:58Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-419280260", + "summary": "A user wants inspector editing to tag many dropped objects in an exploration game.", + "actorId": 16966198, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:process:cross-referenced:2018-10-02T23:47:56Z", + "kind": "process", + "actor": "YeldhamDev", + "createdAt": "2018-10-02T23:47:56Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "A PR to expose metadata in the inspector (#22642) references the issue.", + "actorId": 30739239, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:430739584", + "kind": "comment", + "actor": "ArdaE", + "createdAt": "2018-10-17T18:32:43Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-430739584", + "summary": "A contributor wants it kept, comparing it to attached properties in XAML and explaining it avoided several awkward designs in an advanced framework.", + "actorId": 8313057, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:430741956", + "kind": "comment", + "actor": "ArdaE", + "createdAt": "2018-10-17T18:39:44Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-430741956", + "summary": "The contributor adds the dictionary should only be allocated when used.", + "actorId": 8313057, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:process:cross-referenced:2018-11-16T19:28:58Z", + "kind": "process", + "actor": "Lucrecious", + "createdAt": "2018-11-16T19:28:58Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "A PR adding metadata dictionaries to individual tiles (#23714) references the issue.", + "actorId": 4584511, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448793938", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-19T23:49:13Z", + "editedAt": "2018-12-19T23:53:41Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448793938", + "summary": "A user shares a script trick exposing the internal meta dictionary as an exported property.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448794324", + "kind": "comment", + "actor": "nobuyukinyuu", + "createdAt": "2018-12-19T23:51:16Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448794324", + "summary": "A contributor links the official metadata API docs.", + "actorId": 1023003, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448794726", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-19T23:53:26Z", + "editedAt": "2018-12-19T23:55:23Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448794726", + "summary": "The user says the internal field is faster for them.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448796328", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-19T23:58:57Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448796328", + "summary": "The user guesses metadata is stored in an internal dictionary.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448798799", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-12-20T00:06:45Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448798799", + "summary": "A contributor proposes a dedicated inspector property for string-keyed metadata.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448800649", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-20T00:12:11Z", + "editedAt": "2018-12-20T00:14:51Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448800649", + "summary": "The user describes their approach as a temporary way to edit metadata.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448802284", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-20T00:17:08Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448802284", + "summary": "The user asks why the internal field works only via self.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448805695", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-12-20T00:27:01Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448805695", + "summary": "The contributor explains exposing it via property hooks in the engine.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448807270", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-20T00:31:33Z", + "editedAt": "2018-12-20T00:48:06Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448807270", + "summary": "The user explains their script lets metadata be edited remotely.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448836709", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-20T02:32:13Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448836709", + "summary": "The user posts a second tool-script variant.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448840824", + "kind": "comment", + "actor": "willnationsdev", + "createdAt": "2018-12-20T02:56:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448840824", + "summary": "The contributor says the same should be built into the engine.", + "actorId": 16217563, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:448859736", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-20T04:08:25Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-448859736", + "summary": "The user repeats the question about field access.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:449071564", + "kind": "comment", + "actor": "ArdaE", + "createdAt": "2018-12-20T17:17:23Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-449071564", + "summary": "A contributor explains metadata matters when users cannot attach scripts to framework objects, so inspector support must be engine-side.", + "actorId": 8313057, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:449220391", + "kind": "comment", + "actor": "SuperDIMMaX", + "createdAt": "2018-12-21T02:33:15Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-449220391", + "summary": "The user explains they create nodes dynamically and metadata is faster.", + "actorId": 22836285, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:457918365", + "kind": "comment", + "actor": "mysticfall", + "createdAt": "2019-01-27T13:34:37Z", + "editedAt": "2019-01-27T13:35:16Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-457918365", + "summary": "A contributor uses it for TreeItem keys and wishes unserialisable values could be stored transiently.", + "actorId": 2367032, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:460089550", + "kind": "comment", + "actor": "jonbonazza", + "createdAt": "2019-02-03T21:19:59Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-460089550", + "summary": "A contributor asks whether it could support saved node state.", + "actorId": 1424843, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:460096478", + "kind": "comment", + "actor": "nobuyukinyuu", + "createdAt": "2019-02-03T22:49:04Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-460096478", + "summary": "A contributor says packed scenes already handle that.", + "actorId": 1023003, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:466367728", + "kind": "comment", + "actor": "slapin", + "createdAt": "2019-02-22T11:34:46Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-466367728", + "summary": "A contributor wishes they had known about the feature earlier.", + "actorId": 6099, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:466368308", + "kind": "comment", + "actor": "slapin", + "createdAt": "2019-02-22T11:37:26Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-466368308", + "summary": "The contributor is fine with keeping it, editable or not.", + "actorId": 6099, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:comment:494482210", + "kind": "comment", + "actor": "mhilbrunner", + "createdAt": "2019-05-21T17:22:20Z", + "url": "https://github.com/godotengine/godot/issues/18591#issuecomment-494482210", + "summary": "A maintainer closes the issue, saying consensus is to keep object metadata, and opens #29081 for exposing it in the editor.", + "actorId": 1654763, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:process:closed:2019-05-21T17:22:20Z", + "kind": "process", + "actor": "mhilbrunner", + "createdAt": "2019-05-21T17:22:20Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "A maintainer closes the issue.", + "actorId": 1654763, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:process:cross-referenced:2019-07-23T11:58:59Z", + "kind": "process", + "actor": "YeldhamDev", + "createdAt": "2019-07-23T11:58:59Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "A second PR to expose metadata in the inspector (#30765) references the issue.", + "actorId": 30739239, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + }, + { + "id": "godot-18591:process:cross-referenced:2020-05-25T00:38:24Z", + "kind": "process", + "actor": "fghibellini", + "createdAt": "2020-05-25T00:38:24Z", + "url": "https://github.com/godotengine/godot/issues/18591", + "summary": "A PR filling node metadata from glTF extras references the issue.", + "actorId": 4848178, + "actorType": "human", + "parentId": "godot-18591:issue:18591" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ha-toggle-confirmation.json b/evals/datasets/decisions-v1/cases/ha-toggle-confirmation.json new file mode 100644 index 000000000..fa635f0dd --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ha-toggle-confirmation.json @@ -0,0 +1,418 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ha-toggle-confirmation", + "title": "Confirmation for Entities card toggles", + "source": { + "url": "https://github.com/home-assistant/frontend/discussions/8905", + "retrievedAt": "2026-10-18T07:11:47.937987+00:00", + "repository": "home-assistant/frontend", + "number": 8905, + "nodeId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-04-12T22:40:00Z" + }, + { + "id": "c2", + "at": "2021-04-14T14:00:00Z" + }, + { + "id": "c3", + "at": "2024-10-28T12:00:00Z" + }, + { + "id": "c4", + "at": "2024-10-28T13:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24zMzE4MTI1", + "kind": "opening", + "actor": "spacegaier", + "createdAt": "2021-04-12T22:35:41Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905", + "summary": "A maintainer asks for design input: Entities card actions cover a row's icon and label but not its rendered toggle, so a switch cannot be guarded; they sketch an `interactive_tap_action` key or a simpler `interactive_confirmation` key.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTI1", + "kind": "comment", + "actor": "bramkragten", + "createdAt": "2021-04-12T22:42:19Z", + "editedAt": "2021-04-13T12:37:40Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-602525", + "summary": "A maintainer recommends adding only a `confirmation` option and insists that a toggle must keep toggling rather than take configurable actions.", + "actorId": "MDQ6VXNlcjU2NjIyOTg=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTMz", + "kind": "reply", + "actor": "spacegaier", + "createdAt": "2021-04-12T22:47:51Z", + "editedAt": "2021-04-12T22:48:03Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-602533", + "summary": "The opener asks whether the key needs a prefix, since a row could then hold two differently scoped `confirmation` blocks that users might confuse.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTQx", + "kind": "reply", + "actor": "bramkragten", + "createdAt": "2021-04-12T22:56:51Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-602541", + "summary": "The maintainer replies that the two blocks sit at different nesting levels, so a prefix is unnecessary.", + "actorId": "MDQ6VXNlcjU2NjIyOTg=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAzNTky", + "kind": "reply", + "actor": "spacegaier", + "createdAt": "2021-04-13T08:04:52Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-603592", + "summary": "The opener accepts that it works technically, notes it likely stays YAML-only, and says either naming is fine.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAzNzQw", + "kind": "reply", + "actor": "pickonedev", + "createdAt": "2021-04-13T08:48:49Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-603740", + "summary": "A user backs the plain `confirmation` option, saying they already use that pattern.", + "actorId": "MDQ6VXNlcjM0MjAxMzg3", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjAyNTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA0Mzg0", + "kind": "comment", + "actor": "matthiasdebaat", + "createdAt": "2021-04-13T11:52:25Z", + "editedAt": "2021-04-13T11:58:37Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-604384", + "summary": "A design team member shares Figma prototypes and argues, citing toggle guidelines, that toggles should act instantly; they suggest replacing a guarded toggle with a button that opens more-info.", + "actorId": "MDQ6VXNlcjIwMjAzMjg0", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA2MzY3", + "kind": "reply", + "actor": "spacegaier", + "createdAt": "2021-04-13T19:07:45Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-606367", + "summary": "The opener reads this as agreement: the toggle stays a toggle, with no tap or hold overrides, but an optional confirmation popup can sit in front of it.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA0Mzg0" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA4NjY1", + "kind": "reply", + "actor": "matthiasdebaat", + "createdAt": "2021-04-14T09:02:08Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-608665", + "summary": "The designer clarifies that a confirmation popup blocks the instant result a toggle promises, and repeats the more-info button recommendation.", + "actorId": "MDQ6VXNlcjIwMjAzMjg0", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA0Mzg0" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA4OTUy", + "kind": "reply", + "actor": "spacegaier", + "createdAt": "2021-04-14T09:53:04Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-608952", + "summary": "The opener says more-info alone cannot warn users about a specific risk, which their use case needs, matching how existing actions already confirm.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA0Mzg0" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjEwMTUy", + "kind": "reply", + "actor": "matthiasdebaat", + "createdAt": "2021-04-14T13:54:29Z", + "editedAt": "2021-04-14T13:55:52Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-610152", + "summary": "The designer concedes that an explanatory dialog is better, but pitches a button plus confirmation dialog instead of a toggle.", + "actorId": "MDQ6VXNlcjIwMjAzMjg0", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NjA0Mzg0" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjEwNDU1", + "kind": "comment", + "actor": "spacegaier", + "createdAt": "2021-04-14T14:44:32Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-610455", + "summary": "The opener objects that a button hides the on/off state behind its label text, and votes for a toggle with an optional confirmation.", + "actorId": "MDQ6VXNlcjExNDEzNw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjM5NjQw", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2021-04-21T12:06:23Z", + "editedAt": "2021-04-21T13:03:15Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-639640", + "summary": "A contributor links their own request for guarding covers and asks for a PIN dialog to be considered too.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84ANAW7", + "kind": "comment", + "actor": "franz134", + "createdAt": "2022-08-16T19:55:08Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-3409339", + "summary": "A user, over a year later, asks whether anything shipped, wants to guard printer and PC switches, and favours the designer's last prototype.", + "actorId": "U_kgDOBd3S3A", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84ASFTA", + "kind": "reply", + "actor": "Dmoua68", + "createdAt": "2023-01-20T18:48:41Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-4740288", + "summary": "A user links a community forum thread on confirmation dialogs for switches.", + "actorId": "U_kgDOByx4nw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84ANAW7" + }, + { + "id": "DC_kwDOAlLUS84AZXWx", + "kind": "comment", + "actor": "fvbrandt", + "createdAt": "2023-08-06T08:40:05Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-6649265", + "summary": "A user asks for news and prefers a native entity-level `confirmation` on an ordinary switch over workarounds.", + "actorId": "MDQ6VXNlcjg0NTc5NDc=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84AZbq2", + "kind": "reply", + "actor": "matthiasdebaat", + "createdAt": "2023-08-08T08:47:36Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-6666934", + "summary": "The designer agrees actions should support confirmation but still holds that a switch cannot carry one, proposing the switch be swapped for a button when a confirmation is configured.", + "actorId": "MDQ6VXNlcjIwMjAzMjg0", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AZXWx" + }, + { + "id": "DC_kwDOAlLUS84AZbtH", + "kind": "reply", + "actor": "fvbrandt", + "createdAt": "2023-08-08T08:59:58Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-6667079", + "summary": "The user disputes the cited guideline's relevance and argues that the volume of requests outweighs an abstract rule.", + "actorId": "MDQ6VXNlcjg0NTc5NDc=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AZXWx" + }, + { + "id": "DC_kwDOAlLUS84Aiq28", + "kind": "comment", + "actor": "Stan-Tastic", + "createdAt": "2024-04-11T19:58:09Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-9088444", + "summary": "A user argues that someone who deliberately configures a confirmation no longer expects an instant toggle.", + "actorId": "MDQ6VXNlcjc5MzAyOQ==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84Aiq6B", + "kind": "reply", + "actor": "Mariusthvdb", + "createdAt": "2024-04-11T20:26:47Z", + "editedAt": "2024-04-11T21:13:48Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-9088641", + "summary": "A contributor reports there is still no guard as of 2024.4, criticises the lock more-info behaviour, and shows lock and PIN patterns from custom cards.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Aiq28" + }, + { + "id": "DC_kwDOAlLUS84AjEeQ", + "kind": "reply", + "actor": "mfenske", + "createdAt": "2024-04-22T20:16:43Z", + "editedAt": "2024-04-22T20:22:48Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-9193360", + "summary": "A user reports that the current behaviour is inconsistent, since tapping the name confirms but tapping the switch does not, and asks maintainers to rethink.", + "actorId": "MDQ6VXNlcjY5NjM5ODU2", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Aiq28" + }, + { + "id": "DC_kwDOAlLUS84Aj-9-", + "kind": "reply", + "actor": "chammp", + "createdAt": "2024-05-14T12:14:23Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-9432958", + "summary": "A contributor points to guarded physical switches such as cockpit covers and mentions a template-lock workaround that lacks codes.", + "actorId": "MDQ6VXNlcjU3OTE4NzU3", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84AZXWx" + }, + { + "id": "DC_kwDOAlLUS84AmjY_", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2024-07-21T11:38:09Z", + "editedAt": "2024-07-21T11:38:29Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-10106431", + "summary": "A contributor links a forum report that a button row ignores the entity's confirmation on the button itself.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84Amw_B", + "kind": "comment", + "actor": "karwosts", + "createdAt": "2024-07-26T16:23:42Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-10162113", + "summary": "A maintainer links a related pull request, #21453.", + "actorId": "MDQ6VXNlcjMyOTEyODgw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84AqPub", + "kind": "reply", + "actor": "karwosts", + "createdAt": "2024-10-28T12:58:41Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11074459", + "summary": "The maintainer reports that the PR merged, so button, lock and script rows can now take confirmations.", + "actorId": "MDQ6VXNlcjMyOTEyODgw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84AqPxh", + "kind": "reply", + "actor": "Misiu", + "createdAt": "2024-10-28T13:16:29Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11074657", + "summary": "A contributor thanks them and asks about other domains, such as a garage-door cover on a tile card.", + "actorId": "MDQ6VXNlcjE3NDE4Mzg=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84AqPzX", + "kind": "reply", + "actor": "karwosts", + "createdAt": "2024-10-28T13:25:45Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11074775", + "summary": "The maintainer says tile cards already confirm through `tap_action` and that the change only touched the Entities card.", + "actorId": "MDQ6VXNlcjMyOTEyODgw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84AqP2F", + "kind": "reply", + "actor": "Misiu", + "createdAt": "2024-10-28T13:41:59Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11074949", + "summary": "The contributor clarifies that they want confirmation on the tile card's open/close feature buttons.", + "actorId": "MDQ6VXNlcjE3NDE4Mzg=", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84AqP3J", + "kind": "reply", + "actor": "karwosts", + "createdAt": "2024-10-28T13:48:42Z", + "editedAt": "2024-10-28T13:49:12Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11075017", + "summary": "The maintainer calls tile features out of scope for now and suggests a workaround with a confirmed icon tap action.", + "actorId": "MDQ6VXNlcjMyOTEyODgw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84AqP6U", + "kind": "reply", + "actor": "Mariusthvdb", + "createdAt": "2024-10-28T14:06:19Z", + "editedAt": "2024-10-28T14:08:44Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-11075220", + "summary": "A contributor offers the custom restriction-card as another workaround for tiles.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84Amw_B" + }, + { + "id": "DC_kwDOAlLUS84A3OKY", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2025-09-22T12:03:29Z", + "editedAt": "2025-09-22T12:21:49Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-14475928", + "summary": "A contributor shows that a tile's inline toggle feature bypasses configured confirmations and asks for a generic restriction option.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zMzE4MTI1" + }, + { + "id": "DC_kwDOAlLUS84A3OLJ", + "kind": "reply", + "actor": "Mariusthvdb", + "createdAt": "2025-09-22T12:10:39Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-14475977", + "summary": "The contributor asks a maintainer whether this legacy discussion should move to the new feature-request area.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A3OKY" + }, + { + "id": "DC_kwDOAlLUS84A3OMQ", + "kind": "reply", + "actor": "karwosts", + "createdAt": "2025-09-22T12:19:15Z", + "editedAt": "2025-09-22T12:26:42Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-14476048", + "summary": "A maintainer says there is no guidance, defers to the opener, warns that migration resets votes, and suggests a fresh request for feature restrictions.", + "actorId": "MDQ6VXNlcjMyOTEyODgw", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A3OKY" + }, + { + "id": "DC_kwDOAlLUS84A3ONl", + "kind": "reply", + "actor": "Mariusthvdb", + "createdAt": "2025-09-22T12:26:11Z", + "url": "https://github.com/home-assistant/frontend/discussions/8905#discussioncomment-14476133", + "summary": "The contributor links the new request they opened.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "DC_kwDOAlLUS84A3OKY" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/helix-file-explorer-pr.json b/evals/datasets/decisions-v1/cases/helix-file-explorer-pr.json new file mode 100644 index 000000000..9039005d0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/helix-file-explorer-pr.json @@ -0,0 +1,991 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "helix-file-explorer-pr", + "title": "Shape of Helix's built-in file explorer", + "source": { + "url": "https://github.com/helix-editor/helix/pull/2377", + "retrievedAt": "2026-10-18T07:24:57.765035+00:00", + "repository": "helix-editor/helix", + "number": 2377 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-05-03T07:00:00Z" + }, + { + "id": "c2", + "at": "2022-05-13T12:00:00Z" + }, + { + "id": "c3", + "at": "2023-03-01T00:00:00Z" + }, + { + "id": "c4", + "at": "2023-03-09T08:00:00Z" + } + ], + "events": [ + { + "id": "helix-2377:pr:2377", + "kind": "opening", + "actor": "ghost", + "createdAt": "2022-05-03T02:41:08Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "The PR author (account since deleted) adds a file explorer widget toggled by shortcuts, with filtering, search, folding and file create/delete keys, offered in four styles: embedded or overlay, each as a tree or a list.", + "actorId": 10137, + "actorType": "human" + }, + { + "id": "helix-2377:comment:1115791867", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-05-03T06:55:48Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1115791867", + "summary": "A maintainer welcomes it, asks for ASCII tree guides, and asks for the tree item to be generic so the same component can show debugger variable trees.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1115797177", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-03T07:04:49Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1115797177", + "summary": "A user asks why this is built in rather than a plugin.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1115798071", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-05-03T07:06:15Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1115798071", + "summary": "A maintainer replies Helix has no plugin system yet.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1115800810", + "kind": "comment", + "actor": "NNBnh", + "createdAt": "2022-05-03T07:10:18Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1115800810", + "summary": "A contributor notes this may close the file tree feature request.", + "actorId": 43980777, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1116498033", + "kind": "comment", + "actor": "matoous", + "createdAt": "2022-05-03T19:47:47Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1116498033", + "summary": "A contributor adds that a generic tree could also serve LSP document symbols and workspace diagnostics.", + "actorId": 15747583, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1116923165", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-05-04T04:43:11Z", + "editedAt": "2022-05-05T01:56:02Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1116923165", + "summary": "A contributor says they planned a picker-style find-file (like Doom Emacs) without a separate key set, and will push a draft so the two can be compared.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:864452902", + "kind": "review-comment", + "actor": "pickfire", + "createdAt": "2022-05-04T04:45:07Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r864452902", + "summary": "A contributor questions storing the style as an integer.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:864476379", + "kind": "review-comment", + "actor": "archseer", + "createdAt": "2022-05-04T05:54:58Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r864476379", + "summary": "A maintainer suggests two enums, one for tree vs list and one for embedded vs overlay.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:review-comment:864452902" + }, + { + "id": "helix-2377:review-comment:864476479", + "kind": "review-comment", + "actor": "archseer", + "createdAt": "2022-05-04T05:55:11Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r864476479", + "summary": "A maintainer suggests a docs wording fix.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118004881", + "kind": "comment", + "actor": "cherryramatisdev", + "createdAt": "2022-05-04T22:50:45Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118004881", + "summary": "A user expresses excitement.", + "actorId": 86631177, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118249722", + "kind": "comment", + "actor": "Guillaume-Savaton-ESEO", + "createdAt": "2022-05-05T07:26:12Z", + "editedAt": "2022-05-05T07:39:01Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118249722", + "summary": "A user reports testing issues: no arrow-key or mouse navigation, an unreadable theme selection, and the pane hiding the diagnostics gutter.", + "actorId": 1147691, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118655493", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-05-05T14:54:38Z", + "editedAt": "2022-05-05T14:56:10Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118655493", + "summary": "A contributor notes the explorer does not integrate with the last-picker command and its keys differ from other pickers.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118689985", + "kind": "comment", + "actor": "sudormrfbin", + "createdAt": "2022-05-05T15:21:19Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118689985", + "summary": "A maintainer argues four display modes is too much to ship and maintain, recommends only the overlay tree with reasons, and is wary of destructive delete and rename on easy two-key bindings.", + "actorId": 23398472, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118738148", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-05T15:57:41Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118738148", + "summary": "The PR author says they will try the ASCII tree and generic item request.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:cross-referenced:2022-05-05T16:49:30Z", + "kind": "process", + "actor": "pickfire", + "createdAt": "2022-05-05T16:49:30Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A contributor links draft PR #2412, a picker-style find file command.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1118841096", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-05-05T17:04:32Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1118841096", + "summary": "The contributor shares the find-file draft as an alternative to compare.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:renamed:2022-05-12T13:50:33Z", + "kind": "process", + "actor": "ghost", + "createdAt": "2022-05-12T13:50:33Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "The PR author renames the PR to include the tree helper.", + "actorType": "unknown", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125028203", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-12T13:56:06Z", + "editedAt": "2022-05-12T14:05:53Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125028203", + "summary": "The PR author says arrow keys and the gutter issue are fixed and themes will follow.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125032344", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-12T13:59:56Z", + "editedAt": "2022-05-12T14:04:14Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125032344", + "summary": "The PR author says the tree logic is extracted into a reusable tree helper module and asks for review.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125036009", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-12T14:03:18Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125036009", + "summary": "The PR author asks whether the added filter matches the picker idea.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125052848", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-12T14:17:36Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125052848", + "summary": "The PR author replies that supporting four styles costs under 30 extra lines and that deletes require typing YES.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125095624", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-05-12T14:53:54Z", + "editedAt": "2022-05-12T14:54:34Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125095624", + "summary": "A contributor explains the picker idea differs: typing searches immediately, enter opens or creates, backspace goes up, with no separate key set to learn.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1125927607", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-05-13T10:56:24Z", + "editedAt": "2022-05-13T10:56:41Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1125927607", + "summary": "The contributor argues file trees have unintuitive, inconsistent keys and asks that keybindings be reviewed so users need no docs before merging.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1128663943", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-05-17T09:53:57Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1128663943", + "summary": "A contributor asks for an option to disable the preview window.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1128703343", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-05-17T10:34:27Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1128703343", + "summary": "A contributor lists missing mouse interactions.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1128704732", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-05-17T10:35:42Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1128704732", + "summary": "A contributor suggests file type icons.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1128819954", + "kind": "comment", + "actor": "the-mikedavis", + "createdAt": "2022-05-17T12:40:56Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1128819954", + "summary": "A maintainer says file icons do not fit core because they require patched fonts.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:labeled:2022-05-18T02:25:58Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2022-05-18T02:25:58Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A maintainer marks the PR as waiting on review.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:884882401", + "kind": "review-comment", + "actor": "pickfire", + "createdAt": "2022-05-30T14:23:03Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r884882401", + "summary": "A contributor asks whether to call it a tree explorer since the component may be reused.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1150185935", + "kind": "comment", + "actor": "heliostatic", + "createdAt": "2022-06-08T17:18:07Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1150185935", + "summary": "A contributor asks what testing or feedback would help.", + "actorId": 70898, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:892668318", + "kind": "review-comment", + "actor": "connorlay", + "createdAt": "2022-06-08T17:25:34Z", + "editedAt": "2022-06-08T17:26:22Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r892668318", + "summary": "A contributor suggests Ctrl-n and Ctrl-p bindings to match the file picker.", + "actorId": 6548350, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1150379475", + "kind": "comment", + "actor": "Termina94", + "createdAt": "2022-06-08T20:29:11Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1150379475", + "summary": "A contributor says they expected to prefer a sidebar but liked the overlay, and asks how to clear the filter and move between search matches.", + "actorId": 47091253, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1159766818", + "kind": "comment", + "actor": "pickfire", + "createdAt": "2022-06-19T16:09:13Z", + "editedAt": "2022-06-19T16:09:38Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1159766818", + "summary": "A contributor reports a no-docs trial in which many keys behaved unexpectedly and navigation got stuck in a parent directory.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1170571539", + "kind": "comment", + "actor": "johalun", + "createdAt": "2022-06-29T22:54:00Z", + "editedAt": "2022-06-29T23:02:29Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1170571539", + "summary": "A user asks how to test it and how to open it as a side pane.", + "actorId": 6335180, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1170597903", + "kind": "comment", + "actor": "johalun", + "createdAt": "2022-06-29T23:41:41Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1170597903", + "summary": "The user praises it and lists wished-for features such as expand-all, remembered state and git status.", + "actorId": 6335180, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1179517851", + "kind": "comment", + "actor": "Trivernis", + "createdAt": "2022-07-09T10:12:10Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1179517851", + "summary": "A user asks for highlighting the open file, page scrolling, and space to expand folders.", + "actorId": 19694973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1184245652", + "kind": "comment", + "actor": "codri", + "createdAt": "2022-07-14T09:59:10Z", + "editedAt": "2022-07-14T10:13:40Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1184245652", + "summary": "A user lists issues and shows a modified branch adding hardcoded icons and colours.", + "actorId": 16721244, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1184418999", + "kind": "comment", + "actor": "lazytanuki", + "createdAt": "2022-07-14T13:00:05Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1184418999", + "summary": "A contributor points to their icon-support proposal PR and suggests waiting for editor-wide optional icons rather than adding them here.", + "actorId": 43273245, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1184781554", + "kind": "comment", + "actor": "univerz", + "createdAt": "2022-07-14T18:45:08Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1184781554", + "summary": "A user asks for the modified branch.", + "actorId": 1024741, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1186490600", + "kind": "comment", + "actor": "codri", + "createdAt": "2022-07-17T11:34:04Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1186490600", + "summary": "The user shares their branch with notes on icons and theme keys.", + "actorId": 16721244, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1191779274", + "kind": "comment", + "actor": "samholmes", + "createdAt": "2022-07-21T17:59:16Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1191779274", + "summary": "A user suggests treating the sidebar as a regular window navigable in window mode.", + "actorId": 517469, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:927862197", + "kind": "review-comment", + "actor": "usagi-flow", + "createdAt": "2022-07-22T17:31:47Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r927862197", + "summary": "A contributor argues users explore files, so the user-facing name should stay file explorer even if code calls it a tree.", + "actorId": 2804556, + "actorType": "human", + "parentId": "helix-2377:review-comment:884882401" + }, + { + "id": "helix-2377:comment:1192898302", + "kind": "comment", + "actor": "samholmes", + "createdAt": "2022-07-22T20:06:30Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1192898302", + "summary": "A user suggests the filter should fuzzy search the whole directory tree.", + "actorId": 517469, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1193926055", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-07-25T11:26:58Z", + "editedAt": "2022-07-25T11:27:14Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1193926055", + "summary": "A contributor asks that the explorer remember its location between toggles.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1210999592", + "kind": "comment", + "actor": "mike-lloyd03", + "createdAt": "2022-08-10T17:02:27Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1210999592", + "summary": "A user says they need this.", + "actorId": 49411532, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1221456182", + "kind": "comment", + "actor": "omentic", + "createdAt": "2022-08-21T03:00:20Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1221456182", + "summary": "A contributor asks for git status indicators like Sublime Text.", + "actorId": 35242550, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1221468132", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-08-21T04:51:58Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1221468132", + "summary": "A maintainer says git status is a separate follow-up after another PR lands.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1221471775", + "kind": "comment", + "actor": "Lunarequest", + "createdAt": "2022-08-21T05:25:50Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1221471775", + "summary": "A user asks people to react instead of posting +1 comments.", + "actorId": 30698906, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:955297592", + "kind": "review-comment", + "actor": "willparsons", + "createdAt": "2022-08-25T18:36:07Z", + "editedAt": "2022-08-25T18:36:08Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r955297592", + "summary": "A user suggests Space-e should also close the explorer.", + "actorId": 10012418, + "actorType": "human", + "parentId": "helix-2377:review-comment:892668318" + }, + { + "id": "helix-2377:review-comment:955300752", + "kind": "review-comment", + "actor": "willparsons", + "createdAt": "2022-08-25T18:40:17Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r955300752", + "summary": "The user adds Space-e could simply toggle regardless of focus.", + "actorId": 10012418, + "actorType": "human", + "parentId": "helix-2377:review-comment:892668318" + }, + { + "id": "helix-2377:review-comment:955324848", + "kind": "review-comment", + "actor": "willparsons", + "createdAt": "2022-08-25T19:09:28Z", + "editedAt": "2022-08-25T19:09:29Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r955324848", + "summary": "A user suggests simplifying helper methods to direct comparisons.", + "actorId": 10012418, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1253384403", + "kind": "comment", + "actor": "r0l1", + "createdAt": "2022-09-21T08:36:27Z", + "editedAt": "2022-09-21T10:14:55Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1253384403", + "summary": "A user says they rebased the PR into a fork, with and without icons, and will use it until upstream lands.", + "actorId": 10167163, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1253439247", + "kind": "comment", + "actor": "r0l1", + "createdAt": "2022-09-21T09:23:00Z", + "editedAt": "2022-09-22T10:57:02Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1253439247", + "summary": "The user reports bugs with symlinked directories and the tree not refreshing after file creation.", + "actorId": 10167163, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1254779007", + "kind": "comment", + "actor": "voidcontext", + "createdAt": "2022-09-22T09:39:52Z", + "editedAt": "2022-09-22T10:03:02Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1254779007", + "summary": "A contributor asks whether this PR will be updated or replaced by the fork.", + "actorId": 1415312, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1254864907", + "kind": "comment", + "actor": "r0l1", + "createdAt": "2022-09-22T11:00:30Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1254864907", + "summary": "The fork author hopes the original author finishes and offers their changes.", + "actorId": 10167163, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1254876488", + "kind": "comment", + "actor": "lazytanuki", + "createdAt": "2022-09-22T11:12:10Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1254876488", + "summary": "A contributor says the icon branch will never merge with hardcoded characters and points again to the icon proposal.", + "actorId": 43273245, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1254936783", + "kind": "comment", + "actor": "r0l1", + "createdAt": "2022-09-22T12:13:05Z", + "editedAt": "2022-09-22T12:47:03Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1254936783", + "summary": "The fork author agrees the icon branch is personal only.", + "actorId": 10167163, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1264564895", + "kind": "comment", + "actor": "lucasjinreal", + "createdAt": "2022-10-02T06:32:12Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1264564895", + "summary": "A user asks for a timeline.", + "actorId": 21303438, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:987715324", + "kind": "review-comment", + "actor": "Trivernis", + "createdAt": "2022-10-05T09:23:44Z", + "editedAt": "2022-10-05T09:23:45Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r987715324", + "summary": "A user asks why some code is commented out.", + "actorId": 19694973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1268194955", + "kind": "comment", + "actor": "Trivernis", + "createdAt": "2022-10-05T09:38:53Z", + "editedAt": "2022-10-07T12:21:40Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1268194955", + "summary": "A user lists essential fixes (highlight active buffer, refresh, root display, follow working directory) and says the four display modes add a lot of complexity.", + "actorId": 19694973, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1272310650", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-10-08T12:42:00Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1272310650", + "summary": "The PR author says they are busy but will optimise soon.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1274439600", + "kind": "comment", + "actor": "jmackie", + "createdAt": "2022-10-11T09:59:22Z", + "editedAt": "2022-10-11T09:59:52Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1274439600", + "summary": "A user asks for a reveal-current-file command like NERDTreeFind, replacing the recursive expand binding.", + "actorId": 12185627, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1290798987", + "kind": "comment", + "actor": "xJonathanLEI", + "createdAt": "2022-10-25T16:01:38Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1290798987", + "summary": "A contributor wants to daily-drive it but cannot rebase the stale branch.", + "actorId": 19556359, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1296961843", + "kind": "comment", + "actor": "emilyyyylime", + "createdAt": "2022-10-31T11:37:07Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1296961843", + "summary": "A contributor suggests showing diagnostics in the explorer.", + "actorId": 40892795, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1297028700", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-10-31T12:42:02Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1297028700", + "summary": "A maintainer asks that feature requests wait until the base PR lands, noting LSP only reports diagnostics for open files.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1304560532", + "kind": "comment", + "actor": "algorithmiker", + "createdAt": "2022-11-05T14:48:10Z", + "editedAt": "2022-11-05T14:48:39Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1304560532", + "summary": "A user asks for a status update.", + "actorId": 104317939, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1304686017", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-11-06T01:09:59Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1304686017", + "summary": "A maintainer says it needs a rebase, review and testing.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1312079745", + "kind": "comment", + "actor": "paxelpixel", + "createdAt": "2022-11-11T19:05:14Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1312079745", + "summary": "A user expresses excitement.", + "actorId": 13143458, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1312777101", + "kind": "comment", + "actor": "aguilera51284", + "createdAt": "2022-11-13T17:04:24Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1312777101", + "summary": "A user says this is needed for large professional projects.", + "actorId": 7749319, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:1022174277", + "kind": "review-comment", + "actor": "well1791", + "createdAt": "2022-11-14T23:45:19Z", + "editedAt": "2022-11-14T23:48:10Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r1022174277", + "summary": "A user suggests merging duplicate keymap doc rows.", + "actorId": 6817008, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:review-comment:1022183504", + "kind": "review-comment", + "actor": "well1791", + "createdAt": "2022-11-15T00:02:51Z", + "editedAt": "2022-11-15T00:02:52Z", + "url": "https://github.com/helix-editor/helix/pull/2377#discussion_r1022183504", + "summary": "A user suggests documenting that removal asks for confirmation.", + "actorId": 6817008, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1336033917", + "kind": "comment", + "actor": "Diogenesoftoronto", + "createdAt": "2022-12-03T03:38:07Z", + "editedAt": "2022-12-03T03:38:19Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1336033917", + "summary": "A contributor expresses interest.", + "actorId": 87236699, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1353311568", + "kind": "comment", + "actor": "alphashuro", + "createdAt": "2022-12-15T15:57:23Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1353311568", + "summary": "A user asks whether a bounty could fund getting this merged.", + "actorId": 8580352, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1363627446", + "kind": "comment", + "actor": "d4hines", + "createdAt": "2022-12-23T05:17:29Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1363627446", + "summary": "A contributor rebases the branch onto master and asks the author to update.", + "actorId": 25231383, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:labeled:2022-12-29T21:43:13Z", + "kind": "process", + "actor": "kirawi", + "createdAt": "2022-12-29T21:43:13Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A maintainer labels the PR inactive.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1367599495", + "kind": "comment", + "actor": "kirawi", + "createdAt": "2022-12-29T21:43:40Z", + "editedAt": "2022-12-29T21:44:50Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1367599495", + "summary": "A maintainer says others may continue in a separate PR if the author is inactive.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1383054260", + "kind": "comment", + "actor": "evertonse", + "createdAt": "2023-01-15T04:37:26Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1383054260", + "summary": "A user says they ported the explorer onto current master in a fork.", + "actorId": 69195288, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1383171889", + "kind": "comment", + "actor": "ayoub-benali", + "createdAt": "2023-01-15T14:56:41Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1383171889", + "summary": "A contributor asks them to open a PR so it can be reviewed.", + "actorId": 1632384, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:cross-referenced:2023-01-18T02:02:30Z", + "kind": "process", + "actor": "evertonse", + "createdAt": "2023-01-18T02:02:30Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A user links PR #5566, a tree explorer port.", + "actorId": 69195288, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:cross-referenced:2023-02-01T16:09:28Z", + "kind": "process", + "actor": "wongjiahau", + "createdAt": "2023-02-01T16:09:28Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A contributor links PR #5768, file explorer v3.", + "actorId": 23183656, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1412320865", + "kind": "comment", + "actor": "wongjiahau", + "createdAt": "2023-02-01T16:10:32Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1412320865", + "summary": "A contributor says they implemented reveal-current-file in the v3 PR.", + "actorId": 23183656, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1445314445", + "kind": "comment", + "actor": "workingj", + "createdAt": "2023-02-26T10:02:31Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1445314445", + "summary": "A contributor suggests closing this PR as superseded by v3.", + "actorId": 19818596, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:comment:1461484244", + "kind": "comment", + "actor": "archseer", + "createdAt": "2023-03-09T07:38:16Z", + "url": "https://github.com/helix-editor/helix/pull/2377#issuecomment-1461484244", + "summary": "A maintainer says it is replaced by #5768.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + }, + { + "id": "helix-2377:process:closed:2023-03-09T07:38:17Z", + "kind": "process", + "actor": "archseer", + "createdAt": "2023-03-09T07:38:17Z", + "url": "https://github.com/helix-editor/helix/pull/2377", + "summary": "A maintainer closes the PR unmerged.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-2377:pr:2377" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/helix-integrated-terminal.json b/evals/datasets/decisions-v1/cases/helix-integrated-terminal.json new file mode 100644 index 000000000..51aef08f7 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/helix-integrated-terminal.json @@ -0,0 +1,836 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "helix-integrated-terminal", + "title": "Integrated terminal in Helix", + "source": { + "url": "https://github.com/helix-editor/helix/issues/1976", + "retrievedAt": "2026-10-18T07:29:24.405468+00:00", + "repository": "helix-editor/helix", + "number": 1976 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-04-06T12:00:00Z" + }, + { + "id": "c2", + "at": "2022-10-17T00:00:00Z" + }, + { + "id": "c3", + "at": "2025-10-28T14:30:00Z" + } + ], + "events": [ + { + "id": "helix-1976:issue:1976", + "kind": "opening", + "actor": "hh9527", + "createdAt": "2022-04-06T09:36:34Z", + "url": "https://github.com/helix-editor/helix/issues/1976", + "summary": "The opener, a contributor, proposes a built-in integrated terminal so key bindings, pane management, clipboard and layouts are unified instead of relying on Zellij.", + "actorId": 3439410, + "actorType": "human" + }, + { + "id": "helix-1976:comment:1090109331", + "kind": "comment", + "actor": "David-Else", + "createdAt": "2022-04-06T10:28:27Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1090109331", + "summary": "A contributor argues it is a lot of work for little gain, since the terminal emulator or multiplexer should handle this, while allowing others may disagree.", + "actorId": 12832280, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1090350381", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-04-06T14:39:52Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1090350381", + "summary": "A contributor cites Neovim's terminal as very useful and argues for not depending on a particular terminal application.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1090405143", + "kind": "comment", + "actor": "hh9527", + "createdAt": "2022-04-06T15:28:57Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1090405143", + "summary": "The opener agrees and says multiplexers feel hacky, so the editor should own panes and tabs including a terminal.", + "actorId": 3439410, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1090429082", + "kind": "comment", + "actor": "kirawi", + "createdAt": "2022-04-06T15:51:01Z", + "editedAt": "2022-04-06T15:51:14Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1090429082", + "summary": "A maintainer says the idea was discussed on Matrix with some desire to build it, but it is complicated and costly.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1091074719", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-04-07T04:46:06Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1091074719", + "summary": "A maintainer explains that a real terminal means re-parsing every escape sequence, roughly rebuilding tmux inside the editor, and says he would welcome an experiment but will not build it himself since he uses tmux.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1091574163", + "kind": "comment", + "actor": "andreytkachenko", + "createdAt": "2022-04-07T10:50:10Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1091574163", + "summary": "A contributor points to alacritty_terminal as an embeddable terminal implementation.", + "actorId": 1773973, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1100946050", + "kind": "comment", + "actor": "joegm", + "createdAt": "2022-04-17T20:39:01Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1100946050", + "summary": "A contributor suggests it would suit a plugin once plugin support exists, keeping the core lean.", + "actorId": 96927121, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1100949562", + "kind": "comment", + "actor": "workingj", + "createdAt": "2022-04-17T21:08:46Z", + "editedAt": "2022-04-17T21:09:49Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1100949562", + "summary": "A contributor suggests drop-down terminals such as guake or ConEmu.", + "actorId": 19818596, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1126411202", + "kind": "comment", + "actor": "i3elj", + "createdAt": "2022-05-13T19:57:44Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1126411202", + "summary": "A user values Helix's lean build and agrees a built-in terminal may be too much.", + "actorId": 61887184, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1128805055", + "kind": "comment", + "actor": "hh9527", + "createdAt": "2022-05-17T12:25:46Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1128805055", + "summary": "The opener suggests a client-server mode, where each pane is a client sharing one server and cooperating with the window manager, would remove the need for a built-in terminal.", + "actorId": 3439410, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1141340715", + "kind": "comment", + "actor": "adamkpickering", + "createdAt": "2022-05-30T16:44:11Z", + "editedAt": "2022-06-01T15:33:03Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1141340715", + "summary": "A user says the missing terminal keeps them on Neovim, citing a portable setup across operating systems including Windows, and future GUI use.", + "actorId": 19395776, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1173837081", + "kind": "comment", + "actor": "premell", + "createdAt": "2022-07-04T13:41:23Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1173837081", + "summary": "A user quotes concerns about plugin sprawl, argues Helix's batteries-included approach is a strength, and guesses most people want a terminal.", + "actorId": 65544203, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1216003851", + "kind": "comment", + "actor": "i3elj", + "createdAt": "2022-08-16T00:12:06Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1216003851", + "summary": "A user asks whether anyone is working on it and offers to help.", + "actorId": 61887184, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1243386380", + "kind": "comment", + "actor": "wojpawlik", + "createdAt": "2022-09-12T08:23:31Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1243386380", + "summary": "A user asks whether fish can bring the editor back on Ctrl-Z.", + "actorId": 23058303, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1256533786", + "kind": "comment", + "actor": "txtyash", + "createdAt": "2022-09-23T18:23:34Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1256533786", + "summary": "A contributor argues a built-in terminal is overkill and that key binding conflicts with multiplexers should be fixed instead, answering each of the opener's points.", + "actorId": 85027668, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1256599721", + "kind": "comment", + "actor": "kirawi", + "createdAt": "2022-09-23T19:32:41Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1256599721", + "summary": "A maintainer suggests adding Windows support to Zellij may be simpler.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1256856494", + "kind": "comment", + "actor": "txtyash", + "createdAt": "2022-09-24T04:40:35Z", + "editedAt": "2022-09-24T04:40:53Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1256856494", + "summary": "A contributor says they use the same suspend binding.", + "actorId": 85027668, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1257037573", + "kind": "comment", + "actor": "dead10ck", + "createdAt": "2022-09-24T18:25:54Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1257037573", + "summary": "A maintainer says a terminal emulator does not belong in core and is about as orthogonal to editing as features get.", + "actorId": 846275, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1258563531", + "kind": "comment", + "actor": "nezuo", + "createdAt": "2022-09-26T20:12:31Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1258563531", + "summary": "A user says they avoid Helix because it lacks a terminal, and would accept a plugin.", + "actorId": 48431591, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1272616798", + "kind": "comment", + "actor": "ArikRahman", + "createdAt": "2022-10-09T19:58:27Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1272616798", + "summary": "A user notes :sh does not work for interactive programs.", + "actorId": 40479733, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1277663301", + "kind": "comment", + "actor": "xJonathanLEI", + "createdAt": "2022-10-13T14:01:41Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1277663301", + "summary": "A contributor argues that if even Vim has a terminal it is not bloat.", + "actorId": 19556359, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1278428557", + "kind": "comment", + "actor": "xJonathanLEI", + "createdAt": "2022-10-14T03:26:37Z", + "editedAt": "2022-10-14T03:29:16Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1278428557", + "summary": "The same contributor explains why a tmux pane does not replace a quick in-editor terminal for their workspace switching.", + "actorId": 19556359, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1279489457", + "kind": "comment", + "actor": "Bugbert", + "createdAt": "2022-10-14T21:32:22Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1279489457", + "summary": "A user asks how it could be built and suggests a pseudo-terminal crate rendered as a document.", + "actorId": 101371492, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1279936060", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-10-16T09:59:15Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1279936060", + "summary": "A user backs the client-server approach, citing how Kakoune avoids a terminal emulator.", + "actorId": 10137, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1303257782", + "kind": "comment", + "actor": "theaungmyatmoe", + "createdAt": "2022-11-04T10:56:01Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1303257782", + "summary": "A user adds support.", + "actorId": 65492233, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1307297275", + "kind": "comment", + "actor": "I60R", + "createdAt": "2022-11-08T14:20:06Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1307297275", + "summary": "A user describes using Neovim as a multiplexer and as a pager.", + "actorId": 9143774, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1316215627", + "kind": "comment", + "actor": "lukepighetti", + "createdAt": "2022-11-16T02:41:22Z", + "editedAt": "2022-11-16T02:41:46Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1316215627", + "summary": "A user opposes a built-in terminal, citing good multiplexers and core complexity.", + "actorId": 666539, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1316223463", + "kind": "comment", + "actor": "xJonathanLEI", + "createdAt": "2022-11-16T02:50:35Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1316223463", + "summary": "A contributor argues the value is integration, such as jumping from linter output to a file, which a multiplexer cannot do.", + "actorId": 19556359, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1319372426", + "kind": "comment", + "actor": "ksandvik", + "createdAt": "2022-11-18T00:07:12Z", + "editedAt": "2022-11-18T00:08:00Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1319372426", + "summary": "A user suggests :sh output into a scratch buffer would cover most needs.", + "actorId": 9701765, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1320254371", + "kind": "comment", + "actor": "lukepighetti", + "createdAt": "2022-11-18T16:31:35Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1320254371", + "summary": "The earlier opponent asks for a concrete flow, suggesting copying paths would suffice.", + "actorId": 666539, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1341706192", + "kind": "comment", + "actor": "RomeoV", + "createdAt": "2022-12-07T22:56:19Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1341706192", + "summary": "A user describes sending selected code to a REPL in a terminal split.", + "actorId": 8644490, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1341891089", + "kind": "comment", + "actor": "archseer", + "createdAt": "2022-12-08T02:25:17Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1341891089", + "summary": "A maintainer says a prototype draft PR exists so no more convincing is needed, and suggests tmux plus clipboard for the REPL flow.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1436182656", + "kind": "comment", + "actor": "goyalyashpal", + "createdAt": "2023-02-20T01:45:03Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1436182656", + "summary": "A contributor links the client-server issue.", + "actorId": 19423063, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1445427362", + "kind": "comment", + "actor": "debajyoti1990", + "createdAt": "2023-02-26T18:23:23Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1445427362", + "summary": "A Windows user says Windows Terminal covers most needs, but a GUI would require a built-in terminal.", + "actorId": 48386861, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1445788522", + "kind": "comment", + "actor": "goyalyashpal", + "createdAt": "2023-02-27T06:39:32Z", + "editedAt": "2023-02-27T15:25:10Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1445788522", + "summary": "A contributor asks which sense of core was meant.", + "actorId": 19423063, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1446398489", + "kind": "comment", + "actor": "debajyoti1990", + "createdAt": "2023-02-27T14:15:43Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1446398489", + "summary": "The user clarifies they meant built in.", + "actorId": 48386861, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1589885219", + "kind": "comment", + "actor": "nathan-at-least", + "createdAt": "2023-06-13T19:17:18Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1589885219", + "summary": "A user in the tmux camp argues Helix cannot match sessions, reattachment and layouts, so they oppose a built-in terminal.", + "actorId": 4369700, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1589888840", + "kind": "comment", + "actor": "ArikRahman", + "createdAt": "2023-06-13T19:19:40Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1589888840", + "summary": "A user changes their mind and now thinks Helix has better priorities.", + "actorId": 40479733, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1645104621", + "kind": "comment", + "actor": "quantonganh", + "createdAt": "2023-07-21T07:22:09Z", + "editedAt": "2023-07-21T23:34:15Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1645104621", + "summary": "A contributor shares a WezTerm integration script as a workaround.", + "actorId": 1568504, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1774068604", + "kind": "comment", + "actor": "t-cadet", + "createdAt": "2023-10-22T11:30:01Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1774068604", + "summary": "A user argues the real benefit is using editor motions in the terminal and shares a script approximating it.", + "actorId": 33122682, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1975107134", + "kind": "comment", + "actor": "gerion0", + "createdAt": "2024-03-03T09:57:21Z", + "editedAt": "2024-03-05T19:27:16Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1975107134", + "summary": "A user lists shell-aware features, such as jumping between prompts and selecting command output, that only a built-in terminal could offer.", + "actorId": 32870336, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:1977074495", + "kind": "comment", + "actor": "willelind", + "createdAt": "2024-03-04T17:11:36Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-1977074495", + "summary": "A user stresses having editor bindings in the terminal and avoiding two keymaps.", + "actorId": 139154212, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2266816022", + "kind": "comment", + "actor": "DaniD3v", + "createdAt": "2024-08-03T15:31:22Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2266816022", + "summary": "A user wants run configurations and jumping to files from command output.", + "actorId": 124387056, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278343817", + "kind": "comment", + "actor": "ondrej-ivanko", + "createdAt": "2024-08-09T16:43:46Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278343817", + "summary": "A user says Zellij with Helix solves their terminal needs.", + "actorId": 44980578, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278365212", + "kind": "comment", + "actor": "adriangalilea", + "createdAt": "2024-08-09T16:58:02Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278365212", + "summary": "A user disagrees, saying the setup stays fragmented across buffers.", + "actorId": 90320947, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278376488", + "kind": "comment", + "actor": "ondrej-ivanko", + "createdAt": "2024-08-09T17:05:13Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278376488", + "summary": "The Zellij user suggests tab synchronisation.", + "actorId": 44980578, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278468216", + "kind": "comment", + "actor": "TornaxO7", + "createdAt": "2024-08-09T18:02:20Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278468216", + "summary": "A contributor shows a Zellij setup for running and viewing output.", + "actorId": 50843046, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278742029", + "kind": "comment", + "actor": "gerion0", + "createdAt": "2024-08-09T20:53:08Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278742029", + "summary": "A user notes Helix cannot interpret the terminal scrollback to jump to locations.", + "actorId": 32870336, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2278776910", + "kind": "comment", + "actor": "TornaxO7", + "createdAt": "2024-08-09T21:26:07Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2278776910", + "summary": "The contributor agrees and says manual navigation is fine for them.", + "actorId": 50843046, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2280476116", + "kind": "comment", + "actor": "adriangalilea", + "createdAt": "2024-08-10T09:04:58Z", + "editedAt": "2024-08-10T09:10:04Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2280476116", + "summary": "The user says tab synchronisation did not help them.", + "actorId": 90320947, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2404067720", + "kind": "comment", + "actor": "lloydbond", + "createdAt": "2024-10-10T05:35:16Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2404067720", + "summary": "A contributor calls the terminal low priority and shares a tmux popup configuration.", + "actorId": 1790652, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2568833241", + "kind": "comment", + "actor": "Benexl", + "createdAt": "2025-01-03T08:14:44Z", + "editedAt": "2025-01-03T08:15:32Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2568833241", + "summary": "A user quotes that configuration.", + "actorId": 81157281, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2698874729", + "kind": "comment", + "actor": "esarver", + "createdAt": "2025-03-04T20:51:01Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2698874729", + "summary": "A user notes tmux and Zellij do not run natively on Windows and the terminal is what they miss from Neovim.", + "actorId": 4965633, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2707507266", + "kind": "comment", + "actor": "gerion0", + "createdAt": "2025-03-07T21:37:20Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2707507266", + "summary": "A user cites Neovim merging prompt jumping as evidence of the value of deep integration.", + "actorId": 32870336, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2759164961", + "kind": "comment", + "actor": "KpjComp", + "createdAt": "2025-03-27T19:19:52Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2759164961", + "summary": "A user cites VS Code's clickable errors in terminal output.", + "actorId": 7437955, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2759867633", + "kind": "comment", + "actor": "IceSentry", + "createdAt": "2025-03-28T00:15:24Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2759867633", + "summary": "A user explains terminals like WezTerm can detect links and send commands to Helix.", + "actorId": 8348954, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2759949747", + "kind": "comment", + "actor": "quantonganh", + "createdAt": "2025-03-28T01:39:16Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2759949747", + "summary": "A contributor links a guide to WezTerm hyperlink rules for jumping to build errors.", + "actorId": 1568504, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2846148873", + "kind": "comment", + "actor": "itpropro", + "createdAt": "2025-05-02T02:14:04Z", + "editedAt": "2025-05-02T02:14:35Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2846148873", + "summary": "A user asks for updates, citing the inability to send code to an interpreter.", + "actorId": 15030951, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2849025105", + "kind": "comment", + "actor": "RoloEdits", + "createdAt": "2025-05-04T05:52:18Z", + "editedAt": "2025-05-04T05:54:49Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2849025105", + "summary": "A contributor points to a related PR that could help with glue scripts.", + "actorId": 12489689, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:2849063316", + "kind": "comment", + "actor": "quantonganh", + "createdAt": "2025-05-04T07:45:17Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-2849063316", + "summary": "A contributor shows a key binding that pipes a selection to a REPL in a split pane.", + "actorId": 1568504, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3162583090", + "kind": "comment", + "actor": "alex-knyaz", + "createdAt": "2025-08-07T05:47:45Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3162583090", + "summary": "A user links a blog post on not needing a terminal emulator in Emacs.", + "actorId": 52626785, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3164077973", + "kind": "comment", + "actor": "luccahuguet", + "createdAt": "2025-08-07T12:56:03Z", + "editedAt": "2025-08-07T13:03:58Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3164077973", + "summary": "A user promotes their Zellij-based setup, arguing most people should use a multiplexer.", + "actorId": 27565287, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3164401120", + "kind": "comment", + "actor": "webdev23", + "createdAt": "2025-08-07T14:18:42Z", + "editedAt": "2025-11-23T14:53:28Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3164401120", + "summary": "A comment GitHub marks as hidden (abuse).", + "actorId": 2503337, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3172629029", + "kind": "comment", + "actor": "ondrej-ivanko", + "createdAt": "2025-08-10T13:22:18Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3172629029", + "summary": "A user shares a Zellij layout as a pseudo-terminal.", + "actorId": 44980578, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3178024122", + "kind": "comment", + "actor": "jynbug", + "createdAt": "2025-08-12T07:20:20Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3178024122", + "summary": "A user shares a tmux popup configuration.", + "actorId": 221064476, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3423056814", + "kind": "comment", + "actor": "rbwork2024", + "createdAt": "2025-10-20T17:24:25Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3423056814", + "summary": "A user notes Zellij lacks Windows support.", + "actorId": 173387028, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3456694263", + "kind": "comment", + "actor": "ryanabx", + "createdAt": "2025-10-28T14:11:37Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3456694263", + "summary": "A contributor opens a work-in-progress PR adapting the earlier prototype with cross-platform PTY support in its own crate, and asks for feedback.", + "actorId": 56272643, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:process:cross-referenced:2025-10-28T15:22:20Z", + "kind": "process", + "actor": "ryanabx", + "createdAt": "2025-10-28T15:22:20Z", + "url": "https://github.com/helix-editor/helix/issues/1976", + "summary": "The work-in-progress integrated terminal PR is cross-referenced.", + "actorId": 56272643, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:3620736793", + "kind": "comment", + "actor": "Lohann", + "createdAt": "2025-12-06T17:29:05Z", + "editedAt": "2025-12-06T17:34:29Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-3620736793", + "summary": "A user notes terminal splits fail inside a VM and that suspending the editor blocks watching long scripts.", + "actorId": 4323004, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:4305927262", + "kind": "comment", + "actor": "oredaze", + "createdAt": "2026-04-23T16:01:17Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-4305927262", + "summary": "A user argues against the feature as bloat and asks that, if built, it be optional at compile time and avoid heavy libraries.", + "actorId": 51076873, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + }, + { + "id": "helix-1976:comment:4306455031", + "kind": "comment", + "actor": "esarver", + "createdAt": "2026-04-23T17:30:31Z", + "url": "https://github.com/helix-editor/helix/issues/1976#issuecomment-4306455031", + "summary": "A user says Zellij now works on Windows, making the issue less important to them.", + "actorId": 4965633, + "actorType": "human", + "parentId": "helix-1976:issue:1976" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/helix-persistent-state.json b/evals/datasets/decisions-v1/cases/helix-persistent-state.json new file mode 100644 index 000000000..f33e49af2 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/helix-persistent-state.json @@ -0,0 +1,1098 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "helix-persistent-state", + "title": "Persistent session state in Helix", + "source": { + "url": "https://github.com/helix-editor/helix/pull/9143", + "retrievedAt": "2026-10-18T07:24:49.680534+00:00", + "repository": "helix-editor/helix", + "number": 9143 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-12-23T10:00:00Z" + }, + { + "id": "c2", + "at": "2023-12-28T17:00:00Z" + }, + { + "id": "c3", + "at": "2024-11-26T00:00:00Z" + }, + { + "id": "c4", + "at": "2025-05-08T08:05:00Z" + } + ], + "events": [ + { + "id": "helix-9143:pr:9143", + "kind": "opening", + "actor": "intarga", + "createdAt": "2023-12-22T21:27:36Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A contributor opens a PR to persist command, search and file history and clipboard contents across sessions, with config options for enabling, limits and exclusions; persisting splits and background loading are struck from the list.", + "actorId": 16072581, + "actorType": "human" + }, + { + "id": "helix-9143:comment:1868106709", + "kind": "comment", + "actor": "kirawi", + "createdAt": "2023-12-22T22:26:53Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1868106709", + "summary": "A maintainer asks whether the PR covers buffer state, history or both, since he planned to resume persistent undo.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1868108187", + "kind": "comment", + "actor": "kirawi", + "createdAt": "2023-12-22T22:30:29Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1868108187", + "summary": "A maintainer notes another maintainer wanted persistent undo to avoid serde.", + "actorId": 67773714, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1868125080", + "kind": "comment", + "actor": "intarga", + "createdAt": "2023-12-22T23:18:14Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1868125080", + "summary": "The opener says undo is out of scope and summarises Neovim's single-file ShaDa design, arguing undo history should be stored separately because it grows large.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1868161124", + "kind": "comment", + "actor": "pascalkuthe", + "createdAt": "2023-12-23T01:14:37Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1868161124", + "summary": "A maintainer explains serde lacks streaming serialization, prefers append-only session data with simple self-describing headers and bincode over msgpack.", + "actorId": 61850714, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1868313785", + "kind": "comment", + "actor": "intarga", + "createdAt": "2023-12-23T15:16:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1868313785", + "summary": "The opener accepts bincode but disputes append-only, listing benefits of a single merged file such as per-type limits, chronological merging and clear trimming.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1871332375", + "kind": "comment", + "actor": "pascalkuthe", + "createdAt": "2023-12-28T16:41:47Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1871332375", + "summary": "A maintainer prefers separate files per kind of state, append-only where it fits like zsh history, to cut background writes, and sees no gain in Neovim's single file.", + "actorId": 61850714, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1871341685", + "kind": "comment", + "actor": "intarga", + "createdAt": "2023-12-28T16:54:51Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1871341685", + "summary": "The opener agrees to try the multi-file approach.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1873752857", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-01-02T08:56:15Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1873752857", + "summary": "A contributor jokingly suggests a name for the session format.", + "actorId": 126640223, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1439584619", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-02T15:56:04Z", + "editedAt": "2024-01-02T15:58:59Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1439584619", + "summary": "A maintainer says register contents need encoding because line endings break reading.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1439586774", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-02T15:58:22Z", + "editedAt": "2024-01-02T15:58:59Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1439586774", + "summary": "A maintainer asks that register reversal stay inside the session module.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:labeled:2024-01-02T15:59:25Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2024-01-02T15:59:25Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A maintainer labels the PR as an enhancement.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:labeled:2024-01-02T15:59:25Z+", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2024-01-02T15:59:25Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A maintainer labels the PR experimental.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1439633185", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-01-02T16:51:36Z", + "editedAt": "2024-01-02T16:51:37Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1439633185", + "summary": "The opener proposes bincode for registers too.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439584619" + }, + { + "id": "helix-9143:review-comment:1439637440", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-01-02T16:56:41Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1439637440", + "summary": "The opener suggests taking an iterator to avoid reversing twice.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439586774" + }, + { + "id": "helix-9143:review-comment:1439695259", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-01-02T18:09:40Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1439695259", + "summary": "The opener asks whether to create a shared types crate.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1440567882", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-03T15:13:52Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1440567882", + "summary": "A maintainer says most callers collect anyway, so an iterator would be wasteful.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439586774" + }, + { + "id": "helix-9143:review-comment:1440568239", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-03T15:14:11Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1440568239", + "summary": "A maintainer rejects a types crate and says session types should live in helix-view, with the loader only supplying file paths.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439695259" + }, + { + "id": "helix-9143:review-comment:1440568451", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-03T15:14:21Z", + "editedAt": "2024-01-03T15:14:22Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1440568451", + "summary": "A maintainer agrees bincode is fine for registers.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439584619" + }, + { + "id": "helix-9143:review-comment:1441722137", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-01-04T13:02:14Z", + "editedAt": "2024-01-04T13:02:48Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1441722137", + "summary": "The opener agrees to move the logic and asks which crate should own code that spans two crates.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439695259" + }, + { + "id": "helix-9143:review-comment:1441724817", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-01-04T13:05:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1441724817", + "summary": "The opener accepts the iterator answer.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439586774" + }, + { + "id": "helix-9143:review-comment:1445130062", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-01-08T18:39:13Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1445130062", + "summary": "A maintainer prefers putting such code in the higher crate and points to config handling as precedent.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:review-comment:1439695259" + }, + { + "id": "helix-9143:comment:1936410162", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-02-09T18:27:27Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1936410162", + "summary": "The opener asks whether restored files should centre the view or restore the saved offset.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1936446761", + "kind": "comment", + "actor": "gabydd", + "createdAt": "2024-02-09T18:56:33Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1936446761", + "summary": "A maintainer suggests centring on buffer switch may be a bug.", + "actorId": 82682503, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1936453558", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-02-09T19:02:15Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1936453558", + "summary": "The opener thinks it is intentional and matches vim.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1936454858", + "kind": "comment", + "actor": "gabydd", + "createdAt": "2024-02-09T19:03:21Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1936454858", + "summary": "The maintainer will look later.", + "actorId": 82682503, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1936466159", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-02-09T19:12:27Z", + "editedAt": "2024-02-09T19:13:15Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1936466159", + "summary": "The opener points to the code that centres the view and offers to change it if approved.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1937024107", + "kind": "comment", + "actor": "the-mikedavis", + "createdAt": "2024-02-10T14:47:51Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1937024107", + "summary": "A maintainer prefers saving the view offset and centring only when the cursor would be hidden, pointing to an unfinished PR.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:1937063260", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-02-10T17:01:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-1937063260", + "summary": "The opener finds a newer PR that already does this.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:cross-referenced:2024-04-22T17:32:11Z", + "kind": "process", + "actor": "t-monaghan", + "createdAt": "2024-04-22T17:32:11Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A user links the related view-offset PR.", + "actorId": 62273348, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1684281249", + "kind": "review-comment", + "actor": "Ordoviz", + "createdAt": "2024-07-19T12:04:35Z", + "editedAt": "2024-07-19T12:04:36Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1684281249", + "summary": "A contributor asks to exclude commit message files in bare git repos.", + "actorId": 37733333, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326151182", + "kind": "comment", + "actor": "sibouras", + "createdAt": "2024-09-03T10:20:15Z", + "editedAt": "2024-09-03T10:20:33Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326151182", + "summary": "A user reports a panic on Windows at startup.", + "actorId": 64098483, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326421527", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-03T12:39:42Z", + "editedAt": "2024-09-03T12:43:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326421527", + "summary": "The opener traces it to a missing state directory and asks for a Windows convention.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326445717", + "kind": "comment", + "actor": "Guekka", + "createdAt": "2024-09-03T12:51:09Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326445717", + "summary": "A user suggests the local AppData folder.", + "actorId": 39066502, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326449548", + "kind": "comment", + "actor": "sibouras", + "createdAt": "2024-09-03T12:52:54Z", + "editedAt": "2024-09-03T12:54:00Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326449548", + "summary": "The reporter confirms programs use local AppData.", + "actorId": 64098483, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326458346", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-03T12:57:00Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326458346", + "summary": "The opener chooses a state folder under the cache directory to avoid clashes.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326463883", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-03T12:59:33Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326463883", + "summary": "The opener pushes the fix.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2326479640", + "kind": "comment", + "actor": "sibouras", + "createdAt": "2024-09-03T13:06:30Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2326479640", + "summary": "The reporter confirms it works.", + "actorId": 64098483, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2332699730", + "kind": "comment", + "actor": "agieocean", + "createdAt": "2024-09-05T22:02:09Z", + "editedAt": "2024-09-05T22:04:04Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2332699730", + "summary": "A user asks how to trigger persistence.", + "actorId": 11714575, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2333381983", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-06T07:01:10Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2333381983", + "summary": "The opener says it is automatic.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2333643973", + "kind": "comment", + "actor": "agieocean", + "createdAt": "2024-09-06T09:26:20Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2333643973", + "summary": "The user realises the mistake.", + "actorId": 11714575, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2351750896", + "kind": "comment", + "actor": "davidrios", + "createdAt": "2024-09-15T19:09:04Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2351750896", + "summary": "A user asks for details on remaining to-do items to help.", + "actorId": 1418372, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352073011", + "kind": "comment", + "actor": "olxandr", + "createdAt": "2024-09-16T06:01:55Z", + "editedAt": "2024-09-16T06:05:58Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352073011", + "summary": "A user requests prefix-filtered history, session restore and a recent files picker.", + "actorId": 31043927, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352251839", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-16T08:03:53Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352251839", + "summary": "The opener asks whether the user is offering a patch.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352267819", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-16T08:12:36Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352267819", + "summary": "The opener says prefix history is unrelated, and that split restore and recent files belong in follow-up PRs.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352273870", + "kind": "comment", + "actor": "robrecord", + "createdAt": "2024-09-16T08:16:05Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352273870", + "summary": "A user thanks the opener.", + "actorId": 38916, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352306338", + "kind": "comment", + "actor": "olxandr", + "createdAt": "2024-09-16T08:33:44Z", + "editedAt": "2024-09-17T08:30:41Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352306338", + "summary": "The user apologises for off-topic requests.", + "actorId": 31043927, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2352775836", + "kind": "comment", + "actor": "davidrios", + "createdAt": "2024-09-16T12:27:06Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2352775836", + "summary": "The user confirms and asks for brief notes.", + "actorId": 1418372, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2353074790", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-16T14:23:00Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2353074790", + "summary": "The opener explains the error handling and integration test gaps.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2366732243", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-22T11:18:43Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2366732243", + "summary": "The opener reports writing the integration test.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2366821498", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-22T14:42:52Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2366821498", + "summary": "The opener reports finishing error handling while keeping most unwraps.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:ready_for_review:2024-09-22T15:21:10Z", + "kind": "process", + "actor": "intarga", + "createdAt": "2024-09-22T15:21:10Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "The opener marks the PR ready for review.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2366839074", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-09-22T15:28:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2366839074", + "summary": "The opener summarises scope, excluding undo and splits, and explains skipping background loading as premature.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:unlabeled:2024-09-23T12:42:55Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2024-09-23T12:42:55Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A maintainer removes the experimental label.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:labeled:2024-09-23T12:42:55Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2024-09-23T12:42:55Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A maintainer marks the PR waiting on review.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2462351538", + "kind": "comment", + "actor": "neutralinsomniac", + "createdAt": "2024-11-07T14:17:13Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2462351538", + "summary": "A user reports a month of use without issues.", + "actorId": 92071, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2471432427", + "kind": "comment", + "actor": "JLT032", + "createdAt": "2024-11-12T19:49:28Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2471432427", + "summary": "A user asks how to enable position restore.", + "actorId": 34074989, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2472858441", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-13T08:44:30Z", + "editedAt": "2024-11-13T08:46:43Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2472858441", + "summary": "The opener gives the config.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2472923536", + "kind": "comment", + "actor": "JLT032", + "createdAt": "2024-11-13T09:14:07Z", + "editedAt": "2024-11-13T09:19:43Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2472923536", + "summary": "The user reports the config is rejected by a release build.", + "actorId": 34074989, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2472955402", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-13T09:22:01Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2472955402", + "summary": "The opener notes the branch must be built.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2495241849", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-23T02:47:04Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2495241849", + "summary": "A contributor asks whether concurrent instances writing one file is safe.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1855048233", + "kind": "review-comment", + "actor": "useche", + "createdAt": "2024-11-23T03:14:24Z", + "editedAt": "2024-11-23T03:14:25Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1855048233", + "summary": "The contributor asks whether storing all files' history in memory is too much.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2495430528", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-23T10:26:13Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2495430528", + "summary": "The opener says appends are atomic at the OS level and entries are independent.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1855168039", + "kind": "review-comment", + "actor": "intarga", + "createdAt": "2024-11-23T10:33:16Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1855168039", + "summary": "The opener says the file stays tiny and global history is useful.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:review-comment:1855048233" + }, + { + "id": "helix-9143:comment:2495716778", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-24T00:26:13Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2495716778", + "summary": "The contributor confirms via the append documentation.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:review-comment:1855318147", + "kind": "review-comment", + "actor": "useche", + "createdAt": "2024-11-24T00:32:23Z", + "url": "https://github.com/helix-editor/helix/pull/9143#discussion_r1855318147", + "summary": "The contributor agrees memory is negligible.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:review-comment:1855048233" + }, + { + "id": "helix-9143:comment:2495729014", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-24T01:04:32Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2495729014", + "summary": "The contributor asks why clipboard has no trim option.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2495892740", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-24T09:41:36Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2495892740", + "summary": "The opener says only one clipboard entry is stored.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2496250836", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-24T21:46:58Z", + "editedAt": "2024-11-24T23:06:16Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2496250836", + "summary": "The contributor argues instances in different projects will clobber each other's state and proposes storing state per workspace, possibly via a directory option.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2497075047", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-25T07:29:36Z", + "editedAt": "2024-11-25T07:36:27Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2497075047", + "summary": "The opener invites a patch as long as it stays optional, and explains splits were left out.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2498828048", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-25T19:10:21Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2498828048", + "summary": "The contributor argues a global default will make split restore awkward and asks what a single store gains.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2498957082", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-11-25T20:22:03Z", + "editedAt": "2024-11-25T20:23:41Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2498957082", + "summary": "The opener defends a global default for files outside the workspace, shared history and users without .helix folders, warns against creating .helix directories, and defers to maintainers.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2505034772", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-11-28T00:18:23Z", + "editedAt": "2024-11-28T04:49:01Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2505034772", + "summary": "The contributor proposes an all-in-one default plus a per-workspace mode stored under the state directory, with a prototype.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2511128707", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-12-02T10:21:25Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2511128707", + "summary": "The opener likes it, suggests per-kind global, workspace or off values instead of an extra scope option, and a flattened folder layout.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2513424459", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-12-03T02:43:11Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2513424459", + "summary": "The contributor considers a single list option or a shared default value, agrees to flatten, explains removing global cells, and mentions split persistence patches.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2550263494", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2024-12-18T03:51:51Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2550263494", + "summary": "A contributor thanks the opener and asks for a rebase.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2558635091", + "kind": "comment", + "actor": "useche", + "createdAt": "2024-12-22T22:53:22Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2558635091", + "summary": "The contributor shares a config with an all section of defaults that specific kinds can override.", + "actorId": 1112962, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2559738143", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-12-23T13:45:02Z", + "editedAt": "2024-12-23T13:54:54Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2559738143", + "summary": "The opener accepts dropping global cells, wants splits in a follow-up, and prefers a single default value per kind over separate enabled and scope keys.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2559739848", + "kind": "comment", + "actor": "intarga", + "createdAt": "2024-12-23T13:46:07Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2559739848", + "summary": "The opener reports rebasing.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2559750153", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2024-12-23T13:52:46Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2559750153", + "summary": "A contributor thanks the opener.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2620007292", + "kind": "comment", + "actor": "ThanHenderson", + "createdAt": "2025-01-28T20:37:20Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2620007292", + "summary": "A user asks about a merge timeline.", + "actorId": 35206064, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2620018154", + "kind": "comment", + "actor": "intarga", + "createdAt": "2025-01-28T20:43:37Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2620018154", + "summary": "The opener says it awaits maintainer review.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2658011970", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2025-02-14T00:47:43Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2658011970", + "summary": "A contributor asks for another rebase.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2658058262", + "kind": "comment", + "actor": "gabydd", + "createdAt": "2025-02-14T01:30:34Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2658058262", + "summary": "A maintainer shares a branch merged with master.", + "actorId": 82682503, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2658063671", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2025-02-14T01:35:01Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2658063671", + "summary": "The contributor explains why frequent rebases help.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2832649602", + "kind": "comment", + "actor": "lucazffz", + "createdAt": "2025-04-26T22:03:40Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2832649602", + "summary": "A user asks whether it will be merged soon.", + "actorId": 96021478, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2853465759", + "kind": "comment", + "actor": "intarga", + "createdAt": "2025-05-06T06:54:37Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2853465759", + "summary": "The opener objects to repeated merge requests and considers closing the PR.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2860302567", + "kind": "comment", + "actor": "NemesisRE", + "createdAt": "2025-05-07T20:43:40Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2860302567", + "summary": "A user asks whether the thread can be locked.", + "actorId": 541525, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2862029282", + "kind": "comment", + "actor": "intarga", + "createdAt": "2025-05-08T07:17:48Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2862029282", + "summary": "The opener says only collaborators can lock it.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2862053580", + "kind": "comment", + "actor": "dwat3r", + "createdAt": "2025-05-08T07:27:33Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2862053580", + "summary": "A contributor says the complaint adds more noise than the requests.", + "actorId": 6506116, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:closed:2025-05-08T08:03:00Z", + "kind": "process", + "actor": "intarga", + "createdAt": "2025-05-08T08:03:00Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "The opener closes the PR without merge.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:2862153316", + "kind": "comment", + "actor": "intarga", + "createdAt": "2025-05-08T08:07:32Z", + "editedAt": "2025-05-08T08:13:35Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-2862153316", + "summary": "The opener says a maintainer can reopen it if they want to review it.", + "actorId": 16072581, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:3519431926", + "kind": "comment", + "actor": "linsomniac", + "createdAt": "2025-11-12T01:21:45Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-3519431926", + "summary": "A user shares a separate fork that only restores cursor position.", + "actorId": 466380, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:comment:4918444816", + "kind": "comment", + "actor": "iByteABit256", + "createdAt": "2026-07-08T19:23:38Z", + "url": "https://github.com/helix-editor/helix/pull/9143#issuecomment-4918444816", + "summary": "A contributor suggests turning the work into a plugin once plugins land.", + "actorId": 57727226, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + }, + { + "id": "helix-9143:process:cross-referenced:2026-08-04T13:40:27Z", + "kind": "process", + "actor": "bellhyve", + "createdAt": "2026-08-04T13:40:27Z", + "url": "https://github.com/helix-editor/helix/pull/9143", + "summary": "A user links a fork that carries the PR.", + "actorId": 76711576, + "actorType": "human", + "parentId": "helix-9143:pr:9143" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/helix-picker-file-explorer.json b/evals/datasets/decisions-v1/cases/helix-picker-file-explorer.json new file mode 100644 index 000000000..08a629f10 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/helix-picker-file-explorer.json @@ -0,0 +1,1034 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "helix-picker-file-explorer", + "title": "Picker-based file explorer in Helix core", + "source": { + "url": "https://github.com/helix-editor/helix/pull/11285", + "retrievedAt": "2026-10-18T07:25:13.469782+00:00", + "repository": "helix-editor/helix", + "number": 11285 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-07-30T00:00:00Z" + }, + { + "id": "c2", + "at": "2024-12-11T19:00:00Z" + }, + { + "id": "c3", + "at": "2025-01-23T22:00:00Z" + }, + { + "id": "c4", + "at": "2025-01-23T22:35:00Z" + } + ], + "events": [ + { + "id": "helix-11285:pr:11285", + "kind": "opening", + "actor": "drybalka", + "createdAt": "2024-07-23T15:41:13Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "The opener, a first-time contributor, proposes a minimal file browser built on the existing file picker, modelled on telescope-file-browser, and argues it is small enough for core even though issue #200 had leaned toward leaving a file tree to plugins.", + "actorId": 24950890, + "actorType": "human" + }, + { + "id": "helix-11285:comment:2250584405", + "kind": "comment", + "actor": "daedroza", + "createdAt": "2024-07-25T14:57:53Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2250584405", + "summary": "A contributor asks whether the browser could instead follow the oil.nvim approach of editing the file system inside a buffer.", + "actorId": 19841386, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2250750603", + "kind": "comment", + "actor": "gj1118", + "createdAt": "2024-07-25T15:48:17Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2250750603", + "summary": "A contributor asks for a screenshot showing how nested folders appear.", + "actorId": 473101, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2250872296", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-07-25T16:19:18Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2250872296", + "summary": "The opener replies that the oil.nvim style belongs in a plugin because it is harder to build and maintain, and buffers are meant for text editing.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2250890062", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-07-25T16:26:56Z", + "editedAt": "2024-07-25T16:27:50Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2250890062", + "summary": "The opener shares a screenshot and explains that the picker and preview list one level of a directory, much like ls.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2259174587", + "kind": "comment", + "actor": "archseer", + "createdAt": "2024-07-30T20:43:00Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2259174587", + "summary": "A maintainer says he likes how simple the change is, since it reuses existing UI pieces and avoids heavier features.", + "actorId": 1372918, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1700591852", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-08-01T17:57:07Z", + "editedAt": "2024-08-01T18:14:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1700591852", + "summary": "A maintainer suggests passing the already collected directory entries straight to Picker::new instead of using the asynchronous injector.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1700596202", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-08-01T18:01:02Z", + "editedAt": "2024-08-01T18:14:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1700596202", + "summary": "A maintainer asks that the function return a Result so a failed directory listing reports an error rather than opening an empty picker.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:review-comment:1700591852" + }, + { + "id": "helix-11285:review-comment:1700597241", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-08-01T18:01:37Z", + "editedAt": "2024-08-01T18:14:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1700597241", + "summary": "A maintainer suggests clearer wording for the command description.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1700607982", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-08-01T18:11:04Z", + "editedAt": "2024-08-01T18:14:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1700607982", + "summary": "A maintainer proposes adding a .. entry so users can move up a directory.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1712612169", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2024-08-10T09:28:33Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1712612169", + "summary": "The opener accepts the suggestions and simplifies the code.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1700591852" + }, + { + "id": "helix-11285:review-comment:1712612365", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2024-08-10T09:30:21Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1712612365", + "summary": "The opener adds the parent-directory entry.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1700607982" + }, + { + "id": "helix-11285:comment:2320094268", + "kind": "comment", + "actor": "zegervdv", + "createdAt": "2024-08-30T05:24:20Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2320094268", + "summary": "A contributor asks for a variant that opens in the current buffer's directory, mirroring file_picker_in_current_buffer_directory, and sketches code.", + "actorId": 747627, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2322124814", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-08-30T18:35:40Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2322124814", + "summary": "The opener agrees and suggests the buffer directory could even be the default starting point.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2324939457", + "kind": "comment", + "actor": "baldwindavid", + "createdAt": "2024-09-02T15:00:11Z", + "editedAt": "2024-09-04T13:57:35Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2324939457", + "summary": "A user says opening at the buffer directory makes it feel like netrw and covers most needs, leaving file operations to other tools.", + "actorId": 4578, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2333874818", + "kind": "comment", + "actor": "zegervdv", + "createdAt": "2024-09-06T11:43:48Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2333874818", + "summary": "A contributor reports that previewing a binary file corrupts the display.", + "actorId": 747627, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2334402186", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-09-06T16:19:14Z", + "editedAt": "2024-09-06T16:19:34Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2334402186", + "summary": "The opener says the preview is shared with the file picker and common binary formats display correctly for him.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2339767831", + "kind": "comment", + "actor": "thomasaarholt", + "createdAt": "2024-09-10T06:22:00Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2339767831", + "summary": "A contributor asks for a fallback to the project root when the current buffer has no path.", + "actorId": 2721423, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2339810568", + "kind": "comment", + "actor": "thomasaarholt", + "createdAt": "2024-09-10T06:49:34Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2339810568", + "summary": "The same contributor reports he cannot get the command to work at all on macOS.", + "actorId": 2721423, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2339824002", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-09-10T06:57:50Z", + "editedAt": "2024-09-10T07:02:51Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2339824002", + "summary": "The opener explains that pickers launched from the command palette are broken generally and suggests binding a key instead; he agrees the browser should fall back to the working directory.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2349539672", + "kind": "comment", + "actor": "L-Trump", + "createdAt": "2024-09-13T17:21:41Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2349539672", + "summary": "A user confirms that no picker opens from the command palette in current Helix, so it is a separate bug.", + "actorId": 37738631, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2359389842", + "kind": "comment", + "actor": "summersz", + "createdAt": "2024-09-18T20:56:17Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2359389842", + "summary": "A user confirms the palette problem and suggests a trailing slash on directory names and arrow keys for moving between directories.", + "actorId": 7293216, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2376600678", + "kind": "comment", + "actor": "m0ar", + "createdAt": "2024-09-26T10:48:08Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2376600678", + "summary": "A user suggests file-type icons for entries as a later improvement and offers to help.", + "actorId": 479022, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2390828487", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-10-03T08:30:55Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2390828487", + "summary": "The opener adopts the trailing slash, but declines picker-specific keys because pickers cannot yet have their own keymaps, and leaves icons to the file picker.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1786702127", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-10-03T18:48:48Z", + "editedAt": "2024-10-03T18:51:39Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1786702127", + "summary": "A maintainer asks the opener to restore stream helpers he had deleted, as removing them is unrelated to the PR.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1786704451", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-10-03T18:50:58Z", + "editedAt": "2024-10-03T18:51:39Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1786704451", + "summary": "A maintainer asks to use Helix's own canonicalize helper rather than the standard library one, which resolves symlinks.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1787465419", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2024-10-04T09:49:23Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1787465419", + "summary": "The opener says he copied that code from the file picker and agrees symlinks should not be resolved.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1786704451" + }, + { + "id": "helix-11285:review-comment:1787466486", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2024-10-04T09:50:17Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1787466486", + "summary": "The opener restores the deleted helpers.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1786702127" + }, + { + "id": "helix-11285:comment:2393394552", + "kind": "comment", + "actor": "thomasaarholt", + "createdAt": "2024-10-04T10:36:16Z", + "editedAt": "2024-10-04T10:38:13Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2393394552", + "summary": "A contributor shares a keybinding snippet for trying the command, noting the palette bug.", + "actorId": 2721423, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2403461905", + "kind": "comment", + "actor": "Akselmo", + "createdAt": "2024-10-09T21:29:29Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2403461905", + "summary": "A contributor asks whether browsing could also change the working directory.", + "actorId": 13801236, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2403467654", + "kind": "comment", + "actor": "the-mikedavis", + "createdAt": "2024-10-09T21:33:11Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2403467654", + "summary": "A maintainer points to an existing discussion on that topic.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2427822007", + "kind": "comment", + "actor": "Akselmo", + "createdAt": "2024-10-21T22:01:21Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2427822007", + "summary": "A contributor notes the browser can replace the file picker by editing the default keymap source.", + "actorId": 13801236, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review:2391393029", + "kind": "review", + "actor": "ryanabx", + "createdAt": "2024-10-24T06:12:27Z", + "url": "https://github.com/helix-editor/helix/pull/11285#pullrequestreview-2391393029", + "summary": "A contributor approves after testing, mentions a personal preference for opening at the working directory rather than the buffer directory, and suggests a default keybinding in a later PR.", + "actorId": 56272643, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2477458755", + "kind": "comment", + "actor": "peteringram0", + "createdAt": "2024-11-14T21:36:59Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2477458755", + "summary": "A contributor reports the branch helps in a very large repository but notices a flicker when changing directories.", + "actorId": 6588942, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2485359298", + "kind": "comment", + "actor": "irh", + "createdAt": "2024-11-19T10:53:59Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2485359298", + "summary": "A contributor proposes mirroring the picker pair, with file_browser opening at the working directory and a separate buffer-directory command, because returning to the root helps orientation in large projects.", + "actorId": 910128, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2501909771", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-11-26T20:50:19Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2501909771", + "summary": "The opener explains the flicker comes from closing and reopening the picker on each directory change, a limit of the current picker design.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2501923740", + "kind": "comment", + "actor": "peteringram0", + "createdAt": "2024-11-26T20:59:14Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2501923740", + "summary": "The contributor accepts the explanation.", + "actorId": 6588942, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2501950322", + "kind": "comment", + "actor": "thomasaarholt", + "createdAt": "2024-11-26T21:16:26Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2501950322", + "summary": "Another contributor asks what the previous comment meant about not merging.", + "actorId": 2721423, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2501953826", + "kind": "comment", + "actor": "peteringram0", + "createdAt": "2024-11-26T21:18:47Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2501953826", + "summary": "The contributor clarifies that the flicker should not block merging.", + "actorId": 6588942, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2503157706", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-11-27T07:55:44Z", + "editedAt": "2024-11-27T07:56:03Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2503157706", + "summary": "The opener changes course and adds three commands that mirror the file picker's variants: root, buffer directory and current directory.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2504054653", + "kind": "comment", + "actor": "irh", + "createdAt": "2024-11-27T14:42:55Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2504054653", + "summary": "A contributor thanks him and shares a mapping using space e for the root and space E for the buffer directory.", + "actorId": 910128, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2508963435", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2024-11-30T13:29:18Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2508963435", + "summary": "A contributor reports the branch merged cleanly into his fork and says it belongs in core even though a non-picker browser would be better.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2523749723", + "kind": "comment", + "actor": "nik-rev", + "createdAt": "2024-12-06T17:02:36Z", + "editedAt": "2024-12-07T18:27:29Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2523749723", + "summary": "A contributor proposes default bindings, with space e for the buffer directory and space E for the working directory.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2534571319", + "kind": "comment", + "actor": "m0ar", + "createdAt": "2024-12-11T08:03:22Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2534571319", + "summary": "A user praises the branch and asks the maintainer whether any blockers remain.", + "actorId": 479022, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535086357", + "kind": "comment", + "actor": "irh", + "createdAt": "2024-12-11T08:39:02Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535086357", + "summary": "A contributor argues the defaults should follow the existing f and F pattern, putting the wider scope on the lowercase key.", + "actorId": 910128, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535229113", + "kind": "comment", + "actor": "cgahr", + "createdAt": "2024-12-11T08:57:10Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535229113", + "summary": "A contributor asks whether directories could be listed as a depth-limited tree.", + "actorId": 26804763, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535345506", + "kind": "comment", + "actor": "nik-rev", + "createdAt": "2024-12-11T09:50:12Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535345506", + "summary": "A contributor points out that hovering a directory already previews its contents.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535451457", + "kind": "comment", + "actor": "thomasaarholt", + "createdAt": "2024-12-11T10:24:59Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535451457", + "summary": "A contributor urges merging the current feature set and leaving improvements for later PRs.", + "actorId": 2721423, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535535608", + "kind": "comment", + "actor": "nik-rev", + "createdAt": "2024-12-11T11:02:56Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535535608", + "summary": "A contributor agrees consistency matters and proposes space e for the current directory and space E for the buffer directory.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535683630", + "kind": "comment", + "actor": "irh", + "createdAt": "2024-12-11T11:40:19Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535683630", + "summary": "A contributor notes the documented f and F defaults point to a different pairing, and says mappings could be a follow-up.", + "actorId": 910128, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2535831544", + "kind": "comment", + "actor": "kumawatdarshan", + "createdAt": "2024-12-11T12:15:52Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2535831544", + "summary": "A contributor argues the buffer-directory binding is more useful than strict consistency, since the working directory rarely changes.", + "actorId": 104432537, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2536725484", + "kind": "comment", + "actor": "summersz", + "createdAt": "2024-12-11T18:04:50Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2536725484", + "summary": "A user backs the buffer-directory mapping, citing netrw, and says the capital key still means the narrower scope.", + "actorId": 7293216, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2537133693", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-12-11T20:51:02Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2537133693", + "summary": "The opener says he left out default bindings on purpose because they are a matter of taste, and asks core maintainers to choose them.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:cross-referenced:2024-12-17T21:10:49Z", + "kind": "process", + "actor": "nik-rev", + "createdAt": "2024-12-17T21:10:49Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A contributor links PR #12205, which adds a theme key for directories that the browser later uses.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1890505775", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-12-18T16:17:31Z", + "editedAt": "2024-12-18T22:34:22Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1890505775", + "summary": "A maintainer asks to avoid a syscall per entry by using DirEntry::file_type and keeping an is_dir flag in the picker items.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1890528603", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-12-18T16:33:42Z", + "editedAt": "2024-12-18T16:35:43Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1890528603", + "summary": "A maintainer asks that directories be styled with the ui.text.directory theme key from #12205, which requires passing editor data into the picker.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1890529821", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-12-18T16:34:32Z", + "editedAt": "2024-12-18T16:35:43Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1890529821", + "summary": "A maintainer adds that the same styling should apply in the preview.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:review-comment:1890528603" + }, + { + "id": "helix-11285:review-comment:1890530661", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2024-12-18T16:35:05Z", + "editedAt": "2024-12-18T16:35:43Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1890530661", + "summary": "A maintainer says the path should not be canonicalized because that causes symlink surprises.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2560413256", + "kind": "comment", + "actor": "drybalka", + "createdAt": "2024-12-23T23:07:44Z", + "editedAt": "2024-12-23T23:09:35Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2560413256", + "summary": "The opener applies the styling, removes canonicalization and extra syscalls, and rebases.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2560739853", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2024-12-24T06:52:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2560739853", + "summary": "A contributor thanks him for rebasing and hopes for a merge.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1902797289", + "kind": "review-comment", + "actor": "nik-rev", + "createdAt": "2025-01-04T08:14:06Z", + "editedAt": "2025-01-04T08:25:29Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1902797289", + "summary": "A contributor suggests dropping the error shown when the buffer-directory command runs from a scratch buffer.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1903122961", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2025-01-04T16:34:53Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1903122961", + "summary": "The opener keeps the error, arguing the command name promises a buffer directory and the user can choose another variant.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1902797289" + }, + { + "id": "helix-11285:review-comment:1906104915", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2025-01-07T22:16:21Z", + "editedAt": "2025-01-07T22:24:30Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1906104915", + "summary": "A maintainer asks to normalize the new root so moving up to the file-system root stops showing a parent entry.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1906107553", + "kind": "review-comment", + "actor": "the-mikedavis", + "createdAt": "2025-01-07T22:19:39Z", + "editedAt": "2025-01-07T22:19:45Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1906107553", + "summary": "A maintainer proposes a default binding of space followed by a period and asks two other maintainers for views.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review-comment:1906128890", + "kind": "review-comment", + "actor": "pascalkuthe", + "createdAt": "2025-01-07T22:48:31Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1906128890", + "summary": "Another maintainer says it seems fine but he has not reviewed the PR closely.", + "actorId": 61850714, + "actorType": "human", + "parentId": "helix-11285:review-comment:1906107553" + }, + { + "id": "helix-11285:review-comment:1906148105", + "kind": "review-comment", + "actor": "RoloEdits", + "createdAt": "2025-01-07T23:18:06Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1906148105", + "summary": "A contributor suggests space e, with space E as a second variant like the file picker.", + "actorId": 12489689, + "actorType": "human", + "parentId": "helix-11285:review-comment:1906107553" + }, + { + "id": "helix-11285:review-comment:1906591601", + "kind": "review-comment", + "actor": "drybalka", + "createdAt": "2025-01-08T07:27:25Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1906591601", + "summary": "The opener explains this was why he had canonicalized and adopts the normalize helper.", + "actorId": 24950890, + "actorType": "human", + "parentId": "helix-11285:review-comment:1906104915" + }, + { + "id": "helix-11285:review-comment:1909329378", + "kind": "review-comment", + "actor": "KevinDanne", + "createdAt": "2025-01-09T19:24:32Z", + "url": "https://github.com/helix-editor/helix/pull/11285#discussion_r1909329378", + "summary": "A contributor opens a PR against the opener's branch adding default mappings and fixing the docs check.", + "actorId": 26122654, + "actorType": "human", + "parentId": "helix-11285:review-comment:1906107553" + }, + { + "id": "helix-11285:comment:2600800173", + "kind": "comment", + "actor": "civa", + "createdAt": "2025-01-19T10:29:48Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2600800173", + "summary": "A user reports the same command-palette failure.", + "actorId": 44102586, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2611092403", + "kind": "comment", + "actor": "nik-rev", + "createdAt": "2025-01-23T21:52:14Z", + "editedAt": "2025-01-23T21:52:36Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2611092403", + "summary": "A contributor explains that no picker opens from the palette and links the known issue.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:review:2571158000", + "kind": "review", + "actor": "the-mikedavis", + "createdAt": "2025-01-23T22:27:53Z", + "url": "https://github.com/helix-editor/helix/pull/11285#pullrequestreview-2571158000", + "summary": "A maintainer approves the PR.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:merged:2025-01-23T22:28:18Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2025-01-23T22:28:18Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A maintainer merges the PR.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:closed:2025-01-23T22:28:18Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2025-01-23T22:28:18Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "The PR is closed on merge.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2611162204", + "kind": "comment", + "actor": "nik-rev", + "createdAt": "2025-01-23T22:40:09Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2611162204", + "summary": "A contributor celebrates and notes the command is bound to space e but named file_browser, suggesting file_explorer instead.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2611172294", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2025-01-23T22:47:19Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2611172294", + "summary": "A contributor celebrates the merge.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2611205828", + "kind": "comment", + "actor": "the-mikedavis", + "createdAt": "2025-01-23T23:15:01Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2611205828", + "summary": "A maintainer agrees explorer fits, comparing it to Vim's :Explore.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:renamed:2025-01-23T23:18:28Z", + "kind": "process", + "actor": "the-mikedavis", + "createdAt": "2025-01-23T23:18:28Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A maintainer renames the PR from file browser to file explorer.", + "actorId": 21230295, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2611923232", + "kind": "comment", + "actor": "rotmh", + "createdAt": "2025-01-24T08:18:33Z", + "editedAt": "2025-01-24T08:30:42Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2611923232", + "summary": "A contributor notes the explorer does not respect ignore files, unlike the file picker, and asks whether that is intended.", + "actorId": 148942120, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2615420513", + "kind": "comment", + "actor": "DoctorRyner", + "createdAt": "2025-01-27T10:50:29Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2615420513", + "summary": "A user says file creation and deletion should come next.", + "actorId": 24430919, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2615447890", + "kind": "comment", + "actor": "rotmh", + "createdAt": "2025-01-27T11:02:50Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2615447890", + "summary": "A contributor asks whether that means something like oil.nvim.", + "actorId": 148942120, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2615540432", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2025-01-27T11:46:12Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2615540432", + "summary": "A contributor argues file operations are out of scope because the explorer rebuilds a picker for each directory.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2616117923", + "kind": "comment", + "actor": "DoctorRyner", + "createdAt": "2025-01-27T15:46:31Z", + "editedAt": "2025-01-28T07:47:26Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2616117923", + "summary": "The user clarifies he means telescope-file-browser rather than oil.nvim.", + "actorId": 24430919, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2616624175", + "kind": "comment", + "actor": "rotmh", + "createdAt": "2025-01-27T18:47:42Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2616624175", + "summary": "A contributor agrees oil.nvim is plugin territory.", + "actorId": 148942120, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:2618145422", + "kind": "comment", + "actor": "DoctorRyner", + "createdAt": "2025-01-28T07:51:22Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-2618145422", + "summary": "The user explains he relies on another editor for file management.", + "actorId": 24430919, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:cross-referenced:2025-02-17T22:20:02Z", + "kind": "process", + "actor": "nik-rev", + "createdAt": "2025-02-17T22:20:02Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A contributor links a later PR adding file operations to the explorer.", + "actorId": 154856872, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:cross-referenced:2025-10-14T19:07:15Z", + "kind": "process", + "actor": "pickfire", + "createdAt": "2025-10-14T19:07:15Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A contributor links an older PR about binding space and period to finding files.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:process:cross-referenced:2026-01-21T14:20:30Z", + "kind": "process", + "actor": "pickfire", + "createdAt": "2026-01-21T14:20:30Z", + "url": "https://github.com/helix-editor/helix/pull/11285", + "summary": "A contributor links a later PR using space and period to open the current folder.", + "actorId": 4687791, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:3982797255", + "kind": "comment", + "actor": "Misnad", + "createdAt": "2026-03-02T08:08:25Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-3982797255", + "summary": "A user asks whether vim motions work in the picker.", + "actorId": 71584961, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + }, + { + "id": "helix-11285:comment:3983376348", + "kind": "comment", + "actor": "Axlefublr", + "createdAt": "2026-03-02T10:05:21Z", + "url": "https://github.com/helix-editor/helix/pull/11285#issuecomment-3983376348", + "summary": "A contributor replies no, since the explorer uses picker keys.", + "actorId": 101342105, + "actorType": "human", + "parentId": "helix-11285:pr:11285" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-choose-branch-syntax.json b/evals/datasets/decisions-v1/cases/home-assistant-choose-branch-syntax.json new file mode 100644 index 000000000..766e0108e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-choose-branch-syntax.json @@ -0,0 +1,1176 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-choose-branch-syntax", + "title": "How Home Assistant scripts should express if/else branching", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/378", + "retrievedAt": "2026-10-18T07:19:10.775658+00:00", + "repository": "home-assistant/architecture", + "number": 378, + "related": [ + { + "url": "https://github.com/home-assistant/core/pull/37818", + "retrievedAt": "2026-10-18T07:54:11.966482+00:00" + } + ] + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-05-03T20:35:00Z" + }, + { + "id": "c2", + "at": "2020-05-05T08:00:00Z" + }, + { + "id": "c3", + "at": "2020-07-14T00:00:00Z" + }, + { + "id": "c4", + "at": "2020-07-14T03:25:00Z" + } + ], + "events": [ + { + "id": "architecture-378:issue:378", + "kind": "opening", + "actor": "OnFreund", + "createdAt": "2020-05-03T20:19:15Z", + "url": "https://github.com/home-assistant/architecture/issues/378", + "summary": "The opener proposes an optional `else_action` block on automations that runs when the conditions are false, arguing that duplicated automations with opposite conditions are repetitive and can race.", + "actorId": 2159693, + "actorType": "human" + }, + { + "id": "architecture-378:comment:623177191", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-03T20:33:28Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623177191", + "summary": "A maintainer suggests adding else logic to scripts first, since automation actions share the script engine, notes a related core PR, and supports the idea of an else.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623178128", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-03T20:39:27Z", + "editedAt": "2020-05-04T06:45:47Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623178128", + "summary": "The opener agrees that putting branching in scripts would cover more cases than a single per-automation else.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623296560", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-04T07:10:04Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623296560", + "summary": "A user who wrote the related core PR explains it adds an `else` to the condition step, but worries that this inverts the expected flow and floats renaming it `on_fail`.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623311419", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2020-05-04T07:48:52Z", + "editedAt": "2020-05-04T07:50:56Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623311419", + "summary": "A maintainer suggests allowing several `sequence` blocks in a script, each guarded by its own condition.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623312243", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-04T07:50:45Z", + "editedAt": "2020-05-04T07:50:58Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623312243", + "summary": "The opener says `on_fail` is a better name for that approach; a per-automation else is friendlier to non-programmers while `on_fail` covers more cases.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623313214", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2020-05-04T07:52:52Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623313214", + "summary": "A maintainer prefers the `on_fail` idea because it works everywhere without deep nesting.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623314871", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-04T07:55:57Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623314871", + "summary": "The opener objects that multiple sequences re-evaluate conditions, so state could change between them and run both or neither branch.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623315303", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-04T07:56:46Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623315303", + "summary": "The opener restates that condition evaluation and branching must happen atomically.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623751946", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-04T23:00:21Z", + "editedAt": "2020-05-04T23:00:37Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623751946", + "summary": "A maintainer proposes a new `branch` action holding a list of condition and sequence pairs, where the first passing entry runs.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623752202", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-04T23:01:06Z", + "editedAt": "2020-05-04T23:04:33Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623752202", + "summary": "The same maintainer adds that `branch` lets shared steps follow any branch and keeps condition code untouched.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623759325", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-04T23:23:19Z", + "editedAt": "2020-05-04T23:27:01Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623759325", + "summary": "The core PR author likes `branch` and sketches YAML where an entry without a condition acts as the else.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623782348", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-05T00:42:56Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623782348", + "summary": "A maintainer asks that condition and sequence sit side by side in a dictionary rather than extending condition schemas, to simplify validation.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623863544", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-05T05:30:06Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623863544", + "summary": "The opener asks whether state is frozen between evaluating the different branch conditions.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623891643", + "kind": "comment", + "actor": "elupus", + "createdAt": "2020-05-05T07:11:33Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623891643", + "summary": "A user answers that state cannot change as long as no await occurs in that code path.", + "actorId": 482976, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623911800", + "kind": "comment", + "actor": "PiotrMachowski", + "createdAt": "2020-05-05T07:55:39Z", + "editedAt": "2020-05-05T07:59:00Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623911800", + "summary": "A user extends the `branch` design with a separate `default_sequence` key, likening it to a switch statement.", + "actorId": 6118709, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623924765", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-05T08:26:39Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623924765", + "summary": "The opener notes sequences must not run between condition checks, and endorses `default_sequence`.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623928405", + "kind": "comment", + "actor": "PiotrMachowski", + "createdAt": "2020-05-05T08:35:09Z", + "editedAt": "2020-05-05T08:35:21Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623928405", + "summary": "The user who proposed `default_sequence` says only the first matching branch should run.", + "actorId": 6118709, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623930308", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-05T08:39:40Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623930308", + "summary": "The opener accepts first-match semantics and votes for the `default_sequence` syntax.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623943734", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-05-05T09:10:24Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623943734", + "summary": "A maintainer asks whether branches could be nested, with an example.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:623978513", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-05T10:35:20Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-623978513", + "summary": "The core PR author says nesting would probably work.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624012720", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2020-05-05T12:00:06Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624012720", + "summary": "A maintainer warns that `default_sequence` may be hard to build in the script engine and suggests shipping `branch` first.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624016812", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-05T12:08:43Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624016812", + "summary": "The opener argues the default branch is the most important piece of the feature.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624017950", + "kind": "comment", + "actor": "PiotrMachowski", + "createdAt": "2020-05-05T12:11:20Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624017950", + "summary": "A user asks whether the default could internally be a condition that always passes.", + "actorId": 6118709, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624138847", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-05T15:52:54Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624138847", + "summary": "A maintainer says that with first-match semantics an entry lacking a condition can serve as the default, and confirms nesting is possible though hard to follow.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624161280", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-05T16:32:44Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624161280", + "summary": "The opener summarises the converging design with a full example including nesting and a condition-less fallback.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624225295", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-05T18:21:48Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624225295", + "summary": "The core PR author raises the need for a way to stop a script after some branches.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624244768", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-05T18:59:59Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624244768", + "summary": "The core PR author says their PR now follows the new syntax.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624458394", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-06T06:04:15Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624458394", + "summary": "The opener suggests a condition could exit only the current sequence rather than the whole script, and asks whether that would be backwards compatible.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624476617", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-06T06:58:49Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624476617", + "summary": "The core PR author illustrates the early-exit case with pseudo-code where common steps follow two branches.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624491361", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-06T07:38:19Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624491361", + "summary": "The opener calls exit a nice-to-have, since repetition can cover it.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624492283", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-06T07:40:30Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624492283", + "summary": "The opener says they like the PR's use of `if` over the overloaded `condition` key.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:process:cross-referenced:2020-05-06T08:45:00Z", + "kind": "process", + "actor": "thomasloven", + "createdAt": "2020-05-06T08:45:00Z", + "url": "https://github.com/home-assistant/architecture/issues/378", + "summary": "The core PR author links their work-in-progress PR adding an else branch to script conditions.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624751114", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-06T16:26:08Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624751114", + "summary": "A maintainer says common steps can be moved into a separate script and warns against recreating a visual flow tool in linear YAML.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624752765", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-05-06T16:29:22Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624752765", + "summary": "The opener asks a maintainer to confirm their assumptions about how conditions stop execution.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624753921", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-06T16:31:25Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624753921", + "summary": "A maintainer confirms a condition halts only the script it runs in, so a nested condition stops just that branch.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:624841071", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-05-06T19:21:55Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-624841071", + "summary": "The core PR author agrees their example can be restructured without an early return.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636225811", + "kind": "comment", + "actor": "gjbadros", + "createdAt": "2020-05-29T22:49:51Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636225811", + "summary": "A user proposes naming the action `choose`, citing XSLT's declarative choose element.", + "actorId": 1500109, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636226385", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-05-29T22:52:07Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636226385", + "summary": "A maintainer agrees `choose` is clearer for non-programmers.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636489016", + "kind": "comment", + "actor": "gjbadros", + "createdAt": "2020-05-31T15:48:18Z", + "editedAt": "2020-06-01T18:17:58Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636489016", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 1500109, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636824982", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-06-01T12:14:45Z", + "editedAt": "2020-06-01T18:18:04Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636824982", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636968478", + "kind": "comment", + "actor": "gjbadros", + "createdAt": "2020-06-01T16:24:52Z", + "editedAt": "2020-06-01T18:18:08Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636968478", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 1500109, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:636979919", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-06-01T16:46:49Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-636979919", + "summary": "The opener says a side topic about condition syntax is off topic and suggests a new issue.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:637023582", + "kind": "comment", + "actor": "gjbadros", + "createdAt": "2020-06-01T18:14:21Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-637023582", + "summary": "The user drops the side topic.", + "actorId": 1500109, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652045273", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-06-30T21:10:04Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652045273", + "summary": "A contributor who is working on looping actions prefers `choose` with a separate optional `default` key, and offers to take over implementing it.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652245757", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-07-01T07:31:58Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652245757", + "summary": "The core PR author hands over the work but claims the proposed syntax mixes lists and dictionaries.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652453459", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T14:30:18Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652453459", + "summary": "The new implementer explains why the syntax is valid YAML and says the discussion has reached its natural end.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652471641", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-01T15:01:15Z", + "editedAt": "2020-07-01T15:26:15Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652471641", + "summary": "The opener thanks the implementer and asks to keep atomic evaluation, prefer `if` over `condition`, and keep `default` if feasible.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652481735", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T15:18:50Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652481735", + "summary": "The implementer floats an alternative where one template picks which named sequence runs, guaranteeing atomicity, and sees no difficulty with `default`.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652485762", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-01T15:25:46Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652485762", + "summary": "The opener prefers the earlier approach since it already achieved atomicity and favours `default`.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652501659", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T15:53:02Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652501659", + "summary": "The implementer argues a single template keeps all branching logic in one place.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652503649", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-01T15:56:30Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652503649", + "summary": "The opener compares the template approach to branching on a big regular expression.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652515336", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T16:17:30Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652515336", + "summary": "The implementer says the template approach is just a switch, offered only as a fallback.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652525379", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-01T16:36:19Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652525379", + "summary": "The opener says complex logic in templates gets hard to follow, and thanks the implementer.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652621637", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T20:08:05Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652621637", + "summary": "The implementer reports the repeat loop is implemented on a branch.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652665263", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-01T21:54:03Z", + "editedAt": "2020-07-02T13:50:30Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652665263", + "summary": "The implementer questions whether the earlier PR was truly atomic, later striking that, and contrasts a list-based choose with a template-based one.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652692116", + "kind": "comment", + "actor": "gjbadros", + "createdAt": "2020-07-01T23:21:20Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652692116", + "summary": "A user suggests documenting that only template conditions are evaluated against stable state, and notes a default branch helps regardless.", + "actorId": 1500109, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652798926", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-02T05:52:12Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652798926", + "summary": "The opener explains why the earlier PR's evaluation is atomic and says templates raise the bar too high for most users.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652897651", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-07-02T09:28:07Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652897651", + "summary": "The earlier PR author separates two atomicity problems and suggests freezing a state copy as one fix.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652940828", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-02T11:04:52Z", + "editedAt": "2020-07-02T11:05:05Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652940828", + "summary": "The opener asks what remains non-atomic in that implementation.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652954985", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2020-07-02T11:37:53Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652954985", + "summary": "The earlier PR author concedes the problem is already solved there.", + "actorId": 1299821, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652983795", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-02T12:44:41Z", + "editedAt": "2020-07-02T13:51:52Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652983795", + "summary": "The implementer re-reads the code, later striking their objections, and says state need not match between evaluation and execution.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652987044", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-02T12:51:50Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652987044", + "summary": "The opener points to where conditions are actually evaluated, showing it is atomic.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:652998839", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-02T13:15:13Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-652998839", + "summary": "The implementer accepts the explanation.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:653033614", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-02T14:18:54Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-653033614", + "summary": "The implementer restates the agreed shape: `choose` with a list of `if` plus `sequence` entries, where an entry without `if` is the default.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:653034493", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2020-07-02T14:20:30Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-653034493", + "summary": "The opener confirms.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "architecture-378:comment:657230127", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-12T14:34:03Z", + "url": "https://github.com/home-assistant/architecture/issues/378#issuecomment-657230127", + "summary": "The implementer reports an initial `choose` implementation on a branch.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "core-37818:pr:37818", + "kind": "opening", + "actor": "pnbruckner", + "createdAt": "2020-07-13T15:30:16Z", + "url": "https://github.com/home-assistant/core/pull/37818", + "summary": "A contributor opens a PR adding a `choose` script action, with an example config, closing the architecture issue.", + "actorId": 36015321, + "actorType": "human" + }, + { + "id": "architecture-378:process:cross-referenced:2020-07-13T15:30:17Z", + "kind": "process", + "actor": "pnbruckner", + "createdAt": "2020-07-13T15:30:17Z", + "url": "https://github.com/home-assistant/architecture/issues/378", + "summary": "The implementer links the core PR adding the `choose` script action.", + "actorId": 36015321, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "core-37818:process:cross-referenced:2020-07-13T15:32:58Z", + "kind": "process", + "actor": "pnbruckner", + "createdAt": "2020-07-13T15:32:58Z", + "url": "https://github.com/home-assistant/core/pull/37818", + "summary": "The author links the matching documentation PR.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:process:renamed:2020-07-13T16:06:03Z", + "kind": "process", + "actor": "pnbruckner", + "createdAt": "2020-07-13T16:06:03Z", + "url": "https://github.com/home-assistant/core/pull/37818", + "summary": "The author drops the WIP prefix from the title.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657693016", + "kind": "comment", + "actor": "bramkragten", + "createdAt": "2020-07-13T17:33:44Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657693016", + "summary": "A maintainer finds `if` and `sequence` at the same level odd and suggests nested `if`/`then` entries plus a separate default.", + "actorId": 5662298, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657715098", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-13T18:19:03Z", + "editedAt": "2020-07-13T18:20:04Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657715098", + "summary": "The author replies that the syntax is the consensus from the architecture issue and matches the `repeat` action.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657720197", + "kind": "comment", + "actor": "bramkragten", + "createdAt": "2020-07-13T18:29:40Z", + "editedAt": "2020-07-13T18:30:42Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657720197", + "summary": "The maintainer asks why the sequence is not inside the `if`, citing the architecture issue's summary.", + "actorId": 5662298, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657722009", + "kind": "comment", + "actor": "frenck", + "createdAt": "2020-07-13T18:33:31Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657722009", + "summary": "Another maintainer says the consensus syntax as written mixes pairs and lists and is not what the PR implements.", + "actorId": 195327, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657729674", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-13T18:49:11Z", + "editedAt": "2020-07-13T18:54:46Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657729674", + "summary": "The author explains each choice is a dictionary with a required `sequence` and optional `if`, and that key order does not matter.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657734631", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-13T18:59:43Z", + "editedAt": "2020-07-13T19:00:49Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657734631", + "summary": "The author says the sequence is paired with, not nested in, the `if`.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657741318", + "kind": "comment", + "actor": "bramkragten", + "createdAt": "2020-07-13T19:14:01Z", + "editedAt": "2020-07-13T19:14:11Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657741318", + "summary": "The maintainer says the docs and PR description must be wrong then.", + "actorId": 5662298, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657742887", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-13T19:17:25Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657742887", + "summary": "The author admits a typo in the docs example and fixes it.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657745893", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-13T19:24:11Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657745893", + "summary": "The author apologises to the second maintainer for the confusion.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657771791", + "kind": "comment", + "actor": "bramkragten", + "createdAt": "2020-07-13T20:22:41Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657771791", + "summary": "The first maintainer proposes renaming `if` to `conditions` to match existing actions and moving the default out of the list into a `default` key, to avoid accidental defaults.", + "actorId": 5662298, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657943299", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-07-14T03:20:58Z", + "editedAt": "2020-07-14T03:21:26Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657943299", + "summary": "The project lead reports that after a Discord discussion they pushed the new syntax: default pulled out of the choices and `if` renamed to `conditions`.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:review:447759656", + "kind": "review", + "actor": "balloob", + "createdAt": "2020-07-14T03:29:50Z", + "url": "https://github.com/home-assistant/core/pull/37818#pullrequestreview-447759656", + "summary": "The project lead approves the PR.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:657945647", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-07-14T03:30:21Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-657945647", + "summary": "The project lead asks the author to review the pushed changes before merging.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658043370", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2020-07-14T08:22:12Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658043370", + "summary": "A contributor asks about indentation in the example.", + "actorId": 33354141, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658058278", + "kind": "comment", + "actor": "frenck", + "createdAt": "2020-07-14T08:50:57Z", + "editedAt": "2020-07-14T08:59:47Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658058278", + "summary": "A maintainer says indentation there is a style choice.", + "actorId": 195327, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658062742", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2020-07-14T09:00:17Z", + "editedAt": "2020-07-14T09:00:30Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658062742", + "summary": "The contributor notes the docs usually indent that way.", + "actorId": 33354141, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658065311", + "kind": "comment", + "actor": "frenck", + "createdAt": "2020-07-14T09:05:30Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658065311", + "summary": "A maintainer redirects documentation comments to the docs PR.", + "actorId": 195327, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658066894", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2020-07-14T09:08:21Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658066894", + "summary": "The contributor agrees to follow the docs PR.", + "actorId": 33354141, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:review-comment:454340946", + "kind": "review-comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T13:05:31Z", + "editedAt": "2020-07-14T16:49:39Z", + "url": "https://github.com/home-assistant/core/pull/37818#discussion_r454340946", + "summary": "The author suggests a `return` instead of `break` to drop an `else`.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:review:448086385" + }, + { + "id": "core-37818:review-comment:454342600", + "kind": "review-comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T13:08:04Z", + "editedAt": "2020-07-14T16:49:39Z", + "url": "https://github.com/home-assistant/core/pull/37818#discussion_r454342600", + "summary": "The author suggests combining statements for consistency with the default case.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:review:448086385" + }, + { + "id": "core-37818:review-comment:454346167", + "kind": "review-comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T13:13:54Z", + "editedAt": "2020-07-14T16:49:39Z", + "url": "https://github.com/home-assistant/core/pull/37818#discussion_r454346167", + "summary": "The author suggests requiring at least one condition so a choice cannot silently become a default.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:review:448086385" + }, + { + "id": "core-37818:review:448086385", + "kind": "review", + "actor": "pnbruckner", + "createdAt": "2020-07-14T13:15:26Z", + "url": "https://github.com/home-assistant/core/pull/37818#pullrequestreview-448086385", + "summary": "The author leaves an approving review with optional suggestions.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658250637", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T15:35:25Z", + "editedAt": "2020-07-14T16:04:43Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658250637", + "summary": "The author relays feedback that `choose` is ambiguous about running one or all matching sequences, and floats `choose_one` or a `which` option.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:comment:658285316", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-07-14T16:37:42Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658285316", + "summary": "The project lead prefers keeping `choose` so an option controlling what is chosen can be added later.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:review-comment:454492998", + "kind": "review-comment", + "actor": "balloob", + "createdAt": "2020-07-14T16:41:36Z", + "editedAt": "2020-07-14T16:49:39Z", + "url": "https://github.com/home-assistant/core/pull/37818#discussion_r454492998", + "summary": "The project lead says empty conditions can stay allowed so people can try out their default.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:review-comment:454346167" + }, + { + "id": "core-37818:comment:658288689", + "kind": "comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T16:44:11Z", + "url": "https://github.com/home-assistant/core/pull/37818#issuecomment-658288689", + "summary": "The author says Discord reached the same view on keeping the name.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:review-comment:454497709", + "kind": "review-comment", + "actor": "pnbruckner", + "createdAt": "2020-07-14T16:48:41Z", + "editedAt": "2020-07-14T16:49:39Z", + "url": "https://github.com/home-assistant/core/pull/37818#discussion_r454497709", + "summary": "The author points out a missing lint comment.", + "actorId": 36015321, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "core-37818:process:merged:2020-07-14T17:22:54Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2020-07-14T17:22:54Z", + "url": "https://github.com/home-assistant/core/pull/37818", + "summary": "The project lead merges the PR.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + }, + { + "id": "architecture-378:process:closed:2020-07-14T17:22:55Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2020-07-14T17:22:55Z", + "url": "https://github.com/home-assistant/architecture/issues/378", + "summary": "A maintainer closes the issue as the `choose` PR merges.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-378:issue:378" + }, + { + "id": "core-37818:process:closed:2020-07-14T17:22:55Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2020-07-14T17:22:55Z", + "url": "https://github.com/home-assistant/core/pull/37818", + "summary": "The PR closes on merge.", + "actorId": 1444314, + "actorType": "human", + "parentId": "core-37818:pr:37818" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-device-ip-mac-display.json b/evals/datasets/decisions-v1/cases/home-assistant-device-ip-mac-display.json new file mode 100644 index 000000000..3d1d054aa --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-device-ip-mac-display.json @@ -0,0 +1,595 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-device-ip-mac-display", + "title": "Where to show a device's IP and MAC address", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/717", + "retrievedAt": "2026-10-18T07:11:45.574165+00:00", + "repository": "home-assistant/architecture", + "number": 717, + "nodeId": "D_kwDOByplq84AOn6c" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-01-25T20:10:00Z" + }, + { + "id": "c2", + "at": "2022-01-25T21:10:00Z" + }, + { + "id": "c3", + "at": "2024-07-01T00:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AOn6c", + "kind": "opening", + "actor": "bdraco", + "createdAt": "2022-01-25T20:08:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/717", + "summary": "A maintainer proposes storing a device's last known IP address in a new device info field, alongside the MAC already kept in connections, so users can find both without digging into storage.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84AHzfk", + "kind": "comment", + "actor": "elupus", + "createdAt": "2022-01-25T20:11:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045924", + "summary": "A user asks for a more general hardware-address or identifier field, citing RFXtrx device IDs.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AHzgA", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2022-01-25T20:13:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045952", + "summary": "The proposer says connections are easy to show and asks if the ID fits there.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzfk" + }, + { + "id": "DC_kwDOByplq84AHzgR", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2022-01-25T20:15:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045969", + "summary": "The proposer then doubts it is a connection and calls a normalised display out of scope.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzfk" + }, + { + "id": "DC_kwDOByplq84AHzgd", + "kind": "reply", + "actor": "elupus", + "createdAt": "2022-01-25T20:17:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045981", + "summary": "The user agrees the ID format is too integration-specific to standardise.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzfk" + }, + { + "id": "DC_kwDOByplq84AHzgr", + "kind": "comment", + "actor": "frenck", + "createdAt": "2022-01-25T20:19:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045995", + "summary": "Another maintainer opposes extending device info, saying such data is often already entities, and suggests pointing device info at an entity or using a device class.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AHzgt", + "kind": "reply", + "actor": "elupus", + "createdAt": "2022-01-25T20:20:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2045997", + "summary": "The user gives an example RFXtrx identifier.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzfk" + }, + { + "id": "DC_kwDOByplq84AHzg3", + "kind": "reply", + "actor": "elupus", + "createdAt": "2022-01-25T20:22:35Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046007", + "summary": "The user suggests a device class or entity category for constant diagnostic info instead of pointers.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzhR", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2022-01-25T20:27:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046033", + "summary": "A maintainer recalls a planned topology view where this could appear.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AHzhX", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2022-01-25T20:28:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046039", + "summary": "The same maintainer notes Thread border routers would make topology interesting.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzhR" + }, + { + "id": "DC_kwDOByplq84AHzhz", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-01-25T20:31:54Z", + "editedAt": "2022-01-25T20:39:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046067", + "summary": "The opposing maintainer argues device info duplicates data, cannot update at runtime and is hard to automate, so entities are better, and that IPs change.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHziw", + "kind": "comment", + "actor": "thecode", + "createdAt": "2022-01-25T20:41:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046128", + "summary": "A maintainer finds IP and hardware address useful for identifying devices, reserving IPs and spotting changed addresses, but wants it in the device registry, not tied to an entity.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AHzjZ", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2022-01-25T20:49:22Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046169", + "summary": "The proposer replies that a changed IP breaks the connection anyway, and a stale value still explains why a device is offline.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzj0", + "kind": "comment", + "actor": "balloob", + "createdAt": "2022-01-25T20:52:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046196", + "summary": "The project founder likes making the data findable but not on the crowded device page, proposing a technical info dialog and reading IP from linked device trackers.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AHzj9", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-01-25T20:54:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046205", + "summary": "The opposing maintainer notes some integrations connect by hostname.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzkG", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-01-25T20:55:50Z", + "editedAt": "2022-01-25T20:56:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046214", + "summary": "The opposing maintainer stresses users want data they can automate on, which device info is not.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzkQ", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2022-01-25T20:57:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046224", + "summary": "The proposer suggests IP is really a config entry property and proposes a Show connection menu item when host or URL is configured.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzk9", + "kind": "reply", + "actor": "balloob", + "createdAt": "2022-01-25T21:04:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046269", + "summary": "The founder says not all device info must be automatable and frames the need as system health for devices.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzlL", + "kind": "reply", + "actor": "thecode", + "createdAt": "2022-01-25T21:06:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046283", + "summary": "A maintainer backs the technical info dialog and sketches a generic `technical_info` list of name and value pairs on the device.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzj0" + }, + { + "id": "DC_kwDOByplq84AHzlO", + "kind": "reply", + "actor": "balloob", + "createdAt": "2022-01-25T21:06:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046286", + "summary": "The founder notes a system-health style approach pulls data on demand.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHzlU", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-01-25T21:07:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046292", + "summary": "The opposing maintainer agrees it may belong to the config entry but is unsure where to show it.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AHznD", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2022-01-25T21:26:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2046403", + "summary": "The proposer suggests clicking the entry title to show details.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AH0F7", + "kind": "comment", + "actor": "elupus", + "createdAt": "2022-01-26T06:17:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2048379", + "summary": "A user asks whether the new diagnostics download already covers this and suggests standard fields there.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AH0OL", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-01-26T08:15:10Z", + "editedAt": "2022-01-26T08:15:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2048907", + "summary": "The opposing maintainer suggests asking the UX designer.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHzgr" + }, + { + "id": "DC_kwDOByplq84AIZ1U", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2022-02-18T08:47:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-2202964", + "summary": "A user notes recent device tracker changes made IP data harder to get and asks that this be considered.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84ANUqV", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2022-08-28T10:08:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-3492501", + "summary": "A user describes the pain of re-mapping every device after a network change.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AHziw" + }, + { + "id": "DC_kwDOByplq84ANzbi", + "kind": "comment", + "actor": "rikroe", + "createdAt": "2022-09-11T10:59:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-3618530", + "summary": "A contributor asks to show a car's VIN from device identifiers, either the first identifier always or via an opt-in flag.", + "actorId": "MDQ6VXNlcjQyMjA0MDk5", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84ANz9h", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2022-09-11T19:09:35Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-3620705", + "summary": "A user says they work around it with DHCP hostnames but that is too hard for most users.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84ANzbi" + }, + { + "id": "DC_kwDOByplq84AODG6", + "kind": "reply", + "actor": "paulbusse", + "createdAt": "2022-09-19T16:09:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-3682746", + "summary": "A user says DHCP reservations are not always possible with many guest devices.", + "actorId": "MDQ6VXNlcjM4Nzg3Mzc3", + "actorType": "human", + "parentId": "DC_kwDOByplq84ANzbi" + }, + { + "id": "DC_kwDOByplq84AOHnO", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2022-09-21T14:50:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-3701198", + "summary": "The earlier user recommends guest networks and segregation.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84ANzbi" + }, + { + "id": "DC_kwDOByplq84Alu-f", + "kind": "comment", + "actor": "frenck", + "createdAt": "2024-06-27T09:11:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9891743", + "summary": "Two years on, the opposing maintainer notes MAC addresses and visit URLs now show, and questions whether IP is still needed.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AlvQp", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2024-06-27T11:01:20Z", + "editedAt": "2024-06-27T11:03:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9892905", + "summary": "The proposer says yes, citing support cases spent on the wrong device because users had the wrong IP.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AlvQ9", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2024-06-27T11:03:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9892925", + "summary": "A maintainer says he has to read config entry data to find IPs.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AlvTB", + "kind": "reply", + "actor": "dgomes", + "createdAt": "2024-06-27T11:15:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9893057", + "summary": "A user notes dual Wi-Fi and Ethernet devices make the right IP critical in debugging.", + "actorId": "MDQ6VXNlcjEzNzY4NA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AlvTx", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2024-06-27T11:20:55Z", + "editedAt": "2024-06-27T11:21:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9893105", + "summary": "The proposer says walking users to the IP can take longer than the fix.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AlvVb", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2024-06-27T11:32:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9893211", + "summary": "A maintainer notes Matter already shows IPs and adds support.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AlvWz", + "kind": "reply", + "actor": "thecode", + "createdAt": "2024-06-27T11:40:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9893299", + "summary": "A maintainer says most of his IP integrations have no web server, so IP is the first thing he asks for; he supports it.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84Alvu8", + "kind": "comment", + "actor": "johnypony3", + "createdAt": "2024-06-27T14:03:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9894844", + "summary": "A user says the relevant entity is hidden by default and asks to always show the IP.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84Alvvt", + "kind": "reply", + "actor": "mib1185", + "createdAt": "2024-06-27T14:06:49Z", + "editedAt": "2024-06-27T14:07:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9894893", + "summary": "A maintainer doubts showing IP on the device card, since diagnostics already carry it and the card would grow.", + "actorId": "MDQ6VXNlcjM1NzgzODIw", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84Alv-C", + "kind": "reply", + "actor": "mib1185", + "createdAt": "2024-06-27T15:24:22Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9895810", + "summary": "The same maintainer asks which entity the user means, noting MAC shows in the info box.", + "actorId": "MDQ6VXNlcjM1NzgzODIw", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alvu8" + }, + { + "id": "DC_kwDOByplq84AlwDI", + "kind": "comment", + "actor": "johnypony3", + "createdAt": "2024-06-27T15:56:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9896136", + "summary": "A user posts an empty email reply.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84AlwSy", + "kind": "reply", + "actor": "frenck", + "createdAt": "2024-06-27T17:38:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9897138", + "summary": "The opposing maintainer asks people not to reply by email.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AlwDI" + }, + { + "id": "DC_kwDOByplq84AlwXm", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2024-06-27T18:18:35Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9897446", + "summary": "The user clarifies they meant the IP address.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alvu8" + }, + { + "id": "DC_kwDOByplq84AlwXq", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2024-06-27T18:19:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9897450", + "summary": "The user says they moved the reply into the thread.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AlwDI" + }, + { + "id": "DC_kwDOByplq84AlwaG", + "kind": "reply", + "actor": "mib1185", + "createdAt": "2024-06-27T18:45:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9897606", + "summary": "The maintainer asks whether a specific integration adds such an entity.", + "actorId": "MDQ6VXNlcjM1NzgzODIw", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alvu8" + }, + { + "id": "DC_kwDOByplq84Al1cn", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-06-30T17:53:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9918247", + "summary": "The founder backs a technical info dialog showing IP, which could also absorb protocol-specific details now shown by MQTT, Z-Wave and Matter.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84Al1dM", + "kind": "reply", + "actor": "thecode", + "createdAt": "2024-06-30T18:04:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-9918284", + "summary": "A maintainer supports generalising the existing MQTT info dialog into a generic more-info view for any device data.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + }, + { + "id": "DC_kwDOByplq84AsxQ1", + "kind": "comment", + "actor": "drueppela", + "createdAt": "2025-01-04T22:55:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-11736117", + "summary": "A user asks if there are plans to show IPs or a table of all device addresses.", + "actorId": "MDQ6VXNlcjk3ODY2MzQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOn6c" + }, + { + "id": "DC_kwDOByplq84As1fh", + "kind": "reply", + "actor": "johnypony3", + "createdAt": "2025-01-06T20:17:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-11753441", + "summary": "A user complains nothing has happened in two years.", + "actorId": "MDQ6VXNlcjE4MTcwMzQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AsxQ1" + }, + { + "id": "DC_kwDOByplq84As3oe", + "kind": "reply", + "actor": "dxmnkd316", + "createdAt": "2025-01-07T15:02:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-11762206", + "summary": "A user explains it varies per integration and suggests a network scanner integration with a table card.", + "actorId": "MDQ6VXNlcjQ2NzUzNzMz", + "actorType": "human", + "parentId": "DC_kwDOByplq84AsxQ1" + }, + { + "id": "DC_kwDOByplq84AxbJd", + "kind": "reply", + "actor": "brianfinley", + "createdAt": "2025-04-26T17:40:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/717#discussioncomment-12956253", + "summary": "A user offers to implement it, proposing IP and hardware addresses be added to the existing `connections` tuples rather than a new structure.", + "actorId": "MDQ6VXNlcjMwNzUwMzU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Alu-f" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-entity-name-editing.json b/evals/datasets/decisions-v1/cases/home-assistant-entity-name-editing.json new file mode 100644 index 000000000..32813f96b --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-entity-name-editing.json @@ -0,0 +1,695 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-entity-name-editing", + "title": "Editing entity name instead of friendly name", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/1185", + "retrievedAt": "2026-10-18T07:19:03.921825+00:00", + "repository": "home-assistant/architecture", + "number": 1185, + "nodeId": "D_kwDOByplq84Ad3-L" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-01-17T11:00:00Z" + }, + { + "id": "c2", + "at": "2025-01-18T08:00:00Z" + }, + { + "id": "c3", + "at": "2026-03-20T00:00:00Z" + }, + { + "id": "c4", + "at": "2026-03-31T16:30:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84Ad3-L", + "kind": "opening", + "actor": "piitaya", + "createdAt": "2025-01-16T14:51:36Z", + "editedAt": "2026-03-17T12:28:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185", + "summary": "A frontend maintainer proposes that renaming an entity edit its registry name rather than friendly_name, so the composed device-plus-entity name survives user renames and the frontend can show name parts by context (two lines, omit device on a device page). friendly_name would stay as an attribute for custom cards, voice and apps. The proposal was edited several times later.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84AtQ_N", + "kind": "comment", + "actor": "DubhAd", + "createdAt": "2025-01-17T11:53:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11866061", + "summary": "A user warns this must be handled carefully and discussed with the community, not sprung on users in a beta.", + "actorId": "MDQ6VXNlcjExMTkxODQ4", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtQ_p", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2025-01-17T11:56:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11866089", + "summary": "A maintainer says it is only a proposal gathering feedback and invites concrete reasons it would upset users.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtQ_N" + }, + { + "id": "DC_kwDOByplq84AtRGI", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-01-17T12:33:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11866504", + "summary": "A user clarifies that developer agreement alone is not enough, and says he does not want a forced naming scheme without an override or his existing names changed.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtQ_N" + }, + { + "id": "DC_kwDOByplq84AtRGz", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2025-01-17T12:38:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11866547", + "summary": "A maintainer says developers make the final call informed by community input, and invites feedback in separate threads.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtQ_N" + }, + { + "id": "DC_kwDOByplq84AtRPc", + "kind": "comment", + "actor": "hilburn", + "createdAt": "2025-01-17T13:34:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11867100", + "summary": "A user objects, giving an example where he strips the device name from displayed entities to save space, and warns forced prefixes would make truncated entity pickers show identical-looking names.", + "actorId": "MDQ6VXNlcjgzMDc4NTg=", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtRSX", + "kind": "comment", + "actor": "tetele", + "createdAt": "2025-01-17T13:49:53Z", + "editedAt": "2025-01-17T13:52:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11867287", + "summary": "A user says the reasons seem implementation-driven, argues naming is personal preference, suggests a user-chosen default scheme with per-entity overrides, and does not want existing names changed.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtRVu", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T14:08:08Z", + "editedAt": "2025-01-17T14:10:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11867502", + "summary": "The opener explains the goal is to eventually drop friendly_name, avoid users retyping device names, and let cards choose a naming scheme, sharing proof-of-concept screenshots.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtRX0", + "kind": "reply", + "actor": "tetele", + "createdAt": "2025-01-17T14:17:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11867636", + "summary": "The user raises cases a device/area/entity combination cannot express, such as one wall switch whose entities control lights in different areas.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtRhI", + "kind": "comment", + "actor": "parautenbach", + "createdAt": "2025-01-17T15:08:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11868232", + "summary": "A user insists on a way to fully override automatic naming, suggests a separator, and proposes a drag-in token UI for composing names instead of implicit concatenation; he asks why friendly_name cannot remain the override.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtRtY", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T16:21:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869016", + "summary": "The opener agrees that devices controlling several real things need a full-rename option or device splitting, while most users only want to rename the entity part.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtRvu", + "kind": "reply", + "actor": "abmantis", + "createdAt": "2025-01-17T16:33:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869166", + "summary": "A maintainer points out that the proposal already includes an option to drop the device name, which would address the full-override concern.", + "actorId": "MDQ6VXNlcjk3NDU2OQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84AtRw5", + "kind": "comment", + "actor": "abmantis", + "createdAt": "2025-01-17T16:38:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869241", + "summary": "The same maintainer asks that the option be made prominent, since without it device prefixes would be forced.", + "actorId": "MDQ6VXNlcjk3NDU2OQ==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtRxM", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T16:40:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869260", + "summary": "The opener agrees to edit the proposal accordingly.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRw5" + }, + { + "id": "DC_kwDOByplq84AtRyt", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T16:50:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869357", + "summary": "The opener sketches a table showing a 'use as full name' flag switching between prefixed and standalone names.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84AtR3i", + "kind": "comment", + "actor": "piitaya", + "createdAt": "2025-01-17T17:19:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869666", + "summary": "The opener says the proposal now presents the flag clearly.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AtR5E", + "kind": "reply", + "actor": "hilburn", + "createdAt": "2025-01-17T17:29:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869764", + "summary": "A user asks for a global default for that checkbox to avoid an extra click on every rename.", + "actorId": "MDQ6VXNlcjgzMDc4NTg=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtR3i" + }, + { + "id": "DC_kwDOByplq84AtR5r", + "kind": "reply", + "actor": "tetele", + "createdAt": "2025-01-17T17:33:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11869803", + "summary": "A user worries the frontend switching away from friendly_name will change what dashboards show, and suggests changing only on user action or with a deprecation warning.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtSDi", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T18:45:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11870434", + "summary": "The opener says dashboards would not change; some places would just show device and entity on two lines.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtSES", + "kind": "reply", + "actor": "tetele", + "createdAt": "2025-01-17T18:50:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11870482", + "summary": "The user says he misunderstood.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRSX" + }, + { + "id": "DC_kwDOByplq84AtSM3", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-01-17T19:57:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11871031", + "summary": "A user wants the override available in YAML as well as the UI.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84AtSSD", + "kind": "reply", + "actor": "piitaya", + "createdAt": "2025-01-17T20:38:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11871363", + "summary": "The opener says YAML entities are unaffected since they have no device.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84AtSSQ", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-01-17T20:41:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11871376", + "summary": "The user clarifies he means setting friendly names via the customize section.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84AtS3t", + "kind": "comment", + "actor": "arturpragacz", + "createdAt": "2025-01-18T07:19:33Z", + "editedAt": "2025-01-19T00:52:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-11873773", + "summary": "A maintainer strongly supports the idea but wants it to go further: commit to eventually removing friendly_name everywhere, and replace the full-name flag with a name_context registry field (device, area, or none) describing the minimal context an entity name needs.", + "actorId": "MDQ6VXNlcjQ5OTg1MzAz", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84AuyFy", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2025-02-20T13:55:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-12263794", + "summary": "A designer explains that knowing how names are composed lets the UI strip redundant parts by context, and users can still override names.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRPc" + }, + { + "id": "DC_kwDOByplq84AuyGg", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2025-02-20T14:00:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-12263840", + "summary": "The designer agrees overrides on device, entity and card names address the concerns and believes the proposal allows them.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AtRhI" + }, + { + "id": "DC_kwDOByplq84Ay5vD", + "kind": "comment", + "actor": "Petro31", + "createdAt": "2025-06-02T13:12:51Z", + "editedAt": "2025-06-02T13:23:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-13343683", + "summary": "A user lists confusions in the current naming system and proposes replacing it: separate device and entity renames plus inheritable include/exclude-device-name options at dashboard, view, section and card level, and changes to entity_id generation.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84Ay5zO", + "kind": "comment", + "actor": "tetele", + "createdAt": "2025-06-02T13:35:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-13343950", + "summary": "A user asks whether a section could show area names instead of entity names.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84Ay55t", + "kind": "reply", + "actor": "Petro31", + "createdAt": "2025-06-02T14:09:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-13344365", + "summary": "The user says that is tangential but the topics are intertwined.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "DC_kwDOByplq84Ay5zO" + }, + { + "id": "DC_kwDOByplq84Ay8BO", + "kind": "reply", + "actor": "tetele", + "createdAt": "2025-06-03T08:48:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-13353038", + "summary": "The other user notes he had not realised this was an old proposal he already answered.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Ay5zO" + }, + { + "id": "DC_kwDOByplq84A0zss", + "kind": "comment", + "actor": "cadavre", + "createdAt": "2025-07-22T07:26:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-13843244", + "summary": "A user asks for an update and argues for a formal naming specification across areas, floors, devices and entities, with worked cases such as duplicate room names on different floors.", + "actorId": "MDQ6VXNlcjQ2MTc5Ng==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84A9tkR", + "kind": "comment", + "actor": "piitaya", + "createdAt": "2026-03-17T12:29:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16177425", + "summary": "The opener says he removed the full-name boolean from the proposal to keep it simple.", + "actorId": "MDQ6VXNlcjU4NzgzMDM=", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84A9tp-", + "kind": "reply", + "actor": "Petro31", + "createdAt": "2026-03-17T12:54:28Z", + "editedAt": "2026-03-17T12:57:37Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16177790", + "summary": "A user warns that without a full override, and especially if names change after an update, the change would cause a huge backlash; he asks for legacy-name compatibility.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-JWd", + "kind": "comment", + "actor": "frenck", + "createdAt": "2026-03-24T10:10:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16291229", + "summary": "A maintainer announces the change is already implemented for the 2026.4 release and admits it skipped the usual approval step; he gives the multi-year history, explains friendly_name will now always include the device name, describes a one-time migration that keeps old names as voice aliases, points to card-level name controls as the override, and retroactively approves the proposal.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "D_kwDOByplq84Ad3-L:process:answered:2026-03-24T10:10:12Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2026-03-24T10:10:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185", + "summary": "The maintainer marks his announcement as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84A-iVQ", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T10:59:02Z", + "editedAt": "2026-03-31T10:59:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393552", + "summary": "A user argues the removed boolean was not about keeping old behaviour but about the minority of entities, like a switch controlling another room's lights, whose names should not carry the device name.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-iVx", + "kind": "reply", + "actor": "arturpragacz", + "createdAt": "2026-03-31T11:02:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393585", + "summary": "A maintainer says sub-devices already solve that case.", + "actorId": "MDQ6VXNlcjQ5OTg1MzAz", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-iXL", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T11:10:57Z", + "editedAt": "2026-03-31T11:12:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393675", + "summary": "The user replies that his official integration does not expose sub-devices and users cannot create them.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-iXr", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T11:13:11Z", + "editedAt": "2026-03-31T11:14:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393707", + "summary": "The user asks why an entity can have a different area from its device but not an independent name.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-iaF", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T11:27:17Z", + "editedAt": "2026-03-31T11:32:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393861", + "summary": "The user argues even a single-pole switch breaks the scheme, since the device is the physical switch and the entity is what it controls.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-ibf", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T11:36:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16393951", + "summary": "The user adds that controlled lights are not really sub-devices and suggests a convert-to-device feature.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-igS", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T12:04:39Z", + "editedAt": "2026-03-31T12:08:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16394258", + "summary": "The user says card-level display controls are not the same as renaming, forcing edits on every card instead of one rename.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-ihl", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2026-03-31T12:10:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16394341", + "summary": "Another user adds that in an area section, repeating the area in every name is pointless.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-ijS", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T12:21:42Z", + "editedAt": "2026-03-31T12:24:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16394450", + "summary": "The user asks how sub-device names are composed.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A9tkR" + }, + { + "id": "DC_kwDOByplq84A-iol", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T12:51:51Z", + "editedAt": "2026-03-31T12:55:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16394789", + "summary": "The user argues device names already embed area names, so context stripping will fail, and device naming should have been fixed first.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-iph", + "kind": "reply", + "actor": "tetele", + "createdAt": "2026-03-31T12:56:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16394849", + "summary": "A user disputes that device names must be unique.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-ivW", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T13:27:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16395222", + "summary": "The user recalls being blocked from naming two devices identically.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-iv1", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T13:30:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16395253", + "summary": "The user remembers the failure came from Google Home syncing.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-iwt", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T13:35:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16395309", + "summary": "The user adds that duplicate device names produce numbered entity IDs.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-i-C", + "kind": "reply", + "actor": "frenck", + "createdAt": "2026-03-31T14:46:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16396162", + "summary": "The maintainer says the proposal has concluded and broader naming debate belongs on the community forum.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-jEK", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T15:15:38Z", + "editedAt": "2026-03-31T17:13:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16396554", + "summary": "The user asks directly whether the full-name flag will exist, noting the roadmap issue still mentions it, and says it would resolve all his concerns.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-jE7", + "kind": "reply", + "actor": "frenck", + "createdAt": "2026-03-31T15:20:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16396603", + "summary": "The maintainer says no, the architecture decision stands.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-jHD", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T15:29:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16396739", + "summary": "The user says that is not an answer and repeats his switch example.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-jP4", + "kind": "reply", + "actor": "birdwing", + "createdAt": "2026-03-31T16:10:12Z", + "editedAt": "2026-03-31T17:11:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16397304", + "summary": "The user, partly in a collapsed rant, says being redirected feels like being silenced and argues the change adds work.", + "actorId": "MDQ6VXNlcjY0ODQzOTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A-jQJ", + "kind": "reply", + "actor": "frenck", + "createdAt": "2026-03-31T16:11:06Z", + "editedAt": "2026-03-31T16:14:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16397321", + "summary": "The maintainer reiterates the proposal is closed and redirects to the forum.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "D_kwDOByplq84Ad3-L:process:closed:2026-04-02T11:32:12Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-04-02T11:32:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOByplq84Ad3-L" + }, + { + "id": "DC_kwDOByplq84A-u-s", + "kind": "reply", + "actor": "planetzalex", + "createdAt": "2026-04-04T06:08:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16445356", + "summary": "A user posts an insulting remark about the product team.", + "actorId": "MDQ6VXNlcjQ2OTAzODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A_dbB", + "kind": "reply", + "actor": "dhoeben", + "createdAt": "2026-04-20T12:29:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16635585", + "summary": "A user says the change was later pulled from the 2026.4 release after the backlash, yet parts are appearing elsewhere, and asks where it is being discussed.", + "actorId": "MDQ6VXNlcjYxMTIzNzE3", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + }, + { + "id": "DC_kwDOByplq84A_joe", + "kind": "reply", + "actor": "planetzalex", + "createdAt": "2026-04-21T20:26:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1185#discussioncomment-16661022", + "summary": "Another user agrees they are being ignored.", + "actorId": "MDQ6VXNlcjQ2OTAzODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-JWd" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-event-entity.json b/evals/datasets/decisions-v1/cases/home-assistant-event-entity.json new file mode 100644 index 000000000..354f58f94 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-event-entity.json @@ -0,0 +1,944 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-event-entity", + "title": "Introducing a stateless event entity and how to model multi-button remotes", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/929", + "retrievedAt": "2026-10-18T07:19:07.387256+00:00", + "repository": "home-assistant/architecture", + "number": 929, + "nodeId": "D_kwDOByplq84AUR1W" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-06-19T12:30:00Z" + }, + { + "id": "c2", + "at": "2023-06-21T13:00:00Z" + }, + { + "id": "c3", + "at": "2023-07-17T07:40:00Z" + }, + { + "id": "c4", + "at": "2023-07-17T08:30:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AUR1W", + "kind": "opening", + "actor": "frenck", + "createdAt": "2023-06-19T12:18:04Z", + "editedAt": "2023-07-17T07:39:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/929", + "summary": "A maintainer proposes a new `event` entity component whose state is the timestamp of the last firing, with a declared list of event types, as a friendlier alternative to raw bus events, fake binary sensors and device automation triggers. The proposal lists alternatives considered and is later edited to note that an `event_input` bundling idea was dropped.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84AXuSs", + "kind": "comment", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T12:34:49Z", + "editedAt": "2023-06-19T12:36:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6218924", + "summary": "A user points out that some events, such as camera motion, have a real start and end and may fit a binary sensor better.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXuS7", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T12:35:55Z", + "editedAt": "2023-06-19T12:36:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6218939", + "summary": "The maintainer replies that stateful cases should stay binary sensors; the new entity is only for things with no state.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuTM", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T12:39:01Z", + "editedAt": "2023-06-19T12:39:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6218956", + "summary": "The user worries that showing motion as an event for one device and a binary sensor for another will confuse people, and asks for a consistent experience.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuTX", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T12:39:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6218967", + "summary": "The maintainer says the two cannot be made identical because they are genuinely different things.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuUH", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T12:45:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219015", + "summary": "The user argues the UX can still be aligned even if the internals differ, suggesting device-class-aware translations for triggers.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuUW", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T12:47:03Z", + "editedAt": "2023-06-19T12:47:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219030", + "summary": "The maintainer restates that an event has no on or off, only a last-fired time.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuUa", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T12:47:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219034", + "summary": "The user insists that entities sharing a motion device class should look alike in the UI regardless of their domain.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuUz", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T12:49:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219059", + "summary": "The user suggests showing a last-started time for events and both start and end times for binary sensors.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuVC", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T12:50:17Z", + "editedAt": "2023-06-19T12:50:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219074", + "summary": "The maintainer answers that an event has no start; it is a single moment such as a button press.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXuYm", + "kind": "comment", + "actor": "parautenbach", + "createdAt": "2023-06-19T13:13:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219302", + "summary": "A user links a core issue as a concrete example supporting the proposal.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXuZh", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2023-06-19T13:18:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219361", + "summary": "A maintainer welcomes the idea for homekit_controller and asks whether existing custom device triggers could be migrated to the new entity over a six-month deprecation window.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXuec", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T13:46:34Z", + "editedAt": "2023-06-19T13:46:53Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219676", + "summary": "The proposing maintainer is unsure how to migrate user automations and expects old triggers may need to stay forever, perhaps hidden in the UI.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuZh" + }, + { + "id": "DC_kwDOByplq84AXugN", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2023-06-19T13:58:55Z", + "editedAt": "2023-06-19T14:10:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6219789", + "summary": "Another maintainer supports the proposal for doorbells and momentary events but wants motion sensors with durations handled in a separate proposal.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXuju", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T14:14:27Z", + "editedAt": "2023-06-19T14:14:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6220014", + "summary": "The user reports agreeing with that maintainer that any device class that can have state, like motion, should never become an event, and sketches binary sensors with optional end times or timeouts.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXun1", + "kind": "reply", + "actor": "pvizeli", + "createdAt": "2023-06-19T14:38:00Z", + "editedAt": "2023-06-19T14:38:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6220277", + "summary": "A maintainer agrees and suggests buttons and remotes might need their own component.", + "actorId": "MDQ6VXNlcjE1MzM4NTQw", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXugN" + }, + { + "id": "DC_kwDOByplq84AXupI", + "kind": "reply", + "actor": "pvizeli", + "createdAt": "2023-06-19T14:45:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6220360", + "summary": "The same maintainer reconsiders, saying it could work if a remote is a device carrying event entities for press types.", + "actorId": "MDQ6VXNlcjE1MzM4NTQw", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXugN" + }, + { + "id": "DC_kwDOByplq84AXu7Q", + "kind": "comment", + "actor": "allenporter", + "createdAt": "2023-06-19T16:31:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221520", + "summary": "A contributor supports the proposal for Nest camera events and raises whether some event data should be kept out of the recorder.", + "actorId": "MDQ6VXNlcjYwMjY0MTg=", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXu9K", + "kind": "comment", + "actor": "shbatm", + "createdAt": "2023-06-19T16:45:57Z", + "editedAt": "2023-06-19T16:48:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221642", + "summary": "A user likes the idea and asks whether the name `event` will be confused with bus events, floating `action` or `instant` instead.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXu-a", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T16:55:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221722", + "summary": "The proposing maintainer notes integrations can already exclude attributes from recording.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXu7Q" + }, + { + "id": "DC_kwDOByplq84AXu-l", + "kind": "reply", + "actor": "allenporter", + "createdAt": "2023-06-19T16:55:59Z", + "editedAt": "2023-06-19T16:59:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221733", + "summary": "A contributor notes that events with a duration resemble calendar events and may merit a future look.", + "actorId": "MDQ6VXNlcjYwMjY0MTg=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXu_A", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T16:58:54Z", + "editedAt": "2023-06-19T17:00:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221760", + "summary": "The proposing maintainer says the motion tangent is out of scope and is adding noise.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXu_e", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T17:01:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221790", + "summary": "The maintainer agrees that motion with a known duration can remain a binary sensor.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXugN" + }, + { + "id": "DC_kwDOByplq84AXu_n", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T17:02:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221799", + "summary": "The maintainer rejects `action` as a name because automations and scripts already use it.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXu9K" + }, + { + "id": "DC_kwDOByplq84AXvAC", + "kind": "reply", + "actor": "allenporter", + "createdAt": "2023-06-19T17:06:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221826", + "summary": "A contributor defends discussing edge cases as useful for clarifying scope and seeding future proposals.", + "actorId": "MDQ6VXNlcjYwMjY0MTg=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXvAZ", + "kind": "comment", + "actor": "frenck", + "createdAt": "2023-06-19T17:10:00Z", + "editedAt": "2023-06-19T17:33:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221849", + "summary": "The proposing maintainer reports that the weekly core meeting debated how to model a four-button Hue remote: one entity with a combined event list, or separate entities, with a possible `inputs` attribute alongside event types.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXvA3", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T17:14:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221879", + "summary": "The maintainer says the motion side discussion is derailing the proposal and wants it stopped.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXvBx", + "kind": "reply", + "actor": "AngellusMortis", + "createdAt": "2023-06-19T17:23:33Z", + "editedAt": "2023-06-19T17:30:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221937", + "summary": "The user objects that their point was about user experience and accuses the maintainer of dismissing it.", + "actorId": "MDQ6VXNlcjQ5MDg0OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXvCG", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T17:27:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6221958", + "summary": "The maintainer ends interaction with that user.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXuSs" + }, + { + "id": "DC_kwDOByplq84AXvHQ", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T18:08:18Z", + "editedAt": "2023-06-19T18:14:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222288", + "summary": "A user votes for one event entity per distinct button and worries `input` clashes with `input_*` helpers.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvIF", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T18:12:46Z", + "editedAt": "2023-06-19T18:13:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222341", + "summary": "The user also mentions `control` as a possible name while admitting every option conflicts with something.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXu9K" + }, + { + "id": "DC_kwDOByplq84AXvJV", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2023-06-19T18:22:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222421", + "summary": "A maintainer agrees an entity per event source would work well for users.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvJz", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T18:27:20Z", + "editedAt": "2023-06-19T18:28:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222451", + "summary": "The user asks whether integrations should decide grouping themselves, such as two entities for a Hue remote instead of four.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvKO", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-19T18:30:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222478", + "summary": "The proposing maintainer says the aim is guidelines that prevent divergent implementations.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvMK", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T18:43:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222602", + "summary": "The user frames the guideline as two options: one entity per distinct input, or one per functional group of inputs.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvSR", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2023-06-19T19:35:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6222993", + "summary": "A maintainer prefers one entity per input, because grouping would need a vendor quirks database for multi-vendor integrations and could cause breaking changes later.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvVt", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T20:04:22Z", + "editedAt": "2023-06-19T20:05:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6223213", + "summary": "The user agrees and refines the rule to whatever input endpoints the device itself exposes.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvXQ", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-06-19T20:20:42Z", + "editedAt": "2023-06-19T20:21:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6223312", + "summary": "The user notes Zigbee2MQTT already uses a flat combined action list like the one described.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXvjH", + "kind": "reply", + "actor": "farmio", + "createdAt": "2023-06-19T22:40:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6224071", + "summary": "A maintainer asks whether press and release for one button belong in a single event entity or need a binary sensor.", + "actorId": "MDQ6VXNlcjEyNDIyODc5", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXv4W", + "kind": "reply", + "actor": "ScottG489", + "createdAt": "2023-06-20T03:23:02Z", + "editedAt": "2023-06-20T03:24:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6225430", + "summary": "A user asks whether events are the read-only counterpart of the `button` entity and suggests borrowing its timestamp state design.", + "actorId": "MDQ6VXNlcjkxMDgwOQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXwMh", + "kind": "comment", + "actor": "jlpouffier", + "createdAt": "2023-06-20T07:06:31Z", + "editedAt": "2023-06-20T07:25:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6226721", + "summary": "A maintainer finds an event entity carrying a list called events confusing and suggests renaming it to something like `event_types`.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXwOG", + "kind": "reply", + "actor": "jlpouffier", + "createdAt": "2023-06-20T07:17:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6226822", + "summary": "The same maintainer argues the inputs idea is too restrictive because all inputs must share the same event list, and recommends dropping it for multiple entities.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AXwTA", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-20T07:47:17Z", + "editedAt": "2023-06-20T07:48:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6227136", + "summary": "The proposing maintainer avoids `type` because it is a Python keyword.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXwMh" + }, + { + "id": "DC_kwDOByplq84AXwYJ", + "kind": "reply", + "actor": "jlpouffier", + "createdAt": "2023-06-20T08:15:33Z", + "editedAt": "2023-06-20T12:29:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6227465", + "summary": "The maintainer offers `category` or `class` as alternative names.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXwMh" + }, + { + "id": "DC_kwDOByplq84AXwZC", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2023-06-20T08:20:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6227522", + "summary": "A maintainer describes his mental model as a stateless sensor.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXwMh" + }, + { + "id": "DC_kwDOByplq84AXxNx", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2023-06-20T13:50:31Z", + "editedAt": "2023-06-21T07:08:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6230897", + "summary": "A maintainer who works on Z-Wave, Hue and Matter supports the idea but argues requiring a fixed event list is too strict, that grouping should be left to integrations, and suggests piloting with Matter first.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AXz_O", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T13:50:24Z", + "editedAt": "2023-06-21T13:51:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242254", + "summary": "The proposing maintainer strongly rejects open-ended event lists, citing sensor enums and select options as precedent and the need for translations, and repeats that guidelines on grouping are wanted.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXxNx" + }, + { + "id": "DC_kwDOByplq84AXz_t", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T13:54:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242285", + "summary": "The proposing maintainer tells the user that the read-only button idea is the proposal itself.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AX0AG", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T13:56:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242310", + "summary": "The maintainer explains inputs would let a 32-button remote be one entity instead of 32.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AX0AV", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T13:57:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242325", + "summary": "The maintainer notes the event trigger already uses `event_type`, making it a good name.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXwMh" + }, + { + "id": "DC_kwDOByplq84AX0DO", + "kind": "reply", + "actor": "ScottG489", + "createdAt": "2023-06-21T14:13:30Z", + "editedAt": "2023-06-21T14:14:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242510", + "summary": "The user clarifies they meant the `button` entity's implementation as a model, not physical buttons.", + "actorId": "MDQ6VXNlcjkxMDgwOQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AX0KK", + "kind": "reply", + "actor": "marcelveldt", + "createdAt": "2023-06-21T14:56:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6242954", + "summary": "The Matter maintainer says he does favour declared event lists, but questions requiring one entity per button and asks how dynamic events are handled.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXxNx" + }, + { + "id": "DC_kwDOByplq84AX0NL", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T15:14:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6243147", + "summary": "The proposing maintainer says consensus leans against per-button entities but guidelines are still needed, and that dynamic events are out of scope since loosening later is easier than tightening.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXxNx" + }, + { + "id": "DC_kwDOByplq84AX07C", + "kind": "reply", + "actor": "jlpouffier", + "createdAt": "2023-06-21T21:10:34Z", + "editedAt": "2023-06-21T22:37:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6246082", + "summary": "A maintainer checks that a remote with a low-battery event would still need a second entity even with inputs.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AX074", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-21T21:19:55Z", + "editedAt": "2023-06-21T21:20:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6246136", + "summary": "The proposing maintainer confirms.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AX1Bb", + "kind": "reply", + "actor": "jlpouffier", + "createdAt": "2023-06-21T22:36:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6246491", + "summary": "The maintainer concludes inputs do not achieve one entity per device but still reduce entity counts.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AYBy0", + "kind": "comment", + "actor": "Rudd-O", + "createdAt": "2023-06-27T23:31:57Z", + "editedAt": "2023-06-27T23:50:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6298804", + "summary": "A user strongly welcomes the proposal, asks whether integrators can add formal attributes such as rotation angle, and suggests repairs and a helper for migrating fake binary sensors.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AYBzV", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-27T23:40:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6298837", + "summary": "The user agrees that device triggers push users into awkward helper-based automations.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXu7Q" + }, + { + "id": "DC_kwDOByplq84AYBzz", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-27T23:44:49Z", + "editedAt": "2023-06-27T23:46:16Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6298867", + "summary": "The user argues remotes need both an input axis and a press-kind axis.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AYBz1", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-27T23:45:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6298869", + "summary": "The user suggests `kind` instead of `type`.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXwMh" + }, + { + "id": "DC_kwDOByplq84AYB0D", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-27T23:48:26Z", + "editedAt": "2023-06-27T23:49:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6298883", + "summary": "The user sees no problem with many event entities, citing a keyboard with one per key that users can disable.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXxNx" + }, + { + "id": "DC_kwDOByplq84AYDBn", + "kind": "reply", + "actor": "jlpouffier", + "createdAt": "2023-06-28T11:35:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6303847", + "summary": "A maintainer notes simultaneous presses are easier to represent as independent events per button.", + "actorId": "MDQ6VXNlcjU4NzgyOTY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AYDEI", + "kind": "reply", + "actor": "marcelveldt", + "createdAt": "2023-06-28T11:55:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6304008", + "summary": "The Matter maintainer leans toward one event entity per physical device but concedes some devices may warrant per-button entities and suggests leaving it to integrations.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AYDEY", + "kind": "reply", + "actor": "marcelveldt", + "createdAt": "2023-06-28T11:56:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6304024", + "summary": "The Matter maintainer says many entities would frustrate users, then suggests separate entities grouped together in the UI.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXxNx" + }, + { + "id": "DC_kwDOByplq84AYDQX", + "kind": "comment", + "actor": "Rudd-O", + "createdAt": "2023-06-28T13:12:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6304791", + "summary": "The user, replying by email, questions why all of a device's controls should be squeezed into one entity and argues each control should be its own event source.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AYDQd", + "kind": "comment", + "actor": "Rudd-O", + "createdAt": "2023-06-28T13:12:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6304797", + "summary": "The user notes the device page already groups config and diagnostic entities this way.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AYDT1", + "kind": "reply", + "actor": "marcelveldt", + "createdAt": "2023-06-28T13:32:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6305013", + "summary": "The Matter maintainer agrees UI grouping is likely the answer and imagines a device picture showing which button was pressed.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYDQd" + }, + { + "id": "DC_kwDOByplq84AYDUC", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-28T13:32:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6305026", + "summary": "The proposing maintainer asks the user to reply in threads.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYDQX" + }, + { + "id": "DC_kwDOByplq84AYDUD", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-06-28T13:33:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6305027", + "summary": "The proposing maintainer repeats the request to use threads.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYDQd" + }, + { + "id": "DC_kwDOByplq84AYEj_", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-29T01:10:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6310143", + "summary": "The user explains the email reply could not be threaded.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYDQd" + }, + { + "id": "DC_kwDOByplq84AYEkB", + "kind": "reply", + "actor": "Rudd-O", + "createdAt": "2023-06-29T01:11:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6310145", + "summary": "The user acknowledges the request.", + "actorId": "MDQ6VXNlcjM0NjMwNg==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYDQX" + }, + { + "id": "DC_kwDOByplq84AYqUN", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-07-17T07:42:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6464781", + "summary": "The proposing maintainer removes the `event_input` attribute from the proposal, citing harder UX and no consensus.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AXvAZ" + }, + { + "id": "DC_kwDOByplq84AYqUf", + "kind": "comment", + "actor": "frenck", + "createdAt": "2023-07-17T07:44:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6464799", + "summary": "The proposing maintainer says the proposal now reflects the feedback and he is starting implementation.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AYqWH", + "kind": "reply", + "actor": "Jc2k", + "createdAt": "2023-07-17T07:57:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6464903", + "summary": "A maintainer asks what the final answer is for the Hue remote, and whether one entity per button is allowed.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYqUf" + }, + { + "id": "DC_kwDOByplq84AYqXf", + "kind": "reply", + "actor": "marcelveldt", + "createdAt": "2023-07-17T08:07:16Z", + "editedAt": "2023-07-17T08:07:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6464991", + "summary": "The Matter maintainer confirms each physical button gets its own entity, with UI grouping as a possible future step.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYqUf" + }, + { + "id": "DC_kwDOByplq84AYsH4", + "kind": "comment", + "actor": "frenck", + "createdAt": "2023-07-17T22:17:29Z", + "editedAt": "2023-07-20T17:50:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6472184", + "summary": "The proposing maintainer posts the draft implementation with linked core, frontend, brands and documentation PRs; this is marked as the answer.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AYzd-", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-07-20T17:53:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6502270", + "summary": "The maintainer says all PRs are ready for review.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYsH4" + }, + { + "id": "D_kwDOByplq84AUR1W:process:answered:2023-07-20T17:53:19Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2023-07-20T17:53:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/929", + "summary": "The proposing maintainer marks the implementation comment as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84AUR1W" + }, + { + "id": "DC_kwDOByplq84AY09J", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-07-21T10:19:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/929#discussioncomment-6508361", + "summary": "The maintainer reports the implementation merged for the 2023.8 release.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AYsH4" + }, + { + "id": "D_kwDOByplq84AUR1W:process:closed:2023-07-21T10:19:17Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2023-07-21T10:19:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/929", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOByplq84AUR1W" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-fan-speed-percentage.json b/evals/datasets/decisions-v1/cases/home-assistant-fan-speed-percentage.json new file mode 100644 index 000000000..0bd9dcb76 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-fan-speed-percentage.json @@ -0,0 +1,755 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-fan-speed-percentage", + "title": "How Home Assistant's fan entity should model more than three speeds", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/127", + "retrievedAt": "2026-10-18T07:19:17.229783+00:00", + "repository": "home-assistant/architecture", + "number": 127 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-01-02T00:00:00Z" + }, + { + "id": "c2", + "at": "2019-10-03T12:00:00Z" + }, + { + "id": "c3", + "at": "2020-08-23T16:00:00Z" + }, + { + "id": "c4", + "at": "2020-08-23T18:00:00Z" + } + ], + "events": [ + { + "id": "architecture-127:issue:127", + "kind": "opening", + "actor": "mkowalchuk", + "createdAt": "2019-01-01T21:32:07Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "The opener asks to add a `medium-low` speed to the base fan component so four-speed controllers are fully supported, and asks whether this must wait for a broader fan speed redesign.", + "actorId": 1266924, + "actorType": "human" + }, + { + "id": "architecture-127:comment:451295439", + "kind": "comment", + "actor": "cdce8p", + "createdAt": "2019-01-03T22:18:13Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-451295439", + "summary": "A maintainer says the broader redesign stalled and suggests adding the speed in the individual platform rather than the base component, as several platforms already use their own lists.", + "actorId": 30130371, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:451303330", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2019-01-03T22:51:38Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-451303330", + "summary": "Another maintainer insists only base component speeds should be used and existing exceptions should not be copied.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:451312220", + "kind": "comment", + "actor": "cdce8p", + "createdAt": "2019-01-03T23:34:42Z", + "editedAt": "2019-01-03T23:34:55Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-451312220", + "summary": "The first maintainer argues the string speed list is already too limited and the real fix is an integer speed with modes split out, which nobody has time for.", + "actorId": 30130371, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:451321975", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2019-01-04T00:31:14Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-451321975", + "summary": "The second maintainer repeats that new platforms must follow base speeds; any additions belong in the base component after architecture approval.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:467650875", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-02-26T23:01:22Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-467650875", + "summary": "The project lead explains that a fixed base vocabulary is needed to translate fan state for Google Assistant, Alexa and HomeKit.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:467746056", + "kind": "comment", + "actor": "sknsean", + "createdAt": "2019-02-27T06:53:26Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-467746056", + "summary": "A user argues Home Assistant should not be limited by voice assistants and should translate instead.", + "actorId": 12713608, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:468064417", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-02-27T22:56:11Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-468064417", + "summary": "The project lead replies that translation requires knowing values in advance, which is what the abstraction is for.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:485146841", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2019-04-20T17:51:09Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-485146841", + "summary": "A maintainer asks for progress and supports adding a fourth base speed.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:536146670", + "kind": "comment", + "actor": "quielb", + "createdAt": "2019-09-28T02:53:07Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-536146670", + "summary": "A user with ten-speed and six-speed fans says losing speed steps defeats efficient automation, and suggests letting integrations decide whether to map to standard speeds.", + "actorId": 13806281, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:537765853", + "kind": "comment", + "actor": "fuzzie360", + "createdAt": "2019-10-03T03:10:18Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-537765853", + "summary": "A user proposes splitting fan control into a percentage-speed service and a separate mode service, since non-linear speed lists break HomeKit.", + "actorId": 666522, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:538120667", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2019-10-03T20:44:21Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-538120667", + "summary": "A maintainer who triages HomeKit says a percentage with integrations mapping their speeds looks like a good fix.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:538127303", + "kind": "comment", + "actor": "quielb", + "createdAt": "2019-10-03T21:02:21Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-538127303", + "summary": "A user reports a crash when a fan's physical speed has no mapped Home Assistant speed.", + "actorId": 13806281, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:548966566", + "kind": "comment", + "actor": "nkaminski", + "createdAt": "2019-11-01T22:05:02Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-548966566", + "summary": "A user supports percentages and suggests mapping a percentage to the nearest discrete speed.", + "actorId": 2483681, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:632903966", + "kind": "comment", + "actor": "RefineryX", + "createdAt": "2020-05-22T20:49:55Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-632903966", + "summary": "A user asks for progress, citing a Dyson fan in HomeKit.", + "actorId": 46373533, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:639360840", + "kind": "comment", + "actor": "smurf12345", + "createdAt": "2020-06-05T09:16:19Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-639360840", + "summary": "A user asks how to work around the limit for a Lutron four-speed fan.", + "actorId": 20144319, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:649435784", + "kind": "comment", + "actor": "Misiu", + "createdAt": "2020-06-25T09:50:57Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-649435784", + "summary": "A user supports percentages for a 0-100 fan and suggests the speed method accept either type.", + "actorId": 1741838, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:664778872", + "kind": "comment", + "actor": "EvTheFuture", + "createdAt": "2020-07-28T05:05:27Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-664778872", + "summary": "A user suggests adding a `Percentage` entry to the speed list plus a percentage value, to avoid breaking integrations.", + "actorId": 66333723, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:665003208", + "kind": "comment", + "actor": "Misiu", + "createdAt": "2020-07-28T12:11:42Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-665003208", + "summary": "A user proposes a `SUPPORT_SET_SPEED_PERCENTAGE` feature flag so integrations opt in.", + "actorId": 1741838, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:665064716", + "kind": "comment", + "actor": "EvTheFuture", + "createdAt": "2020-07-28T14:12:48Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-665064716", + "summary": "The previous user asks whether that would live in the core fan component.", + "actorId": 66333723, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:665067021", + "kind": "comment", + "actor": "Misiu", + "createdAt": "2020-07-28T14:16:54Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-665067021", + "summary": "The flag's proposer says only integrations using it would change, and suggests waiting for core developers.", + "actorId": 1741838, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:667588073", + "kind": "comment", + "actor": "EvTheFuture", + "createdAt": "2020-08-01T21:16:19Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-667588073", + "summary": "A user asks how to get core developers' attention.", + "actorId": 66333723, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:671349227", + "kind": "comment", + "actor": "Misiu", + "createdAt": "2020-08-10T13:19:08Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-671349227", + "summary": "Another user says they should wait.", + "actorId": 1741838, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678794680", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-23T16:24:57Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678794680", + "summary": "A maintainer says the request resurfaced in a community event and asks whether a PR adding the percentage flag would be the right next step.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678795343", + "kind": "comment", + "actor": "emontnemery", + "createdAt": "2020-08-23T16:30:48Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678795343", + "summary": "A contributor says there seems to be consensus on the flag and a base component PR is next.", + "actorId": 14281572, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678795980", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2020-08-23T16:36:50Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678795980", + "summary": "A maintainer endorses percentage speed.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678803935", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-08-23T17:49:29Z", + "editedAt": "2020-08-23T17:49:39Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678803935", + "summary": "The project lead endorses percentages and calls the limited options a mistake.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678806592", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-23T18:13:47Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678806592", + "summary": "A maintainer offers to prototype it for the HomeKit controller integration.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678807078", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2020-08-23T18:18:53Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678807078", + "summary": "A maintainer raises the migration question: two interfaces or migrate everything to percentage.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678811803", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-23T19:03:57Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678811803", + "summary": "The prototyping maintainer plans to map between both interfaces to avoid a breaking change.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678813486", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2020-08-23T19:19:29Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678813486", + "summary": "A maintainer says the HomeKit integration already maps these and its code could be reused.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678814317", + "kind": "comment", + "actor": "RefineryX", + "createdAt": "2020-08-23T19:26:39Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678814317", + "summary": "A user shares a log warning from their fan.", + "actorId": 46373533, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678819197", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-23T20:12:39Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678819197", + "summary": "The prototyping maintainer notes the HomeKit mapping is the most robust and asks whether `off` must appear in speed lists.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2020-08-24T07:53:49Z", + "kind": "process", + "actor": "Jc2k", + "createdAt": "2020-08-24T07:53:49Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "A maintainer links a draft core PR supporting more than three fan speeds.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:678999782", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-24T08:54:30Z", + "editedAt": "2020-08-24T08:55:18Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-678999782", + "summary": "The maintainer explains the draft, asks whether `off` must be first, whether modes like auto need presets, and proposes a UI step size; they survey non-standard fans.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679001662", + "kind": "comment", + "actor": "sknsean", + "createdAt": "2020-08-24T08:58:14Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679001662", + "summary": "A user cheers the change.", + "actorId": 12713608, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679004633", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2020-08-24T09:04:10Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679004633", + "summary": "A maintainer suggests every integration gain the new percentage service while the old one stays, so the frontend can move over without breaking user automations.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679009279", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-24T09:13:27Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679009279", + "summary": "The prototyping maintainer agrees, asks about state reproduction, and favours a step property for small speed lists.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679017923", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-08-24T09:31:00Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679017923", + "summary": "The maintainer floats renaming speed lists to presets with a new percentage-only speed, but notes it would break more, and asks whether presets should come first.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679028747", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2020-08-24T09:51:09Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679028747", + "summary": "A maintainer stresses that changing the state representation is a breaking change.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:679029199", + "kind": "comment", + "actor": "balloob", + "createdAt": "2020-08-24T09:52:03Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-679029199", + "summary": "The project lead notes fans are on/off entities and that percentage can represent that.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:716281273", + "kind": "comment", + "actor": "cprussin", + "createdAt": "2020-10-26T03:24:53Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-716281273", + "summary": "A user offers to help and asks for pointers.", + "actorId": 297575, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:716385857", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-10-26T08:12:28Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-716385857", + "summary": "The prototyping maintainer describes their two-way conversion draft and the feedback that conversion should go only from old to new.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:716406145", + "kind": "comment", + "actor": "cprussin", + "createdAt": "2020-10-26T08:53:39Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-716406145", + "summary": "The user asks why not a device-defined enum instead of percentages.", + "actorId": 297575, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:716423170", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-10-26T09:25:09Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-716423170", + "summary": "The maintainer explains that speeds must carry meaning for voice assistants, per-speed approvals do not scale, and percentage scales better, while suggesting presets for odd modes.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:718363506", + "kind": "comment", + "actor": "cprussin", + "createdAt": "2020-10-29T05:10:39Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-718363506", + "summary": "The user asks what is needed to land the draft PR.", + "actorId": 297575, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:718428056", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2020-10-29T07:37:45Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-718428056", + "summary": "The maintainer says the review feedback, a rebase and tests are needed.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:753381167", + "kind": "comment", + "actor": "mikesalz", + "createdAt": "2021-01-01T20:54:26Z", + "editedAt": "2021-01-05T15:49:12Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-753381167", + "summary": "A user asks for progress on a four-speed fan.", + "actorId": 46855061, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:761691763", + "kind": "comment", + "actor": "jbouwh", + "createdAt": "2021-01-16T22:42:47Z", + "editedAt": "2021-01-21T22:34:57Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-761691763", + "summary": "A user reports MQTT fans can set custom speeds but not report them back.", + "actorId": 7188918, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2021-01-21T23:55:07Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-01-21T23:55:07Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "A maintainer links a core PR separating fan speeds into percentages and preset modes.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2021-01-22T04:52:42Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-01-22T04:52:42Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "The maintainer links the matching developer docs PR.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2021-01-24T00:05:31Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-01-24T00:05:31Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "The maintainer links the matching frontend PR.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:766354367", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-01-24T14:10:12Z", + "editedAt": "2021-01-24T14:17:35Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-766354367", + "summary": "A maintainer reports a near-complete percentage implementation with automatic translation of old calls, and proposes a `preset_list` modelled on climate entities for values like auto and smart.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:766355242", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2021-01-24T14:16:10Z", + "editedAt": "2021-01-24T14:21:49Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-766355242", + "summary": "Another maintainer strongly supports presets.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:766356403", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2021-01-24T14:24:22Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-766356403", + "summary": "A maintainer worries about telling users which speeds move to presets.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:766357185", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-01-24T14:29:54Z", + "editedAt": "2021-01-25T01:43:24Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-766357185", + "summary": "The implementing maintainer lists the moved speeds in the PR's breaking change notes.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:768779956", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-01-28T03:47:58Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-768779956", + "summary": "The implementing maintainer says the PR resolves the issue.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:closed:2021-01-28T03:47:58Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-01-28T03:47:58Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "The implementing maintainer closes the issue.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:772935849", + "kind": "comment", + "actor": "quielb", + "createdAt": "2021-02-04T00:40:26Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-772935849", + "summary": "A user notes Alexa now understands speed lists and asks if the change was needed.", + "actorId": 13806281, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2021-02-14T01:50:09Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-02-14T01:50:09Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "A maintainer links a follow-up PR adding percentage step sizes.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:778708950", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-02-14T02:08:15Z", + "editedAt": "2021-02-14T02:22:04Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-778708950", + "summary": "The maintainer says step sizes and increase/decrease services, deferred to limit scope, are now in a follow-up PR.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:cross-referenced:2021-02-14T02:09:28Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2021-02-14T02:09:28Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "The maintainer links docs for the speed count utility.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:790874329", + "kind": "comment", + "actor": "jbouwh", + "createdAt": "2021-03-04T19:34:00Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-790874329", + "summary": "A user asks about MQTT fans and climate entities.", + "actorId": 7188918, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:comment:790887616", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-03-04T19:52:45Z", + "url": "https://github.com/home-assistant/architecture/issues/127#issuecomment-790887616", + "summary": "The maintainer says this issue covered only the fan model; climate needs its own proposal and MQTT is up to its maintainers.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-127:issue:127" + }, + { + "id": "architecture-127:process:locked:2021-03-04T19:52:55Z", + "kind": "process", + "actor": "home-assistant", + "createdAt": "2021-03-04T19:52:55Z", + "url": "https://github.com/home-assistant/architecture/issues/127", + "summary": "A bot locks the issue.", + "actorId": 13844975, + "actorType": "bot", + "parentId": "architecture-127:issue:127" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-last-changed-restart.json b/evals/datasets/decisions-v1/cases/home-assistant-last-changed-restart.json new file mode 100644 index 000000000..7972b0f92 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-last-changed-restart.json @@ -0,0 +1,535 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-last-changed-restart", + "title": "Preserving last_changed across restarts", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/230", + "retrievedAt": "2026-10-18T07:19:14.186756+00:00", + "repository": "home-assistant/architecture", + "number": 230 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-05-10T14:40:00Z" + }, + { + "id": "c2", + "at": "2020-03-19T00:00:00Z" + }, + { + "id": "c3", + "at": "2021-03-08T12:00:00Z" + }, + { + "id": "c4", + "at": "2021-03-09T00:00:00Z" + } + ], + "events": [ + { + "id": "architecture-230:issue:230", + "kind": "opening", + "actor": "SaturnusDJ", + "createdAt": "2019-05-10T14:28:24Z", + "url": "https://github.com/home-assistant/architecture/issues/230", + "summary": "The opener argues that resetting `last_changed` and `last_updated` on every restart makes every entity look recently changed, rebuts a forum claim that restarts are rare, and proposes either not resetting those timestamps or adding a new restart-proof timestamp.", + "actorId": 14320018, + "actorType": "human" + }, + { + "id": "architecture-230:comment:491319065", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2019-05-10T14:57:07Z", + "editedAt": "2019-05-10T18:58:54Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491319065", + "summary": "A maintainer says `last_updated` should reset on restart if fresh data was fetched, but `last_changed` should only move when the value actually differs.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491319390", + "kind": "comment", + "actor": "andriej", + "createdAt": "2019-05-10T14:58:01Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491319390", + "summary": "A user supports keeping `last_changed` or adding a timestamp shown in the UI.", + "actorId": 6303489, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491343293", + "kind": "comment", + "actor": "Adminiuga", + "createdAt": "2019-05-10T16:08:20Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491343293", + "summary": "A user agrees with the maintainer's split.", + "actorId": 5826160, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491407394", + "kind": "comment", + "actor": "dgomes", + "createdAt": "2019-05-10T19:40:00Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491407394", + "summary": "A user says everyone agrees with that split and calls this an implementation bug rather than architecture, citing retained MQTT values.", + "actorId": 137684, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491454459", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2019-05-10T23:12:02Z", + "editedAt": "2019-05-23T18:16:31Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491454459", + "summary": "The opener accepts the split, noting some devices push data late, and only needs one timestamp that survives restarts.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491471923", + "kind": "comment", + "actor": "Swamp-Ig", + "createdAt": "2019-05-11T02:23:59Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491471923", + "summary": "A user raises the edge case of devices that start unknown and refresh later: is that transition a change?", + "actorId": 6317645, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491477262", + "kind": "comment", + "actor": "Adminiuga", + "createdAt": "2019-05-11T04:01:59Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491477262", + "summary": "A user suggests keeping the prior `last_changed` until a successful poll shows a different value.", + "actorId": 5826160, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:491501235", + "kind": "comment", + "actor": "Swamp-Ig", + "createdAt": "2019-05-11T10:58:40Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-491501235", + "summary": "A user explains the state machine has no loading concept and proposes either a state-loaded event or a special unknown prior state that preserves `last_changed`, with a lifecycle table.", + "actorId": 6317645, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:522199363", + "kind": "comment", + "actor": "boojew", + "createdAt": "2019-08-17T03:10:13Z", + "editedAt": "2019-08-17T03:43:50Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-522199363", + "summary": "A user agrees with persisting `last_changed` and wants attribute changes to count too.", + "actorId": 1015566, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:559466135", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2019-11-28T11:57:39Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-559466135", + "summary": "The opener asks for progress.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:589998315", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-02-22T21:07:48Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-589998315", + "summary": "The opener bumps the issue.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:594814766", + "kind": "comment", + "actor": "remcotjeerdsma", + "createdAt": "2020-03-04T20:23:30Z", + "editedAt": "2020-03-04T20:23:41Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-594814766", + "summary": "A user adds support.", + "actorId": 3865006, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:600484354", + "kind": "comment", + "actor": "azogue", + "createdAt": "2020-03-18T08:17:38Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-600484354", + "summary": "A member proposes fixing it for all `RestoreEntity` integrations by writing the restored state straight into the state machine when it is fetched, so the first update compares against it, and sketches the code.", + "actorId": 9748301, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:614699910", + "kind": "comment", + "actor": "cmatte", + "createdAt": "2020-04-16T14:47:41Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-614699910", + "summary": "A user asks about progress.", + "actorId": 1192305, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:615379445", + "kind": "comment", + "actor": "azogue", + "createdAt": "2020-04-17T17:47:34Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-615379445", + "summary": "The member says they have run the patch for weeks without side effects but are unsure maintainers will accept touching the state machine, and notes there is no clear startup period anymore.", + "actorId": 9748301, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:615552649", + "kind": "comment", + "actor": "orson1282", + "createdAt": "2020-04-18T04:09:12Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-615552649", + "summary": "A user with a battery MQTT sensor supports not resetting the timestamp.", + "actorId": 4836141, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:617051232", + "kind": "comment", + "actor": "kalmanoharan", + "createdAt": "2020-04-21T09:01:05Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-617051232", + "summary": "A user adds thanks and support.", + "actorId": 38646666, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:633302770", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-05-24T21:22:52Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-633302770", + "summary": "The opener offers to test the patch.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:633508643", + "kind": "comment", + "actor": "azogue", + "createdAt": "2020-05-25T10:42:18Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-633508643", + "summary": "The member says the patch is ready and could become a PR, but wanted core maintainer discussion first because it may be controversial, and pings two leads.", + "actorId": 9748301, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:638435841", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-06-03T20:11:51Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-638435841", + "summary": "The opener says they applied the patch and asks if they did it right.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:639319477", + "kind": "comment", + "actor": "azogue", + "createdAt": "2020-06-05T07:51:59Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-639319477", + "summary": "The member confirms.", + "actorId": 9748301, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:641465527", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-06-09T17:33:48Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-641465527", + "summary": "The opener reports it works for automations, persons, inputs and counters but not for lights, sensors, trackers or groups.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:641473606", + "kind": "comment", + "actor": "azogue", + "createdAt": "2020-06-09T17:49:37Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-641473606", + "summary": "The member explains coverage depends on whether an integration uses `RestoreEntity`, a generic fix would be wrong for some integrations, and the issue should focus on `last_changed` only.", + "actorId": 9748301, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:process:renamed:2020-06-27T10:08:34Z", + "kind": "process", + "actor": "SaturnusDJ", + "createdAt": "2020-06-27T10:08:34Z", + "url": "https://github.com/home-assistant/architecture/issues/230", + "summary": "The opener narrows the title to `last_changed` only.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:process:renamed:2020-06-27T10:09:22Z", + "kind": "process", + "actor": "SaturnusDJ", + "createdAt": "2020-06-27T10:09:22Z", + "url": "https://github.com/home-assistant/architecture/issues/230", + "summary": "The opener adjusts the title formatting.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:650538135", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-06-27T10:23:36Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-650538135", + "summary": "The opener thanks the member and asks whether they must now wait for core developers.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:658726189", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2020-07-15T11:59:42Z", + "editedAt": "2020-07-15T12:16:55Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-658726189", + "summary": "The opener reports the patch broke a light migrated between integrations, with an assertion error in the new restore path.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:750351588", + "kind": "comment", + "actor": "Sjorsa", + "createdAt": "2020-12-23T15:33:22Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-750351588", + "summary": "A user asks for an update.", + "actorId": 40437966, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:791402554", + "kind": "comment", + "actor": "codingcatgirl", + "createdAt": "2021-03-05T12:57:07Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-791402554", + "summary": "A user says the current behaviour makes the property nearly useless.", + "actorId": 3868507, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792322877", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2021-03-07T17:50:03Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792322877", + "summary": "The opener says nothing will move until a core lead agrees.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792345482", + "kind": "comment", + "actor": "sanderlv", + "createdAt": "2021-03-07T20:21:04Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792345482", + "summary": "A user adds support.", + "actorId": 16528916, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792349523", + "kind": "comment", + "actor": "Santobert", + "createdAt": "2021-03-07T20:45:13Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792349523", + "summary": "A member says the architecture repo is for changes someone is ready to implement, not feature requests, and invites a PR once there is agreement.", + "actorId": 15657682, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792367092", + "kind": "comment", + "actor": "frenck", + "createdAt": "2021-03-07T22:42:08Z", + "editedAt": "2021-03-07T22:42:53Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792367092", + "summary": "A maintainer asks the opener for an implementation proposal, including how to handle integrations that report data late.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792423009", + "kind": "comment", + "actor": "bogdanbujdea", + "createdAt": "2021-03-08T02:50:05Z", + "editedAt": "2021-03-08T03:00:37Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792423009", + "summary": "A user suggests setting `last_changed` to null at startup in history code.", + "actorId": 793611, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792694939", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2021-03-08T11:34:41Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792694939", + "summary": "The opener explains they cannot program at the needed level and hopes someone builds on the member's patch.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792706193", + "kind": "comment", + "actor": "frenck", + "createdAt": "2021-03-08T11:55:24Z", + "editedAt": "2021-03-08T11:56:55Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792706193", + "summary": "A maintainer says the repo is for approving implementable architectural changes and proposes closing until someone writes a real proposal.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792711236", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2021-03-08T12:04:49Z", + "editedAt": "2021-03-08T12:05:40Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792711236", + "summary": "The opener says they thought this was an architectural change and asks what a proposal should contain.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792716612", + "kind": "comment", + "actor": "frenck", + "createdAt": "2021-03-08T12:15:12Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792716612", + "summary": "A maintainer closes the issue because nobody is implementing it, and welcomes a future proposal with implementation details.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:process:closed:2021-03-08T12:15:12Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2021-03-08T12:15:12Z", + "url": "https://github.com/home-assistant/architecture/issues/230", + "summary": "A maintainer closes the issue.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:792719943", + "kind": "comment", + "actor": "SaturnusDJ", + "createdAt": "2021-03-08T12:21:08Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-792719943", + "summary": "The opener thanks everyone.", + "actorId": 14320018, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:process:cross-referenced:2022-03-22T01:23:35Z", + "kind": "process", + "actor": "bdraco", + "createdAt": "2022-03-22T01:23:35Z", + "url": "https://github.com/home-assistant/architecture/issues/230", + "summary": "A maintainer links core PR #68488, a proof of concept restoring `last_changed` for entities whose state is unchanged at startup.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:1074687745", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2022-03-22T03:29:01Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-1074687745", + "summary": "A maintainer points to that proof-of-concept PR.", + "actorId": 663432, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:2731020391", + "kind": "comment", + "actor": "MathisP75", + "createdAt": "2025-03-17T21:53:53Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-2731020391", + "summary": "A user asks where the core issue lives, since the problem persists.", + "actorId": 98901170, + "actorType": "human", + "parentId": "architecture-230:issue:230" + }, + { + "id": "architecture-230:comment:2731245036", + "kind": "comment", + "actor": "andriej", + "createdAt": "2025-03-18T00:14:27Z", + "url": "https://github.com/home-assistant/architecture/issues/230#issuecomment-2731245036", + "summary": "A user says there is none and calls it an ignored problem.", + "actorId": 6303489, + "actorType": "human", + "parentId": "architecture-230:issue:230" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-lawn-mower-entity.json b/evals/datasets/decisions-v1/cases/home-assistant-lawn-mower-entity.json new file mode 100644 index 000000000..cf018f07a --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-lawn-mower-entity.json @@ -0,0 +1,644 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-lawn-mower-entity", + "title": "Separate lawn_mower entity versus a generic robot entity", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/894", + "retrievedAt": "2026-10-18T07:19:08.491708+00:00", + "repository": "home-assistant/architecture", + "number": 894, + "nodeId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-06-19T14:40:00Z" + }, + { + "id": "c2", + "at": "2021-07-12T00:00:00Z" + }, + { + "id": "c3", + "at": "2022-07-24T12:00:00Z" + }, + { + "id": "c4", + "at": "2023-08-15T00:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb241MTg1MzQz", + "kind": "opening", + "actor": "yeah", + "createdAt": "2018-06-19T14:24:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/894", + "summary": "The opener has a Husqvarna mower integration built on the vacuum entity, finds the vacuum name wrong for mowers, and asks whether to add a new `lawn_mower` component that duplicates vacuum code or rename vacuum to a generic robot-style domain.", + "actorId": "MDQ6VXNlcjIxODE=", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0MA==", + "kind": "comment", + "actor": "michaelarnauts", + "createdAt": "2018-06-19T14:58:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873240", + "summary": "A user prefers the name `robot`.", + "actorId": "MDQ6VXNlcjExOTM3Nzk=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0MQ==", + "kind": "comment", + "actor": "balloob", + "createdAt": "2018-06-19T19:29:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873241", + "summary": "A maintainer favours a separate new component, copying vacuum code where useful, comparing it to lights and switches being distinct despite overlapping features.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0Mg==", + "kind": "comment", + "actor": "wijnandtop", + "createdAt": "2018-08-30T20:05:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873242", + "summary": "A user supports the generic robot idea and links their own Gardena mower custom component.", + "actorId": "MDQ6VXNlcjE3MjYwNzg=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0Mw==", + "kind": "comment", + "actor": "billchurch", + "createdAt": "2018-09-03T17:32:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873243", + "summary": "A user adds support and says the custom component works well for them.", + "actorId": "MDQ6VXNlcjE2NjgwNzU=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0NA==", + "kind": "comment", + "actor": "colinfrei", + "createdAt": "2018-09-12T03:51:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873244", + "summary": "A contributor building a Worx Landroid integration supports a separate component.", + "actorId": "MDQ6VXNlcjc1MjgzNg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0NQ==", + "kind": "comment", + "actor": "MTrab", + "createdAt": "2020-05-09T19:31:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873245", + "summary": "A user asks for an update.", + "actorId": "MDQ6VXNlcjE0Mjk2NDYz", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0Ng==", + "kind": "comment", + "actor": "eavanvalkenburg", + "createdAt": "2020-08-18T10:10:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873246", + "summary": "A user working on a Bosch Indego integration says they also want a mower entity type.", + "actorId": "MDQ6VXNlcjEzNzQ5MjEy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0Nw==", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2020-08-18T11:49:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873247", + "summary": "A maintainer rules that the path is a new standalone `lawn_mower` entity integration, and asks the thread to define its services and state, limited to actuator concerns, with measurements like battery as separate sensors.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0OA==", + "kind": "comment", + "actor": "grm", + "createdAt": "2021-07-08T20:54:13Z", + "editedAt": "2021-07-08T21:02:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873248", + "summary": "The maintainer of a Gardena library offers to build it and proposes a first set of state fields (activity, operating hours, errors, model, link level) and four services for mowing, scheduling and parking.", + "actorId": "MDQ6VXNlcjcwNDM1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI0OQ==", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2021-07-09T05:42:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873249", + "summary": "A maintainer goes through each proposed field, keeping activity as the main state and moving hours, errors and link level to separate sensors, accepts the services, and asks for a survey of which brands support them.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1MA==", + "kind": "comment", + "actor": "grm", + "createdAt": "2021-07-09T08:34:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873250", + "summary": "The Gardena maintainer agrees to research brands and revise the split.", + "actorId": "MDQ6VXNlcjcwNDM1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1MQ==", + "kind": "comment", + "actor": "eavanvalkenburg", + "createdAt": "2021-07-09T14:07:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873251", + "summary": "A user notes Bosch says docked rather than parked, argues the combined park-and-disable-schedule service is too specific, and proposes mow, dock, pause, set schedule and disable schedule services.", + "actorId": "MDQ6VXNlcjEzNzQ5MjEy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1Mg==", + "kind": "comment", + "actor": "nelsonblaha", + "createdAt": "2021-07-09T14:23:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873252", + "summary": "A user says Husqvarna also has a paused concept and suggests DOCKED and PAUSED as clearer terms than PARKED and STOPPED.", + "actorId": "MDQ6VXNlcjEzNDMxNjc=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1Mw==", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2021-07-09T14:43:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873253", + "summary": "A maintainer notes that charging should be its own binary sensor, as with other battery devices.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1NA==", + "kind": "comment", + "actor": "eavanvalkenburg", + "createdAt": "2021-07-09T14:50:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873254", + "summary": "A user agrees and distinguishes a stopped state from separate stop and pause services.", + "actorId": "MDQ6VXNlcjEzNzQ5MjEy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1NQ==", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2021-07-10T09:56:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873255", + "summary": "A user suggests considering edge cutting as a service.", + "actorId": "MDQ6VXNlcjEyOTk4MjE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1Ng==", + "kind": "comment", + "actor": "grm", + "createdAt": "2021-07-11T10:48:35Z", + "editedAt": "2021-07-11T22:42:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873256", + "summary": "The Gardena maintainer posts a second draft with activity states error, paused, mowing and two parked variants, side entities for usage, errors, signal, battery and updates, and services start_mowing, dock, start_schedule, pause and disable_schedule, asking about edge cutting and Bosch-specific sensors.", + "actorId": "MDQ6VXNlcjcwNDM1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1Nw==", + "kind": "comment", + "actor": "MTrab", + "createdAt": "2021-07-11T10:54:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873257", + "summary": "A user who maintains a Worx integration says Landroids have edge cutting but the trigger is not yet known.", + "actorId": "MDQ6VXNlcjE0Mjk2NDYz", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1OA==", + "kind": "comment", + "actor": "grm", + "createdAt": "2021-07-11T10:59:48Z", + "editedAt": "2021-07-11T11:00:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873258", + "summary": "The Gardena maintainer asks whether that trigger is in a public API.", + "actorId": "MDQ6VXNlcjcwNDM1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI1OQ==", + "kind": "comment", + "actor": "MTrab", + "createdAt": "2021-07-11T11:01:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873259", + "summary": "The Worx user says there is no public API and edge cutting is only on newer models.", + "actorId": "MDQ6VXNlcjE0Mjk2NDYz", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI2MA==", + "kind": "comment", + "actor": "eavanvalkenburg", + "createdAt": "2021-07-14T13:26:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873260", + "summary": "A user asks whether a branch exists and which existing entity to use as a template, suggesting vacuum.", + "actorId": "MDQ6VXNlcjEzNzQ5MjEy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI2MQ==", + "kind": "comment", + "actor": "grm", + "createdAt": "2021-07-14T14:56:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873261", + "summary": "The Gardena maintainer says they have a local branch and will push it.", + "actorId": "MDQ6VXNlcjcwNDM1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTg3MzI2Mg==", + "kind": "comment", + "actor": "donoghdb", + "createdAt": "2021-08-04T21:21:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873262", + "summary": "A user asks that leaving-dock and returning-to-dock states be included, and describes a script for parking for a period.", + "actorId": "MDQ6VXNlcjg1MTI4OTUy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ5v", + "kind": "comment", + "actor": "eikowagenknecht", + "createdAt": "2021-12-02T22:23:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873263", + "summary": "A contributor asks the Gardena maintainer for news on the branch.", + "actorId": "MDQ6VXNlcjE0NzU2NzI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ5w", + "kind": "comment", + "actor": "crazyfx1", + "createdAt": "2022-03-23T17:03:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873264", + "summary": "A user asks for status and proposes starting from scratch in a PR if the branch never appears.", + "actorId": "MDQ6VXNlcjk5MzAzODU=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ5x", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2022-07-24T12:57:26Z", + "editedAt": "2023-08-14T11:19:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873265", + "summary": "A maintainer posts the design summary, later marked as the answer: a `lawn_mower` integration with a `LawnMowerEntity` whose state is an activity enum (error, paused, mowing, docked), services start_mowing, dock and pause, and all measurements, errors and schedules as separate entities.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ5y", + "kind": "comment", + "actor": "thomasloven", + "createdAt": "2022-07-26T10:55:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873266", + "summary": "A user asks whether activity is simply the state.", + "actorId": "MDQ6VXNlcjEyOTk4MjE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ5z", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2022-07-26T11:01:40Z", + "editedAt": "2022-07-26T11:03:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873267", + "summary": "A maintainer confirms the base class returns activity as state and platforms must not override state.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ50", + "kind": "comment", + "actor": "mikey0000", + "createdAt": "2023-05-09T02:58:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873268", + "summary": "A user offers to start implementing since nobody seems active.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ51", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2023-05-09T09:13:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873269", + "summary": "A maintainer tells them to go ahead.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ52", + "kind": "comment", + "actor": "mikey0000", + "createdAt": "2023-05-10T11:01:07Z", + "editedAt": "2023-05-10T11:04:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873270", + "summary": "The implementer reports progress and notes their mower supports multiple schedules, zones and edge modes that might eventually need exposing.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWZ54", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2023-05-10T11:44:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5873272", + "summary": "A maintainer says extra features can be per-integration services, and the base entity starts with the common set, growing only if many integrations share a feature.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDEwOkRpc2N1c3Npb241MTg1MzQz:process:answered:2023-05-12T04:51:19Z", + "kind": "process", + "actor": "MartinHjelmare", + "createdAt": "2023-05-12T04:51:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/894", + "summary": "A maintainer marks the design summary as the answer.", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AWqT8", + "kind": "reply", + "actor": "langestefan", + "createdAt": "2023-05-18T16:26:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5940476", + "summary": "A user asks that OpenMower be considered.", + "actorId": "MDQ6VXNlcjM3NjY5Nzcz", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ52" + }, + { + "id": "DC_kwDOByplq84AWqmK", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-05-18T19:16:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-5941642", + "summary": "The implementer says the basics are done and plans to ask questions on Discord.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AW7T-", + "kind": "reply", + "actor": "gjohansson-ST", + "createdAt": "2023-05-26T10:08:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6010110", + "summary": "A maintainer suggests a draft PR instead of Discord questions.", + "actorId": "MDQ6VXNlcjYyOTMyNDE3", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AW8fc", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-05-26T19:16:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6014940", + "summary": "The implementer links core PR #93623.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AW9BA", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-05-27T04:57:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6017088", + "summary": "The implementer asks for guidance on reference entity components and how much belongs in the first PR.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AYlLT", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-07-13T22:04:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6443731", + "summary": "The implementer asks how to use StrEnum given Python version support.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AY36Z", + "kind": "comment", + "actor": "mikey0000", + "createdAt": "2023-07-23T10:51:33Z", + "editedAt": "2023-08-12T08:56:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6520473", + "summary": "The implementer lists the core, brands, frontend, user docs and developer docs PRs for the entity.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AZlpy", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-08-12T08:59:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6707826", + "summary": "The implementer says most PRs are ready for review and the frontend one is still a draft.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AZmtI", + "kind": "reply", + "actor": "MartinHjelmare", + "createdAt": "2023-08-13T06:57:35Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6712136", + "summary": "A maintainer reports that the core team met and suggests moving schedule enable and disable out to a switch entity, and has asked the frontend team for a design.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AZmt0", + "kind": "comment", + "actor": "mikey0000", + "createdAt": "2023-08-13T07:11:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6712180", + "summary": "The implementer agrees to a switch and asks how multiple schedules and schedule configuration would work later.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AZm0p", + "kind": "reply", + "actor": "MartinHjelmare", + "createdAt": "2023-08-13T09:09:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6712617", + "summary": "A maintainer suggests a calendar entity could represent the schedule.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZmt0" + }, + { + "id": "DC_kwDOByplq84AZoZb", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-08-14T09:30:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6719067", + "summary": "The implementer sketches switches plus calendars per schedule, wants Home Assistant to own scheduling eventually, and asks for the answer to be updated.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZmt0" + }, + { + "id": "DC_kwDOByplq84AZodZ", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-08-14T10:00:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6719321", + "summary": "The implementer restates the change: the two docked-with-schedule states merge into one docked state and schedule services are removed.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AZok7", + "kind": "reply", + "actor": "MartinHjelmare", + "createdAt": "2023-08-14T11:14:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6719803", + "summary": "A maintainer confirms and says multiple schedules can be a custom service in integrations that support them.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZmt0" + }, + { + "id": "DC_kwDOByplq84AZolb", + "kind": "reply", + "actor": "MartinHjelmare", + "createdAt": "2023-08-14T11:20:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6719835", + "summary": "A maintainer says the selected answer has been updated.", + "actorId": "MDQ6VXNlcjMxODE2OTI=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AWZ54" + }, + { + "id": "DC_kwDOByplq84AZqbq", + "kind": "comment", + "actor": "mikey0000", + "createdAt": "2023-08-15T05:52:48Z", + "editedAt": "2023-08-15T05:58:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6727402", + "summary": "The implementer opens a sub-discussion on adding a returning-to-dock activity state, noting some brands support it.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "DC_kwDOByplq84AZqdc", + "kind": "reply", + "actor": "crazyfx1", + "createdAt": "2023-08-15T06:19:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6727516", + "summary": "A user says Gardena reports a searching-for-dock state.", + "actorId": "MDQ6VXNlcjk5MzAzODU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZqbq" + }, + { + "id": "DC_kwDOByplq84AZqmy", + "kind": "reply", + "actor": "frenck", + "createdAt": "2023-08-15T07:52:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6728114", + "summary": "A maintainer says to ship the defined set first, since states can be added later but are hard to remove.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZqbq" + }, + { + "id": "DC_kwDOByplq84AZqnX", + "kind": "reply", + "actor": "mikey0000", + "createdAt": "2023-08-15T07:58:35Z", + "editedAt": "2023-08-15T08:17:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6728151", + "summary": "The implementer agrees, notes the state had slipped in unintentionally and is fixed, and suggests the discussion continue for a later addition.", + "actorId": "MDQ6VXNlcjE0NTU5MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AZqbq" + }, + { + "id": "DC_kwDOByplq84AZ3Gq", + "kind": "comment", + "actor": "frenck", + "createdAt": "2023-08-21T10:21:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/894#discussioncomment-6779306", + "summary": "A maintainer closes the discussion because the entity component has merged.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + }, + { + "id": "MDEwOkRpc2N1c3Npb241MTg1MzQz:process:closed:2023-08-21T10:21:23Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2023-08-21T10:21:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/894", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "MDEwOkRpc2N1c3Npb241MTg1MzQz" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-network-interface-binding.json b/evals/datasets/decisions-v1/cases/home-assistant-network-interface-binding.json new file mode 100644 index 000000000..69a693d20 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-network-interface-binding.json @@ -0,0 +1,672 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-network-interface-binding", + "title": "Whether Home Assistant integrations may listen on all network interfaces", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/509", + "retrievedAt": "2026-10-18T07:19:06.290479+00:00", + "repository": "home-assistant/architecture", + "number": 509, + "nodeId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-02-06T00:00:00Z" + }, + { + "id": "c2", + "at": "2021-02-11T00:00:00Z" + }, + { + "id": "c3", + "at": "2021-04-20T00:00:00Z" + }, + { + "id": "c4", + "at": "2021-05-20T00:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24yODE4OTkx", + "kind": "opening", + "actor": "balloob", + "createdAt": "2021-02-05T09:03:18Z", + "editedAt": "2021-02-05T09:06:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/509", + "summary": "The project lead proposes a rule that code listening for broadcasts must use the default or user-specified interfaces, never all interfaces, because binding everywhere breaks on loopback and virtual interfaces; Shelly, Sonos, Zeroconf and SSDP would change.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2", + "kind": "comment", + "actor": "dgomes", + "createdAt": "2021-02-06T11:30:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344206", + "summary": "A user warns this could break setups where Home Assistant sits between a home and an IoT network, and prefers keeping current behaviour unless configured.", + "actorId": "MDQ6VXNlcjEzNzY4NA==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjI1", + "kind": "reply", + "actor": "frenck", + "createdAt": "2021-02-06T11:44:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344225", + "summary": "A maintainer asks whether such setups should use an mDNS reflector or IGMP proxy instead.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MzAw", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-06T12:29:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344300", + "summary": "A user says binding only to the default interface cannot receive traffic from a second one.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0NDg2", + "kind": "reply", + "actor": "frenck", + "createdAt": "2021-02-06T13:35:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344486", + "summary": "The maintainer says that is a different case than the proposal describes.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0NDg5", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-06T13:40:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344489", + "summary": "The user explains receiving multicast requires joining the group on each interface, which is what broke Shelly.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0NDkx", + "kind": "reply", + "actor": "frenck", + "createdAt": "2021-02-06T13:41:12Z", + "editedAt": "2021-02-06T13:42:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344491", + "summary": "The maintainer says the real issue is multi-homed hosts, which should be solved by routing.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0NTQz", + "kind": "reply", + "actor": "thecode", + "createdAt": "2021-02-06T14:27:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344543", + "summary": "A maintainer agrees routing is the right fix, supports the rule for now, wants a longer-term plan for multiple interfaces, and suggests a PR checklist item about network use.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0NTQ2", + "kind": "reply", + "actor": "dgomes", + "createdAt": "2021-02-06T14:28:44Z", + "editedAt": "2021-02-06T14:35:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-344546", + "summary": "A user says the linked bugs come from subscribing per address rather than per interface.", + "actorId": "MDQ6VXNlcjEzNzY4NA==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ3MDYy", + "kind": "reply", + "actor": "thecode", + "createdAt": "2021-02-07T16:10:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-347062", + "summary": "A maintainer says some interfaces should never be joined and supports default-only until a selection mechanism exists.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ3MTMw", + "kind": "reply", + "actor": "dgomes", + "createdAt": "2021-02-07T16:39:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-347130", + "summary": "The user asks for concrete examples of problems.", + "actorId": "MDQ6VXNlcjEzNzY4NA==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ3NDI0", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-02-07T19:07:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-347424", + "summary": "A user who maintains Sonos says it has scanned all interfaces for two years without trouble and calls this a single bug, adding that core bind settings would need per-integration overrides.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ3NTMy", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-07T19:57:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-347532", + "summary": "A user says two interfaces, one for internet and one local, is common enough to support.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQ0MjA2" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3NzA4", + "kind": "comment", + "actor": "balloob", + "createdAt": "2021-02-10T19:35:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-357708", + "summary": "The project lead now argues against even configuring multiple interfaces, saying the network or host should solve it and complex setups should fail visibly.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4", + "kind": "comment", + "actor": "felipediel", + "createdAt": "2021-02-10T21:41:01Z", + "editedAt": "2021-02-12T23:50:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-357998", + "summary": "A user opposes a ban because a hub should reach many networks, worries about support load, and shares a filtering approach used in the Broadlink integration that could move to core.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU4OTc0", + "kind": "reply", + "actor": "balloob", + "createdAt": "2021-02-11T09:29:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-358974", + "summary": "The project lead asks why the application layer should solve what the user's network split caused.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNDQ1", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-02-12T01:07:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-361445", + "summary": "The Sonos user lists servers that let admins choose listening interfaces and shows the official Sonos app scanning both of theirs.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4", + "kind": "comment", + "actor": "agners", + "createdAt": "2021-02-12T01:37:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-361508", + "summary": "A maintainer explains unicast, broadcast and multicast socket behaviour and concludes the problem is multicast interface selection.", + "actorId": "MDQ6VXNlcjM0MDYx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTI4", + "kind": "reply", + "actor": "agners", + "createdAt": "2021-02-12T01:48:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-361528", + "summary": "The same maintainer says letting the OS choose is a sensible default, looping over all interfaces is a bad idea, and a central interface list is the right route if needed.", + "actorId": "MDQ6VXNlcjM0MDYx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNjcw", + "kind": "reply", + "actor": "Adminiuga", + "createdAt": "2021-02-12T04:01:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-361670", + "summary": "A user says binding to any address differs from iterating every interface and wants the admin in control.", + "actorId": "MDQ6VXNlcjU4MjYxNjA=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYyOTg3", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-12T14:51:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-362987", + "summary": "A user notes receiving multicast needs an explicit group join, which by default covers only one interface.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYzMTc5", + "kind": "reply", + "actor": "Adminiuga", + "createdAt": "2021-02-12T15:50:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-363179", + "summary": "A user says users must configure multicast routing and it is not Home Assistant's job to work around it.", + "actorId": "MDQ6VXNlcjU4MjYxNjA=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYzMTky", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-12T15:55:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-363192", + "summary": "A user replies that only the application can join a multicast group.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYzMTk5", + "kind": "reply", + "actor": "dgomes", + "createdAt": "2021-02-12T15:56:29Z", + "editedAt": "2021-02-12T17:17:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-363199", + "summary": "A user argues the default should be listening on all interfaces, as avahi does, except loopback.", + "actorId": "MDQ6VXNlcjEzNzY4NA==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYzMjA3", + "kind": "reply", + "actor": "Adminiuga", + "createdAt": "2021-02-12T15:57:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-363207", + "summary": "A user counters that apps should join only on the default interface.", + "actorId": "MDQ6VXNlcjU4MjYxNjA=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYzOTc4", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-12T20:33:32Z", + "editedAt": "2021-02-12T20:34:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-363978", + "summary": "A network engineer says multiple interfaces are a design choice and frames two options: support only one interface, or fix integrations to handle many.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzY0MDMz", + "kind": "reply", + "actor": "Adminiuga", + "createdAt": "2021-02-12T20:58:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-364033", + "summary": "A user clarifies that the limitation is networks not forwarding multicast, which forces multi-homing.", + "actorId": "MDQ6VXNlcjU4MjYxNjA=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzY0MTA5", + "kind": "reply", + "actor": "felipediel", + "createdAt": "2021-02-12T21:39:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-364109", + "summary": "The Broadlink user agrees it should not be the default but asks to keep it optional and expose local addresses to integrations.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzY0NzAz", + "kind": "reply", + "actor": "thecode", + "createdAt": "2021-02-13T07:35:12Z", + "editedAt": "2021-02-13T07:35:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-364703", + "summary": "A maintainer says that summary reflects their view: support multiple interfaces, not by default, with a core-provided list.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3OTk4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzY4ODU0", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-02-15T02:22:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-368854", + "summary": "A maintainer opens a PR moving SSDP scanning to a new library and asks for testing on split networks.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50Mzg4MTcw", + "kind": "comment", + "actor": "chemelli74", + "createdAt": "2021-02-20T11:41:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-388170", + "summary": "A user suggests deriving the bind address from the route to a discovered device.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzkwNjI4", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-02-21T11:44:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-390628", + "summary": "The Sonos user notes there is no device address before listening.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50Mzg4MTcw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzkwNjY5", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-02-21T12:06:31Z", + "editedAt": "2021-02-22T07:27:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-390669", + "summary": "The Sonos user says they use two interfaces to keep the web interface off their IoT VLAN, and asks if that is a bad setup.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzU3NzA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzkxMDAz", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-21T15:36:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-391003", + "summary": "The other user clarifies it applies to integrations other than zeroconf.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50Mzg4MTcw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2021-02-25T10:56:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-404980", + "summary": "The Sonos user says the discussion is muddled and should be closed and restarted with a clear problem statement.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA3Mzc3", + "kind": "reply", + "actor": "felipediel", + "createdAt": "2021-02-25T21:50:35Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-407377", + "summary": "The Broadlink user proposes principles: no universal restrictions, allow multiple interfaces, and have core share interface data, with a filter example.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA4Njg2", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-02-26T10:59:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-408686", + "summary": "The Sonos user notes not all LANs are /24 and says nobody has described the actual problem.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA5NzQ1", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-26T15:58:01Z", + "editedAt": "2021-02-26T15:58:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-409745", + "summary": "A user says sockets have a limit on group memberships that many interfaces can exceed.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDEwNzM4", + "kind": "reply", + "actor": "felipediel", + "createdAt": "2021-02-26T19:56:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-410738", + "summary": "The Broadlink user says the risk is fragmented per-integration solutions and argues for a shared framework.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDE0NDgw", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-02-28T10:29:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-414480", + "summary": "A user shares a pyroute2 snippet listing addresses of physical interfaces that are up.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDI3NDM0", + "kind": "reply", + "actor": "felipediel", + "createdAt": "2021-03-03T22:07:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-427434", + "summary": "The Broadlink user asks about edge cases.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDI3NDgz", + "kind": "reply", + "actor": "thecode", + "createdAt": "2021-03-03T22:27:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-427483", + "summary": "A maintainer reports the snippet crashed on two VMs and says the real question is whether to support multiple interfaces; if yes, core should provide the list.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDI3NTEy", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-03-03T22:36:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-427512", + "summary": "The snippet's author says only physical interfaces showed as up in their tests.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDA0OTgw" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2MzU4", + "kind": "comment", + "actor": "chemelli74", + "createdAt": "2021-03-06T18:15:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-436358", + "summary": "A user opens a small PR widening use of an existing local IP helper.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2ODAx", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-03-06T22:28:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-436801", + "summary": "The Sonos user questions its relevance to broadcasting.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2MzU4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2ODA5", + "kind": "reply", + "actor": "chemelli74", + "createdAt": "2021-03-06T22:32:54Z", + "editedAt": "2021-03-06T22:33:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-436809", + "summary": "The PR author says the topic is socket binding in general.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2MzU4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2ODQ5", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-03-06T22:51:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-436849", + "summary": "The Sonos user repeats that the thread is too confused and should close without resolution.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NDM2MzU4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NTk2MDg4", + "kind": "comment", + "actor": "chemelli74", + "createdAt": "2021-04-11T12:03:16Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-596088", + "summary": "A user asks for a definitive answer on whether Home Assistant supports more than one interface.", + "actorId": "MDQ6VXNlcjU3MzU0MzIw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjcyOTU3", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-04-29T03:47:37Z", + "editedAt": "2021-04-29T03:47:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-672957", + "summary": "A maintainer reports that defaulting zeroconf to the default interface fixed loopback issues but broke some users, notes each integration differs, and proposes one central setting: auto detect (default), default interface, specific interfaces, or all.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NjczMjQw", + "kind": "comment", + "actor": "felipediel", + "createdAt": "2021-04-29T06:27:17Z", + "editedAt": "2021-05-01T04:27:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-673240", + "summary": "The Broadlink user describes an ideal design with a core interface list, integration rules, and UI checkboxes.", + "actorId": "MDQ6VXNlcjQxNTU4ODMx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NzE3Nzg1", + "kind": "reply", + "actor": "elupus", + "createdAt": "2021-05-10T10:30:22Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-717785", + "summary": "A user says two interfaces are not a misconfiguration and multicast must name interfaces, especially for IPv6 link-local.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MzYxNTA4" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NzU2MDQw", + "kind": "comment", + "actor": "bdraco", + "createdAt": "2021-05-19T03:40:49Z", + "editedAt": "2021-05-19T03:41:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-756040", + "summary": "The maintainer says integrations cannot pick up changes without restart, so the setting may be YAML-only.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NzU2MDY5", + "kind": "comment", + "actor": "jjlawren", + "createdAt": "2021-05-19T04:02:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-756069", + "summary": "A user argues a UI showing interfaces could still help even if a restart is needed.", + "actorId": "MDQ6VXNlcjEyMDMxMTE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NzU2MTk5", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2021-05-19T05:07:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-756199", + "summary": "The maintainer suggests warning that changes need a restart and showing the boot-time value.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NzU2MDY5" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50NzYwNTIy", + "kind": "reply", + "actor": "bdraco", + "createdAt": "2021-05-19T20:44:29Z", + "editedAt": "2021-05-19T20:48:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-760522", + "summary": "The maintainer links a frontend PR with the proposed UI and a core `network` integration PR to support it.", + "actorId": "MDQ6VXNlcjY2MzQzMg==", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50NzU2MDY5" + }, + { + "id": "DC_kwDOByplq84Aytdh", + "kind": "comment", + "actor": "frenck", + "createdAt": "2025-05-28T07:36:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/509#discussioncomment-13293409", + "summary": "Four years later, a maintainer closes the discussion as stale, saying most of it has been applied.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + }, + { + "id": "MDEwOkRpc2N1c3Npb24yODE4OTkx:process:closed:2025-05-28T07:36:57Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2025-05-28T07:36:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/509", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "MDEwOkRpc2N1c3Npb24yODE4OTkx" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-numeric-state-unavailable.json b/evals/datasets/decisions-v1/cases/home-assistant-numeric-state-unavailable.json new file mode 100644 index 000000000..ae057569a --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-numeric-state-unavailable.json @@ -0,0 +1,596 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-numeric-state-unavailable", + "title": "numeric_state triggers after an unavailable state", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/668", + "retrievedAt": "2026-10-18T07:19:05.302738+00:00", + "repository": "home-assistant/architecture", + "number": 668, + "nodeId": "D_kwDOByplq84AOGiF" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-11-21T00:00:00Z" + }, + { + "id": "c2", + "at": "2022-02-16T00:00:00Z" + }, + { + "id": "c3", + "at": "2022-06-08T21:30:00Z" + }, + { + "id": "c4", + "at": "2022-06-08T21:40:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AOGiF", + "kind": "opening", + "actor": "amelchio", + "createdAt": "2021-11-20T20:22:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/668", + "summary": "The opener proposes that the numeric_state trigger fire only when both the previous and new states are valid numbers, so a sensor dropping to unavailable and returning to the same value (for example after a reboot) no longer fires an automation; anyone wanting the old behaviour would combine a state trigger with a numeric condition.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84AGZMk", + "kind": "comment", + "actor": "Adminiuga", + "createdAt": "2021-11-21T00:26:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-1676068", + "summary": "A user suggests an opt-in option to ignore unavailable transitions, keeping the old default so nothing breaks.", + "actorId": "MDQ6VXNlcjU4MjYxNjA=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AGZVn", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2021-11-21T08:49:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-1676647", + "summary": "The opener replies that the current behaviour is a bug contradicting the docs, so a compatibility flag is unwanted; changing the default would fix most automations, and he asks for real cases where the current behaviour helps.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIMQQ", + "kind": "comment", + "actor": "balloob", + "createdAt": "2022-02-10T07:23:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2147344", + "summary": "A maintainer (the project lead) says the proposal makes sense.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AIMTZ", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-02-10T08:06:14Z", + "editedAt": "2022-02-10T08:07:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2147545", + "summary": "A maintainer agrees in part but warns of side effects for polling devices and startup: an entity unavailable at boot would need two reports before firing, and entity-referenced thresholds would behave differently.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIMrh", + "kind": "reply", + "actor": "elupus", + "createdAt": "2022-02-10T12:16:09Z", + "editedAt": "2022-02-10T12:16:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2149089", + "summary": "A user argues that treating comparisons with an unavailable value as invalid would handle both the original and the maintainer's examples.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AIMQQ" + }, + { + "id": "DC_kwDOByplq84AIMr0", + "kind": "reply", + "actor": "elupus", + "createdAt": "2022-02-10T12:18:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2149108", + "summary": "The same user adds that arithmetic on unknown or unavailable values should yield unknown, as with templates.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AIMQQ" + }, + { + "id": "DC_kwDOByplq84AIMs1", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-02-10T12:29:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2149173", + "summary": "The maintainer gives a simpler example: a temperature trigger whose sensor is not ready at startup, asking whether it would then need two updates to fire.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIMtF", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-02-10T12:32:58Z", + "editedAt": "2022-02-10T12:33:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2149189", + "summary": "The maintainer asks whether the change would create inconsistency between numeric_state triggers and numeric_state conditions.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AINCq", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-02-10T15:32:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2150570", + "summary": "The opener explains that under the proposal the startup case would not fire at all, matching entities that report an initial value immediately; only a real crossing fires.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIUyA", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-02-15T16:28:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2182272", + "summary": "The opener asks the maintainer whether that answers his concern.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIUyL", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-02-15T16:30:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2182283", + "summary": "The maintainer says the change would cause as much surprising behaviour as it removes.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIVM8", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-02-15T21:10:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2183996", + "summary": "The opener says he cannot think of such a case and finds not firing on unavailable easy to explain.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIVNn", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-02-15T21:21:21Z", + "editedAt": "2022-02-15T21:23:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2184039", + "summary": "The maintainer counters that firing when an entity returns and matches is also easy to explain, values may really change while unavailable, and the current behaviour lets users filter with from/to variables; he calls himself in the middle but does not see the proposal as an improvement.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AIkI8", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-02-24T16:17:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2245180", + "summary": "The opener rebuts point by point: the current rule has several caveats, firing on an unknown history is not useful, the state trigger can catch unavailability properly, and status quo is the current behaviour's only real merit.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AGZMk" + }, + { + "id": "DC_kwDOByplq84AItRv", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-03-02T18:53:33Z", + "editedAt": "2022-03-02T18:58:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2282607", + "summary": "The opener notes discussion has stalled and, since the strongest objection was neutral, says he will open a PR.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AIMQQ" + }, + { + "id": "DC_kwDOByplq84AKimj", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:50:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763171", + "summary": "After the PR review asked for more discussion, the opener restates the maintainer's concern about trigger/condition consistency as its own thread.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKiml", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:51:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763173", + "summary": "The opener replies that the proposal adds no inconsistency, but the area is already inconsistent because comparisons with unavailable return false; such comparisons should ideally be invalid.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimj" + }, + { + "id": "DC_kwDOByplq84AKimo", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:51:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763176", + "summary": "The opener restates the objection that the change solves nothing and only introduces unwanted behaviour.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKimq", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:51:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763178", + "summary": "The opener calls that objection a fallacy, since any change might be disliked yet still fix something.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimo" + }, + { + "id": "DC_kwDOByplq84AKimr", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:51:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763179", + "summary": "The opener restates the objection that the change breaks triggers people rely on.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKims", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:52:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763180", + "summary": "The opener answers that removing relied-on behaviour is a breaking change to weigh, not a veto, and that the usability gain is worth it.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimr" + }, + { + "id": "DC_kwDOByplq84AKimt", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:52:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763181", + "summary": "The opener quotes a PR review objection that the change assumes the value stayed in range while the device was offline.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKimu", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:52:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763182", + "summary": "The opener replies that no assumption is made: the trigger is skipped for lack of knowledge, much as triggers do not fire for state changes during a restart.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimt" + }, + { + "id": "DC_kwDOByplq84AKimv", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:52:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763183", + "summary": "The opener quotes the PR objection that the change would be inconsistent with all other triggers.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKimy", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:53:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763186", + "summary": "The opener argues numeric_state is unique in seeing non-numeric input, and that the proposal removes an inconsistency since no other trigger fires on what merely might have happened.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimv" + }, + { + "id": "DC_kwDOByplq84AKimz", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-05-16T21:53:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763187", + "summary": "The opener quotes the PR objection that the change could miss triggers.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84AKim3", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:53:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763191", + "summary": "The opener replies that triggers are already missed today: the current firing is a late surrogate that can fire with no crossing and fires once for many possible crossings.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimz" + }, + { + "id": "DC_kwDOByplq84AKim8", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T21:54:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763196", + "summary": "The opener explains he has split each objection from the PR review into its own reply thread and asks others to do the same for new points.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AIMQQ" + }, + { + "id": "DC_kwDOByplq84AKin3", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:11:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763255", + "summary": "The maintainer says the opener misses the point: conditions always evaluate, so the change makes triggers fire in fewer cases than conditions pass.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimj" + }, + { + "id": "DC_kwDOByplq84AKin-", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:12:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763262", + "summary": "The maintainer says the change makes another use case harder and is a breaking change without a real problem, so it should not be done.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimo" + }, + { + "id": "DC_kwDOByplq84AKin_", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:13:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763263", + "summary": "The maintainer complains the split into sub-threads makes his replies hard to follow.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimr" + }, + { + "id": "DC_kwDOByplq84AKioG", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:14:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763270", + "summary": "The maintainer says lack of knowledge is exactly why it should fire, since the only known fact is that the value is now in range.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimt" + }, + { + "id": "DC_kwDOByplq84AKioM", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:15:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763276", + "summary": "The maintainer disagrees that numeric_state is special.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimv" + }, + { + "id": "DC_kwDOByplq84AKioZ", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:18:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763289", + "summary": "The maintainer says one cannot tell whether the current firing is a surrogate, firing without a crossing is not worse, and the multiple-crossing point takes his concern out of context.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimz" + }, + { + "id": "DC_kwDOByplq84AKio7", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-16T22:31:37Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763323", + "summary": "The opener asks the maintainer to explain how it is inconsistent with other triggers.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimv" + }, + { + "id": "DC_kwDOByplq84AKipc", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-05-16T22:37:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2763356", + "summary": "The maintainer shows that a state trigger to on and a zone enter trigger both fire again when an entity returns from unavailable.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimv" + }, + { + "id": "DC_kwDOByplq84AKpB5", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-20T08:55:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2789497", + "summary": "The opener agrees the split is awkward and says GitHub discussions handle long branching debates poorly.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimr" + }, + { + "id": "DC_kwDOByplq84AKpCE", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-20T08:56:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2789508", + "summary": "The opener says he understands current behaviour but is proposing an alternative that removes silently accepted type errors.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimj" + }, + { + "id": "DC_kwDOByplq84AKpCK", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-20T08:58:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2789514", + "summary": "The opener insists the problem is real, has caused forum posts, and that pretending to handle unavailability automatically causes confusion.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimo" + }, + { + "id": "DC_kwDOByplq84AKpJm", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-05-20T10:26:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2789990", + "summary": "The opener tests the examples: a state trigger with an explicit from value does not refire, and the zone trigger actually bails out on unavailable, so there is no general rule; he limited the proposal to numeric_state to avoid a broader fight.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84AKimv" + }, + { + "id": "DC_kwDOByplq84ALEb2", + "kind": "comment", + "actor": "balloob", + "createdAt": "2022-06-08T00:38:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2901750", + "summary": "The project lead proposes a middle variant: remember the last valid number and compare against it, so returning to an unchanged in-range value does not fire while a real crossing during unavailability does.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84ALE7u", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-06-08T07:58:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2903790", + "summary": "The opener asks how the variant handles a value that stays above the threshold but changes while unavailable.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALEb2" + }, + { + "id": "DC_kwDOByplq84ALE9G", + "kind": "reply", + "actor": "frenck", + "createdAt": "2022-06-08T08:06:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2903878", + "summary": "The maintainer answers that it would not fire, since it was already above the threshold.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALEb2" + }, + { + "id": "DC_kwDOByplq84ALGLI", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2022-06-08T21:13:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2908872", + "summary": "The opener says all the other maintainer's objections apply equally to the variant.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALEb2" + }, + { + "id": "DC_kwDOByplq84ALGLR", + "kind": "reply", + "actor": "balloob", + "createdAt": "2022-06-08T21:15:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2908881", + "summary": "The project lead says that is fine because the variant was pre-approved.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALEb2" + }, + { + "id": "DC_kwDOByplq84ALGNH", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2022-06-08T21:36:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-2908999", + "summary": "The opener withdraws the proposal; it is marked as the answer.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "D_kwDOByplq84AOGiF:process:answered:2022-06-08T21:36:58Z", + "kind": "process", + "actor": "amelchio", + "createdAt": "2022-06-08T21:36:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/668", + "summary": "The opener marks the withdrawal as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "D_kwDOByplq84AOGiF:process:closed:2023-05-11T12:52:27Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2023-05-11T12:52:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/668", + "summary": "The discussion is closed as resolved about a year later.", + "actorType": "unknown", + "parentId": "D_kwDOByplq84AOGiF" + }, + { + "id": "DC_kwDOByplq84A1CWC", + "kind": "reply", + "actor": "melyux", + "createdAt": "2025-07-27T19:11:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-13903234", + "summary": "A user who just hit the bug asks why it was withdrawn.", + "actorId": "MDQ6VXNlcjEwMjk2MDUz", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALGNH" + }, + { + "id": "DC_kwDOByplq84A2AEB", + "kind": "reply", + "actor": "amelchio", + "createdAt": "2025-08-19T19:02:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/668#discussioncomment-14156033", + "summary": "The opener says the bug and proposal remain valid; the withdrawal reflected him leaving the process.", + "actorId": "MDQ6VXNlcjI2MTc0OTE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84ALGNH" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-require-code-owner.json b/evals/datasets/decisions-v1/cases/home-assistant-require-code-owner.json new file mode 100644 index 000000000..3d227f127 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-require-code-owner.json @@ -0,0 +1,533 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-require-code-owner", + "title": "Require code owners on new integrations", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/287", + "retrievedAt": "2026-10-18T07:27:40.229751+00:00", + "repository": "home-assistant/architecture", + "number": 287 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-09-13T17:00:00Z" + }, + { + "id": "c2", + "at": "2019-09-16T05:00:00Z" + }, + { + "id": "c3", + "at": "2019-09-17T21:00:00Z" + }, + { + "id": "c4", + "at": "2019-09-20T12:00:00Z" + } + ], + "events": [ + { + "id": "architecture-287:issue:287", + "kind": "opening", + "actor": "frenck", + "createdAt": "2019-09-13T16:47:50Z", + "url": "https://github.com/home-assistant/architecture/issues/287", + "summary": "A maintainer proposes refusing new integrations whose contributor does not list themselves as code owner, later widened to new features and major refactors, with internal integrations exempt and owners free to step down after release; an ADR PR is planned.", + "actorId": 195327, + "actorType": "human" + }, + { + "id": "architecture-287:process:renamed:2019-09-13T16:48:07Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2019-09-13T16:48:07Z", + "url": "https://github.com/home-assistant/architecture/issues/287", + "summary": "The opener renames the issue to spell out code owner.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:process:renamed:2019-09-13T16:48:25Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2019-09-13T16:48:25Z", + "url": "https://github.com/home-assistant/architecture/issues/287", + "summary": "The opener renames it again to its final title about newly contributed integrations.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531311573", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-09-13T16:50:56Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531311573", + "summary": "A maintainer fully agrees.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531314517", + "kind": "comment", + "actor": "dmulcahey", + "createdAt": "2019-09-13T16:59:45Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531314517", + "summary": "A user supports the idea.", + "actorId": 1335687, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531326919", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T17:37:42Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531326919", + "summary": "The opener asks whether large contributions to integrations with no owner, such as rewrites, should also trigger the rule.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531327462", + "kind": "comment", + "actor": "Kane610", + "createdAt": "2019-09-13T17:39:20Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531327462", + "summary": "A maintainer says yes, citing being made co-owner after fixing a discovery feature.", + "actorId": 24575746, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531337977", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T18:11:40Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531337977", + "summary": "The opener notes the hard part is defining a significant contribution.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531339859", + "kind": "comment", + "actor": "dshokouhi", + "createdAt": "2019-09-13T18:17:19Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531339859", + "summary": "A maintainer suggests counting how many submissions someone makes to an integration.", + "actorId": 1634145, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531344089", + "kind": "comment", + "actor": "Adminiuga", + "createdAt": "2019-09-13T18:29:50Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531344089", + "summary": "A user jokes that anyone who touches an integration should own it.", + "actorId": 5826160, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531344804", + "kind": "comment", + "actor": "iantrich", + "createdAt": "2019-09-13T18:31:58Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531344804", + "summary": "A maintainer warns that would discourage contributors.", + "actorId": 1287159, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531345316", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T18:33:40Z", + "editedAt": "2019-09-13T18:54:50Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531345316", + "summary": "The opener agrees it could scare off bug fixers and proposes widening the rule to new features and significant refactors, which becomes the revised proposal.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531352099", + "kind": "comment", + "actor": "arsaboo", + "createdAt": "2019-09-13T18:54:33Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531352099", + "summary": "A user argues the rule should cover only new integrations and big refactors so feature additions are not discouraged.", + "actorId": 18319734, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531352496", + "kind": "comment", + "actor": "iantrich", + "createdAt": "2019-09-13T18:55:49Z", + "editedAt": "2019-09-13T18:56:07Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531352496", + "summary": "A maintainer counters that bug fixes should be spared but new features are significant enough to need an owner.", + "actorId": 1287159, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531352772", + "kind": "comment", + "actor": "dshokouhi", + "createdAt": "2019-09-13T18:56:42Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531352772", + "summary": "A maintainer repeats the submission-count idea as a sign of intent.", + "actorId": 1634145, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531352949", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T18:57:15Z", + "editedAt": "2019-09-13T18:59:33Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531352949", + "summary": "The opener rejects submission counts as a measure of impact.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531353902", + "kind": "comment", + "actor": "Adminiuga", + "createdAt": "2019-09-13T19:00:10Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531353902", + "summary": "A user suggests also counting contributions to the underlying library.", + "actorId": 5826160, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531354059", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T19:00:38Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531354059", + "summary": "The opener says that cannot be tracked.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531354411", + "kind": "comment", + "actor": "iantrich", + "createdAt": "2019-09-13T19:01:40Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531354411", + "summary": "A maintainer says reviewers will have to judge case by case and does not want ownership for trivial fixes.", + "actorId": 1287159, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531355713", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-13T19:05:43Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531355713", + "summary": "The opener notes existing new-integration labels could automate part of the check.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531366607", + "kind": "comment", + "actor": "dgomes", + "createdAt": "2019-09-13T19:42:03Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531366607", + "summary": "A user says reviewers can judge whether a contribution needs an owner as part of review.", + "actorId": 137684, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531421822", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2019-09-13T23:34:17Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531421822", + "summary": "A maintainer suggests feature contributors need not become owners when an active owner exists, but unowned integrations should recruit active people.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531471305", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-14T11:13:11Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531471305", + "summary": "The opener argues multiple owners help, since they can review each other and cover for one who disappears.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531480463", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-09-14T13:38:12Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531480463", + "summary": "The project lead agrees and cites an integration where two expert owners give fast turnaround.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531502801", + "kind": "comment", + "actor": "ties", + "createdAt": "2019-09-14T18:25:22Z", + "editedAt": "2019-09-14T18:26:13Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531502801", + "summary": "A user suggests reviewers simply ask contributors whether they want ownership, notes CODEOWNERS cannot scope ownership to part of an integration, and prefers people over process.", + "actorId": 199058, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531593209", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-09-15T19:38:18Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531593209", + "summary": "A maintainer says existing owners can manage their own co-owners, but every core integration needs a responsible person.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531595064", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-09-15T20:05:33Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531595064", + "summary": "A user opposes making an ADR, preferring reviewers to encourage ownership at their discretion and a checklist line, so ownership stays an honour rather than a chore.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531643932", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-16T05:17:18Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531643932", + "summary": "The opener replies this is about responsibility, not honour.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531655777", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-09-16T06:29:30Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531655777", + "summary": "The same user argues volunteers can only be encouraged to take responsibility, not forced.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531675990", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-09-16T07:56:28Z", + "editedAt": "2019-09-16T08:04:56Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531675990", + "summary": "A maintainer argues unmaintained code should be a custom integration instead, cites many broken integrations, and wants quality over quantity in core.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531690481", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2019-09-16T08:46:53Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531690481", + "summary": "A maintainer agrees new integrations need owners and adds that being invited to own one felt like earned trust.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:531710852", + "kind": "comment", + "actor": "ties", + "createdAt": "2019-09-16T09:52:23Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-531710852", + "summary": "A user insists ownership depends on volunteer interest, not process.", + "actorId": 199058, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532152553", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-17T10:00:47Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532152553", + "summary": "The opener says the requirement is meant to filter out contributors without that commitment.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532354548", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-09-17T18:54:47Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532354548", + "summary": "A user says the proposal achieves nothing beyond bureaucracy.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532372609", + "kind": "comment", + "actor": "ties", + "createdAt": "2019-09-17T19:44:47Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532372609", + "summary": "A user opposes specific ADR wording because past ADRs were read narrowly, suggests dropping the internal exemption, and proposes PR template questions about willingness to maintain.", + "actorId": 199058, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532374159", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-17T19:49:08Z", + "editedAt": "2019-09-17T19:50:04Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532374159", + "summary": "The opener says turning away contributors who decline ownership is a goal, and bug fixes are out of scope.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532378729", + "kind": "comment", + "actor": "ties", + "createdAt": "2019-09-17T20:01:19Z", + "editedAt": "2019-09-17T20:02:03Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532378729", + "summary": "The user argues the real issue is communication and that forced yeses are worse than honest noes, and again suggests removing the internal exemption.", + "actorId": 199058, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532416894", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-17T21:53:22Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532416894", + "summary": "The opener thanks everyone and says an ADR PR will follow, softened to reflect the feedback, for a final go or no-go.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532751035", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-09-18T15:58:54Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532751035", + "summary": "A user notes code owner has no defined duties and is effectively a notification list, and says ADRs have often been ambiguous and not worth spending on this.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532830383", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-18T19:25:12Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532830383", + "summary": "The opener strongly disagrees, saying owner notifications have clearly sped up issue and PR handling.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532847033", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2019-09-18T20:12:24Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532847033", + "summary": "A maintainer says owner notifications are essential to their workflow.", + "actorId": 11544, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:process:cross-referenced:2019-09-18T20:49:09Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2019-09-18T20:49:09Z", + "url": "https://github.com/home-assistant/architecture/issues/287", + "summary": "The ADR 0008 code owners PR is linked to this issue.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:532861267", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-09-18T20:51:22Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-532861267", + "summary": "The opener announces PR #290 with ADR 0008.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:comment:533175838", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-09-19T15:08:37Z", + "url": "https://github.com/home-assistant/architecture/issues/287#issuecomment-533175838", + "summary": "The objecting user clarifies they never opposed notifications.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-287:issue:287" + }, + { + "id": "architecture-287:process:closed:2019-09-20T11:37:16Z", + "kind": "process", + "actor": "pvizeli", + "createdAt": "2019-09-20T11:37:16Z", + "url": "https://github.com/home-assistant/architecture/issues/287", + "summary": "A maintainer closes the issue when the ADR PR is merged.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-287:issue:287" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/home-assistant-zwave-js-switch.json b/evals/datasets/decisions-v1/cases/home-assistant-zwave-js-switch.json new file mode 100644 index 000000000..380bd1e71 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/home-assistant-zwave-js-switch.json @@ -0,0 +1,602 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "home-assistant-zwave-js-switch", + "title": "Move Home Assistant Z-Wave from OpenZWave to Z-Wave JS", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/483", + "retrievedAt": "2026-10-18T07:27:34.354470+00:00", + "repository": "home-assistant/architecture", + "number": 483 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-01-05T23:30:00Z" + }, + { + "id": "c2", + "at": "2021-01-06T12:05:00Z" + }, + { + "id": "c3", + "at": "2021-01-11T15:00:00Z" + }, + { + "id": "c4", + "at": "2021-01-11T16:00:00Z" + } + ], + "events": [ + { + "id": "architecture-483:issue:483", + "kind": "opening", + "actor": "marcelveldt", + "createdAt": "2021-01-05T23:14:44Z", + "url": "https://github.com/home-assistant/architecture/issues/483", + "summary": "A maintainer proposes abandoning the in-progress OpenZWave 1.6 integration, which talks to a daemon over MQTT, in favour of the JavaScript Z-Wave JS driver behind a small socket server; he cites MQTT state bugs, daemon instability, a single C++ upstream developer going on break, and accepts discarding most of a year's work, listing pros and cons including migration difficulty.", + "actorId": 6389780, + "actorType": "human" + }, + { + "id": "architecture-483:comment:754965354", + "kind": "comment", + "actor": "balloob", + "createdAt": "2021-01-05T23:34:03Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-754965354", + "summary": "The project lead agrees restarting is painful but necessary, and clarifies this adds a new integration while the two existing Z-Wave integrations stay.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:754987666", + "kind": "comment", + "actor": "paularmstrong", + "createdAt": "2021-01-06T00:32:24Z", + "editedAt": "2021-01-06T00:38:05Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-754987666", + "summary": "A user asks whether this rules out zwavejs2mqtt and whether an add-on is still needed, and pushes back on calling missing device classes easy to add.", + "actorId": 33297, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:754988742", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-06T00:35:07Z", + "editedAt": "2021-01-06T00:36:14Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-754988742", + "summary": "A maintainer confirms the websocket approach replaces MQTT, sharing the same driver as zwavejs2mqtt, and that an add-on or container is still required.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755018156", + "kind": "comment", + "actor": "xAPPO", + "createdAt": "2021-01-06T01:32:11Z", + "editedAt": "2021-01-06T01:35:17Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755018156", + "summary": "A user asks whether dropping MQTT ties Z-Wave to one Home Assistant instance instead of a shared network-wide pool.", + "actorId": 875211, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755018339", + "kind": "comment", + "actor": "gdt", + "createdAt": "2021-01-06T01:32:48Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755018339", + "summary": "A user argues for explicit requirements: MQTT offers TLS and authentication and host separation, and any channel must be encrypted, authenticated, dual-stack, OS-independent and not require Docker.", + "actorId": 515284, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755024611", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-06T01:54:07Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755024611", + "summary": "A maintainer says multiple remote instances will still work.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755148570", + "kind": "comment", + "actor": "FreelancerJay", + "createdAt": "2021-01-06T08:03:10Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755148570", + "summary": "A user suggests designing a backend-agnostic interface so a future driver change is not another full rebuild.", + "actorId": 67540736, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755148671", + "kind": "comment", + "actor": "balloob", + "createdAt": "2021-01-06T08:03:24Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755148671", + "summary": "The project lead says authentication is out of scope for the server; the add-on restricts access to Home Assistant's address and users can front it with NGINX.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755151308", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T08:09:56Z", + "editedAt": "2021-01-06T08:10:41Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755151308", + "summary": "The proposing maintainer explains the server is a thin message forwarder that other clients, including zwavejs2mqtt, can share.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755186886", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2021-01-06T09:26:54Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755186886", + "summary": "A user supports the direction and asks where polling of legacy devices will live.", + "actorId": 2159693, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755187789", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T09:28:44Z", + "editedAt": "2021-01-06T09:30:17Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755187789", + "summary": "The proposing maintainer says polling is not yet in Z-Wave JS but would live in its device definitions.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755251140", + "kind": "comment", + "actor": "xAPPO", + "createdAt": "2021-01-06T11:39:41Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755251140", + "summary": "The earlier user clarifies they meant sharing devices across different automation products and asks if zwavejs2mqtt could be optional.", + "actorId": 875211, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755259268", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T11:59:33Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755259268", + "summary": "The proposing maintainer repeats that both can run side by side against the same server.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755259309", + "kind": "comment", + "actor": "varet80", + "createdAt": "2021-01-06T11:59:40Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755259309", + "summary": "A user with a clustered MQTT setup lists the benefits and drawbacks of keeping an MQTT layer.", + "actorId": 4048920, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755259918", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T12:01:14Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755259918", + "summary": "The proposing maintainer adds that users may route devices through zwavejs2mqtt if they prefer.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755305579", + "kind": "comment", + "actor": "johntdyer", + "createdAt": "2021-01-06T13:42:57Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755305579", + "summary": "A user thanks the maintainer with a reaction GIF.", + "actorId": 58234, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755342004", + "kind": "comment", + "actor": "nappyjim", + "createdAt": "2021-01-06T14:48:55Z", + "editedAt": "2021-01-06T15:07:26Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755342004", + "summary": "A user asks about multicast support and welcomes firmware updates.", + "actorId": 71914301, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755346434", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-06T14:56:27Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755346434", + "summary": "A maintainer says Z-Wave JS has some multicast support, but parity with existing integrations comes first.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755459151", + "kind": "comment", + "actor": "jarrettv", + "createdAt": "2021-01-06T17:56:38Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755459151", + "summary": "A user asks whether the server API could be defined in proto files with generated code, as ESPHome does.", + "actorId": 219295, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755470516", + "kind": "comment", + "actor": "kevinkahn", + "createdAt": "2021-01-06T18:18:08Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755470516", + "summary": "A user asks again whether the driver can run on a separate machine, since controller placement matters.", + "actorId": 16024970, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755471966", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T18:20:53Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755471966", + "summary": "The proposing maintainer says yes in principle, though basic features come first.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755480186", + "kind": "comment", + "actor": "kevinkahn", + "createdAt": "2021-01-06T18:27:30Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755480186", + "summary": "The user thanks him and suggests rethinking the missing device notion so central scene button events become first-class, easily matched events.", + "actorId": 16024970, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755482883", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T18:29:48Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755482883", + "summary": "The proposing maintainer says device automations for those events are already planned, after the basics.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755496220", + "kind": "comment", + "actor": "kevinkahn", + "createdAt": "2021-01-06T18:39:54Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755496220", + "summary": "The user thanks him and offers to test.", + "actorId": 16024970, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755564869", + "kind": "comment", + "actor": "ve6rah", + "createdAt": "2021-01-06T19:31:27Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755564869", + "summary": "A user strongly supports the change for its upstream fixability, but hopes the three parallel integrations are consolidated later.", + "actorId": 16531454, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755727291", + "kind": "comment", + "actor": "datascope11", + "createdAt": "2021-01-06T21:32:04Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755727291", + "summary": "A user running the OZW beta agrees on consolidation only after an easy migration path exists.", + "actorId": 67964685, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755755168", + "kind": "comment", + "actor": "PARitter", + "createdAt": "2021-01-06T22:26:13Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755755168", + "summary": "A user endorses generating the API from proto files.", + "actorId": 26285134, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755758422", + "kind": "comment", + "actor": "Neraud", + "createdAt": "2021-01-06T22:33:38Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755758422", + "summary": "A DevOps user questions whether dropping MQTT is worth it, since a separate server is still needed, and backs the security requirements.", + "actorId": 7656934, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755761290", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T22:41:25Z", + "editedAt": "2021-01-06T22:42:23Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755761290", + "summary": "The proposing maintainer says the Node server is not exposed to the network by default and can also be hosted by zwavejs2mqtt.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755780906", + "kind": "comment", + "actor": "incompetentJS", + "createdAt": "2021-01-06T23:40:25Z", + "editedAt": "2021-01-06T23:43:09Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755780906", + "summary": "A comment GitHub marks as hidden (abusive).", + "actorId": 77081279, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755782097", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2021-01-06T23:44:13Z", + "editedAt": "2021-01-06T23:46:12Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755782097", + "summary": "A comment GitHub marks as hidden (resolved), replying to the abusive post.", + "actorId": 6389780, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:755782668", + "kind": "comment", + "actor": "bachya", + "createdAt": "2021-01-06T23:46:02Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-755782668", + "summary": "A contributor moderates, warning the abusive poster and asking others not to engage.", + "actorId": 47216, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756009932", + "kind": "comment", + "actor": "Twanislas", + "createdAt": "2021-01-07T09:51:49Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756009932", + "summary": "A user prefers a Zigbee2MQTT-style MQTT discovery setup for consistency.", + "actorId": 524706, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756112701", + "kind": "comment", + "actor": "jcam", + "createdAt": "2021-01-07T13:21:36Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756112701", + "summary": "A user points them to zwavejs2mqtt as an unofficial route.", + "actorId": 98744, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756374138", + "kind": "comment", + "actor": "MwC-Trexx", + "createdAt": "2021-01-07T20:46:19Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756374138", + "summary": "A user asks whether already-included devices can be adopted without re-inclusion.", + "actorId": 7128246, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756386552", + "kind": "comment", + "actor": "FreelancerJay", + "createdAt": "2021-01-07T21:10:54Z", + "editedAt": "2021-01-07T21:13:07Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756386552", + "summary": "A user explains inclusion lives on the controller, so only the network key must be copied, though names and areas would need redoing.", + "actorId": 67540736, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756945000", + "kind": "comment", + "actor": "mikedahlgren", + "createdAt": "2021-01-08T19:13:41Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756945000", + "summary": "A user adds that file-based device configs make adding devices easier, after an OZW patch went nowhere.", + "actorId": 11819905, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:756961329", + "kind": "comment", + "actor": "MwC-Trexx", + "createdAt": "2021-01-08T19:52:03Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-756961329", + "summary": "The user agrees and cites OZW startup slowness and instability.", + "actorId": 7128246, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:757333736", + "kind": "comment", + "actor": "LittlePapaJohn", + "createdAt": "2021-01-09T16:48:54Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-757333736", + "summary": "A user supports the change and hopes it will not take another year.", + "actorId": 24481793, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:757500665", + "kind": "comment", + "actor": "steve28", + "createdAt": "2021-01-10T16:10:09Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-757500665", + "summary": "A user dislikes the reset but welcomes an actively maintained stack.", + "actorId": 5874433, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:757501139", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-10T16:13:20Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-757501139", + "summary": "A maintainer reports good early progress and hopes for some support in release 2021.2.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:757502302", + "kind": "comment", + "actor": "steve28", + "createdAt": "2021-01-10T16:20:56Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-757502302", + "summary": "A user hopes the third attempt succeeds.", + "actorId": 5874433, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:757999742", + "kind": "comment", + "actor": "Colorado4Wheeler", + "createdAt": "2021-01-11T14:50:10Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-757999742", + "summary": "A user asks why entity and device names cannot be migrated.", + "actorId": 20329385, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:758009577", + "kind": "comment", + "actor": "balloob", + "createdAt": "2021-01-11T15:05:59Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-758009577", + "summary": "The project lead closes the issue because the first Z-Wave JS integration PR has merged.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:process:closed:2021-01-11T15:05:59Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2021-01-11T15:05:59Z", + "url": "https://github.com/home-assistant/architecture/issues/483", + "summary": "The project lead closes the issue.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:758653209", + "kind": "comment", + "actor": "Hedda", + "createdAt": "2021-01-12T13:25:45Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-758653209", + "summary": "A user asks the integration's name and beta status.", + "actorId": 6320001, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:758654803", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-12T13:28:46Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-758654803", + "summary": "A maintainer says it is in nightly builds, named Z-Wave JS, and targeted at 2021.2.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:768001919", + "kind": "comment", + "actor": "GrizzlyAK", + "createdAt": "2021-01-27T03:46:03Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-768001919", + "summary": "A user asks for a migration path that preserves names.", + "actorId": 4411963, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:768041899", + "kind": "comment", + "actor": "FreelancerJay", + "createdAt": "2021-01-27T05:30:45Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-768041899", + "summary": "A user relays that developers hope to provide migration but cannot yet promise it.", + "actorId": 67540736, + "actorType": "human", + "parentId": "architecture-483:issue:483" + }, + { + "id": "architecture-483:comment:768282643", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2021-01-27T13:24:08Z", + "url": "https://github.com/home-assistant/architecture/issues/483#issuecomment-768282643", + "summary": "A maintainer links an issue planning the migration path.", + "actorId": 7545841, + "actorType": "human", + "parentId": "architecture-483:issue:483" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/homeassistant-addons-to-apps.json b/evals/datasets/decisions-v1/cases/homeassistant-addons-to-apps.json new file mode 100644 index 000000000..8e8495fb0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/homeassistant-addons-to-apps.json @@ -0,0 +1,1015 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "homeassistant-addons-to-apps", + "title": "Rename Add-ons to Apps", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/1287", + "retrievedAt": "2026-10-18T07:18:59.823484+00:00", + "repository": "home-assistant/architecture", + "number": 1287, + "nodeId": "D_kwDOByplq84AiM68" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-09-30T10:45:00Z" + }, + { + "id": "c2", + "at": "2025-10-04T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-01-15T18:00:00Z" + }, + { + "id": "c4", + "at": "2026-01-15T19:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AiM68", + "kind": "opening", + "actor": "frenck", + "createdAt": "2025-09-30T10:34:21Z", + "editedAt": "2025-11-01T12:32:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287", + "summary": "A maintainer proposes renaming user-facing 'Add-ons' to 'Apps' in the UI and docs, since users confuse them with integrations; APIs stay unchanged, and alternatives such as keeping the name, Services, Packages or Modules are weighed and rejected. A later edit switches the proposal from 'Applications' to 'Apps' based on feedback.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84A3gpG", + "kind": "comment", + "actor": "farmio", + "createdAt": "2025-09-30T10:53:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14551622", + "summary": "A maintainer suggests 'Containers' as technically accurate and searchable.", + "actorId": "MDQ6VXNlcjEyNDIyODc5", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3gpx", + "kind": "reply", + "actor": "erwindouna", + "createdAt": "2025-09-30T10:57:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14551665", + "summary": "Another maintainer replies that containers describe the runtime, while users experience an application.", + "actorId": "MDQ6VXNlcjUwMTEyMDM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3gpG" + }, + { + "id": "DC_kwDOByplq84A3gqn", + "kind": "comment", + "actor": "CoMPaTech", + "createdAt": "2025-09-30T11:02:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14551719", + "summary": "A maintainer critiques the explainer wording, calls Containers not yet user-friendly, mentions Utilities, and asks for a defined alias or redirect period.", + "actorId": "MDQ6VXNlcjU3NTEwODg=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3gtC", + "kind": "comment", + "actor": "Horstexplorer", + "createdAt": "2025-09-30T11:22:43Z", + "editedAt": "2025-09-30T11:26:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14551874", + "summary": "A user supports renaming but worries a generic 'Applications' hides that these are curated images, which could misdirect support requests.", + "actorId": "MDQ6VXNlcjIxMzIwODU5", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3g9C", + "kind": "comment", + "actor": "SirGoodenough", + "createdAt": "2025-09-30T13:11:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14552898", + "summary": "A user calls it change for its own sake and says applications suggest phone software.", + "actorId": "MDQ6VXNlcjQ3MzQ5NTMz", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3hLD", + "kind": "comment", + "actor": "balloob", + "createdAt": "2025-09-30T14:36:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14553795", + "summary": "The project founder supports the proposal as simplifying terminology.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3hLM", + "kind": "reply", + "actor": "balloob", + "createdAt": "2025-09-30T14:37:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14553804", + "summary": "The founder replies that borrowing the phone mental model is exactly the intent.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3g9C" + }, + { + "id": "DC_kwDOByplq84A3hSo", + "kind": "comment", + "actor": "cogneato", + "createdAt": "2025-09-30T15:16:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14554280", + "summary": "A user strongly supports dropping an HA-specific term that means nothing to newcomers.", + "actorId": "MDQ6VXNlcjI0NTY4MTA=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3hWn", + "kind": "reply", + "actor": "cogneato", + "createdAt": "2025-09-30T15:43:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14554535", + "summary": "The same user tells the sceptic their phone association is the right mental model.", + "actorId": "MDQ6VXNlcjI0NTY4MTA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3g9C" + }, + { + "id": "DC_kwDOByplq84A3hZl", + "kind": "comment", + "actor": "jorgwolski", + "createdAt": "2025-09-30T16:01:57Z", + "editedAt": "2025-09-30T16:02:16Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14554725", + "summary": "A user supports it but asks for new action names with old ones kept as aliases.", + "actorId": "MDQ6VXNlcjYyMDYyODcx", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3hyV", + "kind": "comment", + "actor": "SirGoodenough", + "createdAt": "2025-09-30T19:38:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14556309", + "summary": "The sceptical user suggests 'widget' instead.", + "actorId": "MDQ6VXNlcjQ3MzQ5NTMz", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3h2e", + "kind": "comment", + "actor": "parautenbach", + "createdAt": "2025-09-30T20:25:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14556574", + "summary": "A user supports it and also suggests making even official add-ons externally sourced, with the store off by default.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3jCC", + "kind": "comment", + "actor": "marcelveldt", + "createdAt": "2025-10-01T09:44:22Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14561410", + "summary": "A maintainer prefers 'Apps' over the more technical 'Applications'.", + "actorId": "MDQ6VXNlcjYzODk3ODA=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3oBI", + "kind": "comment", + "actor": "thecode", + "createdAt": "2025-10-03T08:37:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14581832", + "summary": "A maintainer supports the change and also prefers 'Apps'.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3oDU", + "kind": "comment", + "actor": "joostlek", + "createdAt": "2025-10-03T08:52:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14581972", + "summary": "A maintainer worries docs saying 'update the app' could be mistaken for the mobile app.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3oz1", + "kind": "reply", + "actor": "frenck", + "createdAt": "2025-10-03T14:32:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14585077", + "summary": "The proposer says the external-store idea is out of scope.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3h2e" + }, + { + "id": "DC_kwDOByplq84A3o0M", + "kind": "reply", + "actor": "frenck", + "createdAt": "2025-10-03T14:35:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14585100", + "summary": "The proposer shares the mobile-app concern, says no better name has surfaced in about 18 months, and invites concrete alternatives.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3oDU" + }, + { + "id": "DC_kwDOByplq84A3pFg", + "kind": "reply", + "actor": "cvroque", + "createdAt": "2025-10-03T16:38:51Z", + "editedAt": "2025-10-03T16:54:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586208", + "summary": "A user says that is a better problem than the current one and docs can be precise.", + "actorId": "MDQ6VXNlcjY1NjgwMzk0", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3oDU" + }, + { + "id": "DC_kwDOByplq84A3pHF", + "kind": "reply", + "actor": "frenck", + "createdAt": "2025-10-03T16:51:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586309", + "summary": "The proposer says he considered 'Apps', has no strong preference, and expects people to say apps anyway.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3jCC" + }, + { + "id": "DC_kwDOByplq84A3pJm", + "kind": "comment", + "actor": "CoMPaTech", + "createdAt": "2025-10-03T17:10:59Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586470", + "summary": "A maintainer lists alternatives with drawbacks (Utilities, Services, Containers, Widgets, Packages, Components, Plug-ins) and still leans to Applications.", + "actorId": "MDQ6VXNlcjU3NTEwODg=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3pJ5", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2025-10-03T17:13:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586489", + "summary": "A maintainer suggests consistently saying 'mobile app' or 'Home Assistant App' in docs to avoid ambiguity.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3oDU" + }, + { + "id": "DC_kwDOByplq84A3pKg", + "kind": "reply", + "actor": "thecode", + "createdAt": "2025-10-03T17:18:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586528", + "summary": "A maintainer says the OPNsense comparison does not fit and cites Unraid and TrueNAS.", + "actorId": "MDQ6VXNlcjE4NTg5MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3pJm" + }, + { + "id": "DC_kwDOByplq84A3pMN", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-10-03T17:30:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586637", + "summary": "A user prefers 'Apps' for the app-store feel.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3pJm" + }, + { + "id": "DC_kwDOByplq84A3pMl", + "kind": "reply", + "actor": "CoMPaTech", + "createdAt": "2025-10-03T17:34:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14586661", + "summary": "A maintainer agrees the example was meant to show complexity.", + "actorId": "MDQ6VXNlcjU3NTEwODg=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3pJm" + }, + { + "id": "DC_kwDOByplq84A3pmM", + "kind": "reply", + "actor": "Eskander", + "createdAt": "2025-10-03T22:05:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14588300", + "summary": "A user notes apps exist on TVs and other devices, not just phones.", + "actorId": "MDQ6VXNlcjExNTIxNDAw", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3jCC" + }, + { + "id": "DC_kwDOByplq84A3qBc", + "kind": "comment", + "actor": "Hedda", + "createdAt": "2025-10-04T08:08:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14590044", + "summary": "A user asks to align naming with Music Assistant, HACS and others, citing Kodi's confusing terms.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A3qCy", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-10-04T08:31:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14590130", + "summary": "A user notes the thread mostly debates whether to rename, and asks for justification of Applications over the more common Apps.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3pJm" + }, + { + "id": "DC_kwDOByplq84A3qF8", + "kind": "reply", + "actor": "frenck", + "createdAt": "2025-10-04T09:19:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14590332", + "summary": "The proposer asks to keep cross-project naming out of scope.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3qBc" + }, + { + "id": "DC_kwDOByplq84A3qqL", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-10-04T17:38:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14592651", + "summary": "A user argues companion-app confusion would be minor because context makes it clear.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3oDU" + }, + { + "id": "DC_kwDOByplq84A3t2Z", + "kind": "comment", + "actor": "TimoPtr", + "createdAt": "2025-10-06T14:27:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14605721", + "summary": "A maintainer suggests 'hosted apps' or 'embedded apps' to avoid clashing with the Companion apps.", + "actorId": "MDQ6VXNlcjY1NjA2MzE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4oyn", + "kind": "reply", + "actor": "patrickcoombe", + "createdAt": "2025-11-01T17:42:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14847143", + "summary": "A user suggests 'Official apps'.", + "actorId": "MDQ6VXNlcjU1MjQ2NDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3t2Z" + }, + { + "id": "DC_kwDOByplq84A4o29", + "kind": "comment", + "actor": "borpin", + "createdAt": "2025-11-01T18:37:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14847421", + "summary": "A user argues the real newcomer problem is the Devices & Services menu, and Apps could make it worse.", + "actorId": "MDQ6VXNlcjEzMjI3NDk=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4o5m", + "kind": "reply", + "actor": "backslash-enn", + "createdAt": "2025-11-01T19:22:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14847590", + "summary": "A user disagrees, saying Apps would have helped them, using a phone and headphones analogy.", + "actorId": "MDQ6VXNlcjE4MTc1MTc2", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4o29" + }, + { + "id": "DC_kwDOByplq84A4o9_", + "kind": "reply", + "actor": "CFenner", + "createdAt": "2025-11-01T20:25:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14847871", + "summary": "A user suggests nesting Applications under System.", + "actorId": "MDQ6VXNlcjk1OTI0NTI=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4o29" + }, + { + "id": "DC_kwDOByplq84A4o_1", + "kind": "comment", + "actor": "VibroAxe", + "createdAt": "2025-11-01T20:49:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14847989", + "summary": "A user supports it, recalling confusion over needing both an add-on and an integration.", + "actorId": "MDQ6VXNlcjEwNjkyMTI=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pDo", + "kind": "comment", + "actor": "rschuiling", + "createdAt": "2025-11-01T22:02:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14848232", + "summary": "A user asks how new users would tell Apps from HACS.", + "actorId": "MDQ6VXNlcjI3NzY2Njc1", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pEM", + "kind": "comment", + "actor": "slungs", + "createdAt": "2025-11-01T22:15:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14848268", + "summary": "A user suggests 'services'.", + "actorId": "MDQ6VXNlcjU4NjQwMzQ3", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pFx", + "kind": "comment", + "actor": "bcutter", + "createdAt": "2025-11-01T22:50:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14848369", + "summary": "A user is indifferent but prefers apps among the options, and asks whether 'integrations' and HACS naming are the bigger problem.", + "actorId": "MDQ6VXNlcjEzNzk5MTU2", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pK7", + "kind": "comment", + "actor": "nielsnl68", + "createdAt": "2025-11-02T00:58:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14848699", + "summary": "A user supports Apps but notes some add-ons only enable an integration.", + "actorId": "MDQ6VXNlcjQ3MzkxNTE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pPc", + "kind": "reply", + "actor": "wildekek", + "createdAt": "2025-11-02T03:05:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14848988", + "summary": "A user says HACS should be folded into HA's own sections.", + "actorId": "MDQ6VXNlcjIzMzI2NDc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pDo" + }, + { + "id": "DC_kwDOByplq84A4pgT", + "kind": "reply", + "actor": "Hedda", + "createdAt": "2025-11-02T10:27:37Z", + "editedAt": "2025-11-02T10:29:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850067", + "summary": "A user clarifies HACS provides integrations, not add-ons.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pDo" + }, + { + "id": "DC_kwDOByplq84A4pg6", + "kind": "comment", + "actor": "ceejii", + "createdAt": "2025-11-02T10:37:04Z", + "editedAt": "2025-11-03T07:07:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850106", + "summary": "A user finds Apps confusing with the mobile app and Apple's App Store, and proposes 'Side Application'.", + "actorId": "MDQ6VXNlcjk0Mzk1Nw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pjp", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-11-02T11:26:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850281", + "summary": "A user explains they view add-ons as always standalone.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pK7" + }, + { + "id": "DC_kwDOByplq84A4pmH", + "kind": "comment", + "actor": "parautenbach", + "createdAt": "2025-11-02T12:05:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850439", + "summary": "A user who supported the change now proposes 'Add-on Apps' to keep continuity while signalling installable applications.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4pmL", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-11-02T12:07:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850443", + "summary": "The same user agrees to park the external-store idea.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A3h2e" + }, + { + "id": "DC_kwDOByplq84A4pm_", + "kind": "reply", + "actor": "bcutter", + "createdAt": "2025-11-02T12:19:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850495", + "summary": "A user says new users would still look for apps in a store like HACS.", + "actorId": "MDQ6VXNlcjEzNzk5MTU2", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pDo" + }, + { + "id": "DC_kwDOByplq84A4pnI", + "kind": "comment", + "actor": "andyching168", + "createdAt": "2025-11-02T12:21:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14850504", + "summary": "A user prefers Containers but accepts Apps if the UI explains Core is itself an app.", + "actorId": "MDQ6VXNlcjUzNjUxMTk4", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4p5m", + "kind": "comment", + "actor": "No-DNS", + "createdAt": "2025-11-02T16:15:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14851686", + "summary": "A user says Apps would be clear to beginners.", + "actorId": "MDQ6VXNlcjYyOTU4MDgz", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4qD9", + "kind": "comment", + "actor": "Xerlith", + "createdAt": "2025-11-02T18:34:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852349", + "summary": "A user suggests 'Extensions'.", + "actorId": "MDQ6VXNlcjEwNjMxMjQ4", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4qE2", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-11-02T18:48:28Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852406", + "summary": "A user rejects Extensions because add-ons are standalone.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4qD9" + }, + { + "id": "DC_kwDOByplq84A4qGh", + "kind": "comment", + "actor": "AD8-sven", + "createdAt": "2025-11-02T19:17:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852513", + "summary": "A user suggests 'module' and argues Apps could be confused with the Companion App.", + "actorId": "U_kgDOBewO_g", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4qGr", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-11-02T19:20:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852523", + "summary": "A user replies that integrations are what extend the core.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4qGh" + }, + { + "id": "DC_kwDOByplq84A4qJO", + "kind": "reply", + "actor": "AD8-sven", + "createdAt": "2025-11-02T19:54:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852686", + "summary": "The module proponent says that is how it felt as a beginner.", + "actorId": "U_kgDOBewO_g", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4qGh" + }, + { + "id": "DC_kwDOByplq84A4qJS", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-11-02T19:55:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14852690", + "summary": "A user finds 'Add-on Apps' redundant but worth considering.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pmH" + }, + { + "id": "DC_kwDOByplq84A4qUV", + "kind": "reply", + "actor": "Xerlith", + "createdAt": "2025-11-02T23:12:26Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14853397", + "summary": "A user says any rename should have come a decade ago and will now confuse readers of older guides.", + "actorId": "MDQ6VXNlcjEwNjMxMjQ4", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4qD9" + }, + { + "id": "DC_kwDOByplq84A4qai", + "kind": "comment", + "actor": "BenPhilippi", + "createdAt": "2025-11-03T01:20:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14853794", + "summary": "A user suggests keeping the name and adding a dismissible in-UI explanation.", + "actorId": "MDQ6VXNlcjQ3MjI5Mzgy", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4qly", + "kind": "reply", + "actor": "farmio", + "createdAt": "2025-11-03T05:23:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14854514", + "summary": "A maintainer replies the confusion also arises in docs and forums, and Container installs lack the menu entirely.", + "actorId": "MDQ6VXNlcjEyNDIyODc5", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4qai" + }, + { + "id": "DC_kwDOByplq84A4qoL", + "kind": "reply", + "actor": "ceejii", + "createdAt": "2025-11-03T06:04:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14854667", + "summary": "A user asks whether the claim that Apps is clear rests on research.", + "actorId": "MDQ6VXNlcjk0Mzk1Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4p5m" + }, + { + "id": "DC_kwDOByplq84A4qoz", + "kind": "reply", + "actor": "ceejii", + "createdAt": "2025-11-03T06:14:17Z", + "editedAt": "2025-11-03T06:15:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14854707", + "summary": "A user suggests renaming HACS to something like Community Store.", + "actorId": "MDQ6VXNlcjk0Mzk1Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4pDo" + }, + { + "id": "DC_kwDOByplq84A4qtx", + "kind": "comment", + "actor": "ceejii", + "createdAt": "2025-11-03T07:10:04Z", + "editedAt": "2025-11-03T07:17:37Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14855025", + "summary": "A user argues many add-ons are servers, so Applications fits better than Apps, and says consistent UI explanations matter more than the name.", + "actorId": "MDQ6VXNlcjk0Mzk1Nw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4q41", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2025-11-03T08:47:36Z", + "editedAt": "2025-11-03T08:48:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14855733", + "summary": "A user doubts a rename fixes a perception problem, notes app evokes phones, and backs 'Add-on Apps'.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4sCl", + "kind": "reply", + "actor": "joneshf", + "createdAt": "2025-11-03T16:21:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14860453", + "summary": "A user says the real issue is having two concepts at all; renaming just shifts the confusion.", + "actorId": "MDQ6VXNlcjEzNTY0MTc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4o_1" + }, + { + "id": "DC_kwDOByplq84A4sax", + "kind": "comment", + "actor": "rschuiling", + "createdAt": "2025-11-03T19:15:08Z", + "editedAt": "2025-11-03T19:17:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14862001", + "summary": "A user proposes a unified extensions overview page explaining HACS and the add-on store instead of renaming.", + "actorId": "MDQ6VXNlcjI3NzY2Njc1", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4svs", + "kind": "comment", + "actor": "AllardKatan", + "createdAt": "2025-11-03T22:15:52Z", + "editedAt": "2025-11-03T22:22:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14863340", + "summary": "A user says renaming alone changes nothing, urges hiding the distinction from newcomers, and asks for research with non-users rather than reactions from enthusiasts.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4s3z", + "kind": "reply", + "actor": "ceejii", + "createdAt": "2025-11-03T23:47:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14863859", + "summary": "A user asks why integrations and add-ons cannot share one view.", + "actorId": "MDQ6VXNlcjk0Mzk1Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4svs" + }, + { + "id": "DC_kwDOByplq84A4tW3", + "kind": "comment", + "actor": "mll0", + "createdAt": "2025-11-04T06:39:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14865847", + "summary": "A newcomer finds the rename a good step but warns about change fatigue and stale AI advice.", + "actorId": "MDQ6VXNlcjEwNDA1MzU=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4tfn", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-11-04T08:03:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14866407", + "summary": "A user links the proposer's community forum post on the rename.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4svs" + }, + { + "id": "DC_kwDOByplq84A4tkh", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2025-11-04T08:36:53Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14866721", + "summary": "A user grows less happy with App because add-ons are not used directly without an integration.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4trW", + "kind": "comment", + "actor": "Hedda", + "createdAt": "2025-11-04T09:13:41Z", + "editedAt": "2025-11-08T13:40:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14867158", + "summary": "A user proposes 'Backend Apps' within a wider naming scheme of companion, backend and client apps.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4xkW", + "kind": "comment", + "actor": "Mariusthvdb", + "createdAt": "2025-11-05T16:42:09Z", + "editedAt": "2025-11-05T16:44:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14883094", + "summary": "A user notes the existing translated card already explains add-ons, lowering the priority.", + "actorId": "MDQ6VXNlcjMzMzU0MTQx", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4yB-", + "kind": "comment", + "actor": "borpin", + "createdAt": "2025-11-05T21:00:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14884990", + "summary": "A user again argues for moving Devices & Services to the top-level menu.", + "actorId": "MDQ6VXNlcjEzMjI3NDk=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A4zPR", + "kind": "reply", + "actor": "Tonm58", + "createdAt": "2025-11-06T09:52:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14889937", + "summary": "A user agrees renaming will not help newcomers who do not care about the distinction.", + "actorId": "U_kgDOB1rE7Q", + "actorType": "human", + "parentId": "DC_kwDOByplq84A4svs" + }, + { + "id": "DC_kwDOByplq84A43Jr", + "kind": "comment", + "actor": "jamesbiederbeck", + "createdAt": "2025-11-07T19:13:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14905963", + "summary": "A user proposes 'modules' for accuracy and to avoid mobile-app confusion.", + "actorId": "MDQ6VXNlcjY0MzAzNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A43Yv", + "kind": "reply", + "actor": "backslash-enn", + "createdAt": "2025-11-07T21:11:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14906927", + "summary": "A user says modules and integrations sound synonymous, and warms to 'server apps'.", + "actorId": "MDQ6VXNlcjE4MTc1MTc2", + "actorType": "human", + "parentId": "DC_kwDOByplq84A43Jr" + }, + { + "id": "DC_kwDOByplq84A44Fv", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2025-11-08T11:12:12Z", + "editedAt": "2025-11-08T11:12:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14909807", + "summary": "A user argues modules imply composition while add-ons are standalone.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A43Jr" + }, + { + "id": "DC_kwDOByplq84A44K6", + "kind": "reply", + "actor": "Hedda", + "createdAt": "2025-11-08T12:45:22Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14910138", + "summary": "A user agrees integrations are the modules, not add-ons.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A43Jr" + }, + { + "id": "DC_kwDOByplq84A44OH", + "kind": "comment", + "actor": "Hedda", + "createdAt": "2025-11-08T13:30:29Z", + "editedAt": "2025-11-08T13:44:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14910343", + "summary": "A user favours 'Hosted Apps' as accurate and distinct from Companion Apps, with an explainer during transition.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A44PM", + "kind": "reply", + "actor": "AJediIAm", + "createdAt": "2025-11-08T13:49:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-14910412", + "summary": "A user likes using hosted or managed apps in docs even if the UI says Apps.", + "actorId": "MDQ6VXNlcjU4Nzk1MzM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A44OH" + }, + { + "id": "DC_kwDOByplq84A6HEv", + "kind": "comment", + "actor": "hovant", + "createdAt": "2025-12-11T17:46:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15233327", + "summary": "A user asks not to rename unless both add-ons and integrations get self-explanatory names, citing lost searchability of existing content.", + "actorId": "U_kgDOBbQlEw", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A6UtW", + "kind": "comment", + "actor": "ShadowFistOkami", + "createdAt": "2025-12-18T12:36:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15289174", + "summary": "A user proposes keeping Add-ons and showing a one-time explanatory popup in the store instead.", + "actorId": "MDQ6VXNlcjYwNTcwODk5", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A6Uu4", + "kind": "comment", + "actor": "Gamester17", + "createdAt": "2025-12-18T12:53:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15289272", + "summary": "A user cites Homey calling everything apps as an example of confusion.", + "actorId": "MDQ6VXNlcjI4NDI4NDI3", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A7KnD", + "kind": "comment", + "actor": "frenck", + "createdAt": "2026-01-15T18:12:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15509955", + "summary": "The proposer decides to proceed with renaming add-ons to apps, addressing Companion App confusion, rejecting 'Add-on Apps' as likely to split into two terms, and promising redirects for docs and search.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "D_kwDOByplq84AiM68:process:answered:2026-01-15T18:12:07Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2026-01-15T18:12:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287", + "summary": "The proposer marks the decision comment as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84AiM68" + }, + { + "id": "DC_kwDOByplq84A7yRJ", + "kind": "reply", + "actor": "benedikt-bartscher", + "createdAt": "2026-02-02T12:40:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15672393", + "summary": "A user calls the rename valueless and complains other requests get no attention.", + "actorId": "MDQ6VXNlcjMxODU0NDA5", + "actorType": "human", + "parentId": "DC_kwDOByplq84A7KnD" + }, + { + "id": "DC_kwDOByplq84A8Z9W", + "kind": "reply", + "actor": "jasonmx", + "createdAt": "2026-02-17T12:02:47Z", + "editedAt": "2026-02-17T12:04:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15834966", + "summary": "A user asks for the newcomer data behind the decision.", + "actorId": "MDQ6VXNlcjczNTQzMDY=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A7KnD" + }, + { + "id": "DC_kwDOByplq84A8Z_V", + "kind": "reply", + "actor": "Hedda", + "createdAt": "2026-02-17T12:14:40Z", + "editedAt": "2026-02-17T12:16:33Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287#discussioncomment-15835093", + "summary": "A user replies the debate is over, linking the release that shipped the rename.", + "actorId": "MDQ6VXNlcjYzMjAwMDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A7KnD" + }, + { + "id": "D_kwDOByplq84AiM68:process:closed:2026-03-10T13:51:52Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-03-10T13:51:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/1287", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOByplq84AiM68" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/homeassistant-floors-vs-nested-areas.json b/evals/datasets/decisions-v1/cases/homeassistant-floors-vs-nested-areas.json new file mode 100644 index 000000000..36df28942 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/homeassistant-floors-vs-nested-areas.json @@ -0,0 +1,1229 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "homeassistant-floors-vs-nested-areas", + "title": "Floors versus nested areas", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/1021", + "retrievedAt": "2026-10-18T07:19:02.025609+00:00", + "repository": "home-assistant/architecture", + "number": 1021, + "nodeId": "D_kwDOByplq84AWwXn" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-01-21T00:00:00Z" + }, + { + "id": "c2", + "at": "2024-01-26T12:00:00Z" + }, + { + "id": "c3", + "at": "2024-02-22T11:00:00Z" + }, + { + "id": "c4", + "at": "2024-02-22T12:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AWwXn", + "kind": "opening", + "actor": "balloob", + "createdAt": "2023-12-15T21:15:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021", + "summary": "The founder proposes a Floor Registry: named floors that areas can reference, rejecting nested areas as messy since devices belong to areas; motivations include per-floor targeting, voice and dashboards.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84AeA85", + "kind": "comment", + "actor": "cgarwood", + "createdAt": "2023-12-15T21:54:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-7868217", + "summary": "A maintainer says nested areas were his first thought and asks what area capabilities would be unwanted on a floor.", + "actorId": "MDQ6VXNlcjc1NDU4NDE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AeDjt", + "kind": "comment", + "actor": "tetele", + "createdAt": "2023-12-17T19:36:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-7878893", + "summary": "A user notes outdoor areas have no floor and argues nested areas fit better, for example a yard voice satellite covering front and back.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AeDw_", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2023-12-17T21:52:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-7879743", + "summary": "A user agrees, citing Alexa's recursive groups while devices keep a single area.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AeyPj", + "kind": "reply", + "actor": "iridris", + "createdAt": "2024-01-09T17:50:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8070115", + "summary": "A user likes nesting for grouping bedrooms across floors, or alternatively extending groups to cover areas.", + "actorId": "MDQ6VXNlcjk1MjM4Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AfQQl", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-20T19:51:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8193061", + "summary": "The founder replies that devices always sit in an area, never a floor, and merging the types would force type checks everywhere.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AfQT6", + "kind": "reply", + "actor": "tetele", + "createdAt": "2024-01-20T20:20:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8193274", + "summary": "The user counters that a direct flag could handle targeting, and many devices have no area.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AfQZN", + "kind": "comment", + "actor": "steverep", + "createdAt": "2024-01-20T21:09:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8193613", + "summary": "A maintainer agrees nesting is most desirable but would accept one level, and strongly objects to the term 'floors' as excluding many home types; links community requests for nested areas.", + "actorId": "MDQ6VXNlcjY4MzUyNDE=", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfQpv", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-21T01:28:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8194671", + "summary": "The founder suggests a ground floor could hold a front yard via a new outside flag on areas.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeDjt" + }, + { + "id": "DC_kwDOByplq84AfQp0", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-21T01:30:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8194676", + "summary": "The founder insists a floor has a specific meaning, areas at the same height, not a group of areas.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfQrW", + "kind": "reply", + "actor": "steverep", + "createdAt": "2024-01-21T01:54:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8194774", + "summary": "The maintainer asks why height matters so much, giving homes where bedrooms span levels.", + "actorId": "MDQ6VXNlcjY4MzUyNDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfROU", + "kind": "comment", + "actor": "OnFreund", + "createdAt": "2024-01-21T10:08:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8197012", + "summary": "A user asks how a per-floor thermostat works if floors cannot hold devices, and sides with nested areas.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfS1L", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-22T03:26:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8203595", + "summary": "The founder points to a separate proposal (#1017).", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfROU" + }, + { + "id": "DC_kwDOByplq84AfTBG", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-22T06:00:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8204358", + "summary": "The user says that proposal does not explain where a whole-floor AC unit would live.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfROU" + }, + { + "id": "DC_kwDOByplq84AfT6D", + "kind": "comment", + "actor": "tetele", + "createdAt": "2024-01-22T12:28:37Z", + "editedAt": "2024-01-22T12:46:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8208003", + "summary": "A user contrasts the deliberately vague 'area' with the literal 'floor', asks where junk or system areas would go, and gives three scenarios where nested areas beat floors.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfU6y", + "kind": "comment", + "actor": "tdejneka", + "createdAt": "2024-01-22T18:17:25Z", + "editedAt": "2024-01-23T02:13:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8212146", + "summary": "A user describes older software with nested locations plus an area_class attribute, enabling queries like all lights in bedrooms or under an area.", + "actorId": "MDQ6VXNlcjQ0NzMyOTA5", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfVCn", + "kind": "comment", + "actor": "AllardKatan", + "createdAt": "2024-01-22T19:12:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8212647", + "summary": "A user asks what the discussion is for and says nested areas would make floors unnecessary.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfVKD", + "kind": "reply", + "actor": "steverep", + "createdAt": "2024-01-22T20:14:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8213123", + "summary": "A maintainer asks whether the decision is already made, given open core PRs implementing floors.", + "actorId": "MDQ6VXNlcjY4MzUyNDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfXw5", + "kind": "reply", + "actor": "KNXBroker", + "createdAt": "2024-01-23T17:38:43Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8223801", + "summary": "A user likes area_class as more generic and future-proof than floors.", + "actorId": "MDQ6VXNlcjI1OTEwNzAz", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AfX9Z", + "kind": "reply", + "actor": "tdejneka", + "createdAt": "2024-01-23T19:02:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8224601", + "summary": "A user agrees and predicts floors will soon prompt requests for yet another grouping.", + "actorId": "MDQ6VXNlcjQ0NzMyOTA5", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AfbGV", + "kind": "comment", + "actor": "cvroque", + "createdAt": "2024-01-24T20:37:58Z", + "editedAt": "2024-01-24T20:39:46Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8237461", + "summary": "A user calls 'floor' a poor name and suggests 'area group'.", + "actorId": "MDQ6VXNlcjY1NjgwMzk0", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfcpS", + "kind": "reply", + "actor": "frenck", + "createdAt": "2024-01-25T11:04:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8243794", + "summary": "A maintainer says he likes the class idea but not nesting.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afcro", + "kind": "comment", + "actor": "Jc2k", + "createdAt": "2024-01-25T11:22:16Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8243944", + "summary": "A maintainer favours a rigid, well-defined model that unlocks default dashboards, but asks how non-floor spaces fit and notes he only needs limited grouping.", + "actorId": "MDQ6VXNlcjExNTQ0", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Afcw-", + "kind": "comment", + "actor": "elupus", + "createdAt": "2024-01-25T11:59:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8244286", + "summary": "A user suggests area classes with multiple memberships would cover most needs.", + "actorId": "MDQ6VXNlcjQ4Mjk3Ng==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Afc0v", + "kind": "reply", + "actor": "AllardKatan", + "createdAt": "2024-01-25T12:29:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8244527", + "summary": "A user asks the maintainer why he dislikes nesting, describing overlapping spaces in their home.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afdgi", + "kind": "comment", + "actor": "isabellaalstrom", + "createdAt": "2024-01-25T16:21:11Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8247330", + "summary": "A user is disappointed, saying floors serve only multi-storey homes when a more generic grouping would serve far more users.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfdhM", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-25T16:27:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8247372", + "summary": "The user adds it could be built almost as proposed under a broader name.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84Afdhk", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-25T16:29:24Z", + "editedAt": "2024-01-25T16:30:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8247396", + "summary": "The user asks whether the objection to nesting is technical and warms to area classes.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afdli", + "kind": "reply", + "actor": "Petro31", + "createdAt": "2024-01-25T16:51:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8247650", + "summary": "A user offers recursion as a possible reason to avoid nesting.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AfdmJ", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-25T16:54:29Z", + "editedAt": "2024-01-25T16:55:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8247689", + "summary": "The user says multi-valued area classes would solve many cases without nesting.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afd0Y", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-25T18:19:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8248600", + "summary": "A user suggests calling it 'level' so it can apply outdoors.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfbGV" + }, + { + "id": "DC_kwDOByplq84Afd01", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-25T18:22:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8248629", + "summary": "A user recommends parking the proposal until consensus forms, predicting breaking changes otherwise.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afdgi" + }, + { + "id": "DC_kwDOByplq84Afd3r", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-25T18:42:39Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8248811", + "summary": "A user notes floors and levels differ in some houses.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfbGV" + }, + { + "id": "DC_kwDOByplq84Afd37", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-25T18:44:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8248827", + "summary": "A user defends recursion via the Composite pattern.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afd4I", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-25T18:46:18Z", + "editedAt": "2024-01-25T18:46:31Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8248840", + "summary": "A user says both this and #1017 need more thought.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfbGV" + }, + { + "id": "DC_kwDOByplq84AfeAy", + "kind": "comment", + "actor": "zyberzero", + "createdAt": "2024-01-25T19:49:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8249394", + "summary": "A user finds floors too rigid for apartments and open-plan spaces, and proposes multiple annotations per area as a flexible alternative.", + "actorId": "MDQ6VXNlcjk4OTM1Mg==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AfeB-", + "kind": "reply", + "actor": "Particpant", + "createdAt": "2024-01-25T19:57:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8249470", + "summary": "A user proposes a fixed hierarchy of home, structure, floor, room and area, plus classes.", + "actorId": "U_kgDOBuioxg", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AfeEw", + "kind": "reply", + "actor": "Petro31", + "createdAt": "2024-01-25T20:18:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8249648", + "summary": "The user clarifies they only offered a possible reason for the maintainer's view.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AfeNT", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-25T21:37:24Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8250195", + "summary": "The founder says area-less devices are out of scope and a direct flag would add cognitive burden to every service call.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AfeOP", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-25T21:44:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8250255", + "summary": "The founder notes PRs draw people into discussions, says he is open-minded but values simplicity and predictability, and regrets not calling areas rooms.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfeOd", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-25T21:46:36Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8250269", + "summary": "The founder explains #1017 is about which level a device affects, while floors and areas describe physical location.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfROU" + }, + { + "id": "DC_kwDOByplq84AfeTW", + "kind": "reply", + "actor": "tetele", + "createdAt": "2024-01-25T22:18:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8250582", + "summary": "The user says the flag would only apply to target selectors.", + "actorId": "MDQ6VXNlcjkyMDA5OA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeA85" + }, + { + "id": "DC_kwDOByplq84AfeUo", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-25T22:31:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8250664", + "summary": "The founder accepts some cases stay uncovered, suggests area classes for inside versus outside, and declines to shape core architecture around edge cases.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfT6D" + }, + { + "id": "DC_kwDOByplq84AfecK", + "kind": "reply", + "actor": "shbatm", + "createdAt": "2024-01-26T00:01:17Z", + "editedAt": "2024-01-26T00:06:52Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8251146", + "summary": "A user proposes letting devices belong to multiple areas, with an optional primary area.", + "actorId": "MDQ6VXNlcjE4MDU3OTUy", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfROU" + }, + { + "id": "DC_kwDOByplq84Afewq", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-26T04:49:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8252458", + "summary": "The founder welcomes a separate proposal for area classes but opposes multiple classes per area.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcw-" + }, + { + "id": "DC_kwDOByplq84Afexw", + "kind": "reply", + "actor": "balloob", + "createdAt": "2024-01-26T05:03:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8252528", + "summary": "The founder argues the narrow term is intentional: precise abstractions let HA reason about homes for dashboards, automations and voice, which generic nested groups would prevent.", + "actorId": "MDQ6VXNlcjE0NDQzMTQ=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84Afe2D", + "kind": "reply", + "actor": "cogneato", + "createdAt": "2024-01-26T05:52:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8252803", + "summary": "A user says every home has at least one floor, so the concept applies broadly.", + "actorId": "MDQ6VXNlcjI0NTY4MTA=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afdgi" + }, + { + "id": "DC_kwDOByplq84Afe6S", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2024-01-26T06:39:33Z", + "editedAt": "2024-01-26T06:41:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253074", + "summary": "A designer says deep nesting would complicate UI and voice and recommends shipping an MVP first.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Afe6x", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-26T06:44:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253105", + "summary": "A user notes not everything is inside the house.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afdgi" + }, + { + "id": "DC_kwDOByplq84AffB3", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2024-01-26T07:43:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253559", + "summary": "A designer argues robots need to know which areas share an elevation, which is what 'floor' captures.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AffCU", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T07:47:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253588", + "summary": "A user says that describes a level, not a floor.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AffCq", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T07:50:12Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253610", + "summary": "A user still cannot see how the proposals handle a per-floor thermostat.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfROU" + }, + { + "id": "DC_kwDOByplq84AffC4", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T07:52:00Z", + "editedAt": "2024-01-26T13:12:45Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253624", + "summary": "A user says the messiness of composite structures is overstated.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84AffDS", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T07:55:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8253650", + "summary": "A user argues nesting and classes can coexist, letting each home define its own hierarchy.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84AffTZ", + "kind": "reply", + "actor": "AllardKatan", + "createdAt": "2024-01-26T09:31:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8254681", + "summary": "A user says the structure fails apartments and bungalows and suggests several named levels.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84AffUm", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2024-01-26T09:39:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8254758", + "summary": "The designer accepts 'level' but notes it clashes with other meanings in HA.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AffV1", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T09:45:10Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8254837", + "summary": "A user says device-less floors seem useless.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AffWv", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T09:51:21Z", + "editedAt": "2024-01-26T10:20:48Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8254895", + "summary": "A user explains people are upset because the proposal is close to something far more useful.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afdgi" + }, + { + "id": "DC_kwDOByplq84AffYN", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T10:00:09Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8254989", + "summary": "A user asks whether area classes belong in this discussion.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcw-" + }, + { + "id": "DC_kwDOByplq84AffcW", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T10:18:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255254", + "summary": "A user describes outdoor areas needing several overlapping classes.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcw-" + }, + { + "id": "DC_kwDOByplq84Affc1", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T10:20:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255285", + "summary": "A user argues devices must be placeable above the leaves or people will invent misc areas.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84AffeA", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T10:25:53Z", + "editedAt": "2024-01-26T10:26:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255360", + "summary": "A user notes a whole-house device has no place in a floor hierarchy.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84Affe3", + "kind": "reply", + "actor": "AllardKatan", + "createdAt": "2024-01-26T10:30:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255415", + "summary": "A user says #1017 covers impact but not devices spanning areas or areas spanning floors.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84AfffA", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T10:31:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255424", + "summary": "A user calls misc areas a hack and suggests composite exposure.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcro" + }, + { + "id": "DC_kwDOByplq84AffiL", + "kind": "comment", + "actor": "Nornode", + "createdAt": "2024-01-26T10:50:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255627", + "summary": "A user in a three-level house lists cases floors do not handle (garage, stairs, outdoor sub-groups, large open spaces) and favours tags or classes.", + "actorId": "MDQ6VXNlcjEwOTY2NzU3", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Affnz", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T11:26:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8255987", + "summary": "A user notes that non-exclusive membership would let a 'floor' act as any grouping.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcw-" + }, + { + "id": "DC_kwDOByplq84Affoh", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T11:31:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8256033", + "summary": "A user argues a many-to-many relation is unavoidable and should be designed for rather than debated as floors versus nesting.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Afcw-" + }, + { + "id": "DC_kwDOByplq84Affza", + "kind": "comment", + "actor": "frenck", + "createdAt": "2024-01-26T12:54:35Z", + "editedAt": "2024-01-26T14:42:06Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8256730", + "summary": "A maintainer writes a long personal view, marked as the answer: floors model physical location, where a device is in one place; non-physical grouping is a separate topic; the floor proposal is supported and does not preclude other mechanisms.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Affz2", + "kind": "reply", + "actor": "frenck", + "createdAt": "2024-01-26T12:57:16Z", + "editedAt": "2024-01-26T12:57:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8256758", + "summary": "The maintainer points earlier questioners to his reply.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfU6y" + }, + { + "id": "DC_kwDOByplq84Aff1z", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T13:07:32Z", + "editedAt": "2024-01-26T13:07:57Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8256883", + "summary": "A user thanks him, saying the worry was that floors would rule out other organisation.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Aff3E", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T13:17:13Z", + "editedAt": "2024-01-26T13:18:08Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8256964", + "summary": "A user explains why groups are no substitute: areas are automatically inherited, while old-style groups need manual upkeep and are discouraged.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Aff5T", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2024-01-26T13:33:50Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257107", + "summary": "A maintainer agrees but notes overlapping areas exist physically.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Aff7N", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T13:43:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257229", + "summary": "A user agrees, citing stairs and light strips spanning rooms.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgC0", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T14:18:30Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257716", + "summary": "A user argues what matters is the area a device affects, says the answer does not address requests for overlapping groupings, and fears floors will block a better solution.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgEJ", + "kind": "reply", + "actor": "frenck", + "createdAt": "2024-01-26T14:26:07Z", + "editedAt": "2024-01-26T14:31:13Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257801", + "summary": "The maintainer rejects that floors come at the expense of other options and says areas cannot overlap.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgEe", + "kind": "reply", + "actor": "isabellaalstrom", + "createdAt": "2024-01-26T14:28:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257822", + "summary": "A user clarifies the discouragement applies only to old-style groups.", + "actorId": "MDQ6VXNlcjIyMDA2Nzk3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgEf", + "kind": "reply", + "actor": "BradleyFord", + "createdAt": "2024-01-26T14:28:20Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257823", + "summary": "A user asks whether rooms within floors are themselves overlap.", + "actorId": "MDQ6VXNlcjMyMjgxNQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgFM", + "kind": "reply", + "actor": "joostlek", + "createdAt": "2024-01-26T14:32:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257868", + "summary": "A maintainer says floors do not solve the general organisation problem, nor are meant to, and favours one floor to many areas.", + "actorId": "MDQ6VXNlcjcwODM3NTU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgFN", + "kind": "reply", + "actor": "iridris", + "createdAt": "2024-01-26T14:32:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257869", + "summary": "A user thanks the maintainer and says area classification covers most of their needs.", + "actorId": "MDQ6VXNlcjk1MjM4Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgGq", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T14:40:09Z", + "editedAt": "2024-01-26T14:45:44Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257962", + "summary": "A user disputes the response point by point and summarises it as offering an unrelated fix in place of the popular request.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgHM", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T14:43:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8257996", + "summary": "A user notes many examples of areas spanning floors.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgKg", + "kind": "reply", + "actor": "Madelena", + "createdAt": "2024-01-26T14:59:42Z", + "editedAt": "2024-01-26T15:00:04Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8258208", + "summary": "A designer says the team heard the need for flexible grouping and that it is coming, while floors meet a separate physical-model need.", + "actorId": "MDQ6VXNlcjQzNDE4ODE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfgOY", + "kind": "reply", + "actor": "steverep", + "createdAt": "2024-01-26T15:22:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8258456", + "summary": "A maintainer doubts robots or lawnmowers really need elevation.", + "actorId": "MDQ6VXNlcjY4MzUyNDE=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfgSu", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-26T15:45:40Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8258734", + "summary": "A user says the energy use case differs from the stated motivation.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Afgs6", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-26T18:16:07Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8260410", + "summary": "A user posts an image in reply.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfQZN" + }, + { + "id": "DC_kwDOByplq84AfhR9", + "kind": "reply", + "actor": "Particpant", + "createdAt": "2024-01-27T00:59:42Z", + "editedAt": "2024-01-27T07:03:42Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8262781", + "summary": "A user proposes rooms that contain sub-areas, or 'spaces' for outdoors.", + "actorId": "U_kgDOBuioxg", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "D_kwDOByplq84AWwXn:process:answered:2024-01-27T04:05:29Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2024-01-27T04:05:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021", + "summary": "The founder marks the maintainer's long reply as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Afh5K", + "kind": "reply", + "actor": "tdejneka", + "createdAt": "2024-01-27T13:36:47Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8265290", + "summary": "A user argues HA should model the whole property and calls floors half-baked compared with nested locations.", + "actorId": "MDQ6VXNlcjQ0NzMyOTA5", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfiBN", + "kind": "reply", + "actor": "dmulcahey", + "createdAt": "2024-01-27T15:18:00Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8265805", + "summary": "A user proposes adding Room and Space concepts.", + "actorId": "MDQ6VXNlcjEzMzU2ODc=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfiMB", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-27T17:30:19Z", + "editedAt": "2024-01-27T17:30:53Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8266497", + "summary": "A user says the core issue is nesting and overlap, needing many-to-many relations that the team opposes, and calls it an impasse.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AfiWk", + "kind": "reply", + "actor": "Particpant", + "createdAt": "2024-01-27T19:48:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8267172", + "summary": "A user restates the rooms-and-spaces idea with classes.", + "actorId": "U_kgDOBuioxg", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Afiwz", + "kind": "reply", + "actor": "MacDada", + "createdAt": "2024-01-28T03:54:17Z", + "editedAt": "2024-01-28T03:54:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8268851", + "summary": "A user proposes tags as the general concept.", + "actorId": "MDQ6VXNlcjEzNjI2MQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfeAy" + }, + { + "id": "DC_kwDOByplq84Afi62", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-28T07:32:37Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8269494", + "summary": "A user notes tags exist via customize.yaml but people want a traversable structure.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfeAy" + }, + { + "id": "DC_kwDOByplq84AfkC0", + "kind": "reply", + "actor": "OnFreund", + "createdAt": "2024-01-28T19:34:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8274100", + "summary": "A user asks whether such tags can be service-call targets.", + "actorId": "MDQ6VXNlcjIxNTk2OTM=", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfeAy" + }, + { + "id": "DC_kwDOByplq84AfkHm", + "kind": "reply", + "actor": "parautenbach", + "createdAt": "2024-01-28T20:31:17Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8274406", + "summary": "The user describes a template-based workaround.", + "actorId": "MDQ6VXNlcjc0MzMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AfeAy" + }, + { + "id": "DC_kwDOByplq84AfsgQ", + "kind": "reply", + "actor": "AllardKatan", + "createdAt": "2024-01-30T16:41:55Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8308752", + "summary": "A user disputes that a device can only be in one area.", + "actorId": "MDQ6VXNlcjMyNzE3NzA3", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Afso9", + "kind": "reply", + "actor": "forensium", + "createdAt": "2024-01-30T17:23:29Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8309309", + "summary": "A user proposes location tags or labels that can nest.", + "actorId": "MDQ6VXNlcjE3MDY4NDkx", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AftLn", + "kind": "reply", + "actor": "EDelsman", + "createdAt": "2024-01-30T21:30:05Z", + "editedAt": "2024-01-30T21:45:54Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8311527", + "summary": "A user weighs named hierarchy levels versus free nesting versus labels, concluding labels on areas are the cleanest flexible option.", + "actorId": "MDQ6VXNlcjgxNjUwODE1", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84Afzc4", + "kind": "reply", + "actor": "tdejneka", + "createdAt": "2024-02-01T16:50:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8337208", + "summary": "A user supports labels, linking an older request.", + "actorId": "MDQ6VXNlcjQ0NzMyOTA5", + "actorType": "human", + "parentId": "DC_kwDOByplq84Affza" + }, + { + "id": "DC_kwDOByplq84AgRYW", + "kind": "comment", + "actor": "eliasisrael", + "createdAt": "2024-02-13T23:41:27Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8459798", + "summary": "A user shares a building taxonomy from smart-buildings work to show floors are too simple.", + "actorId": "MDQ6VXNlcjEyOTI3NTU=", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84AgTbc", + "kind": "reply", + "actor": "UKenGB", + "createdAt": "2024-02-14T16:27:02Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8468188", + "summary": "A user still favours fully nested areas with inheritance.", + "actorId": "MDQ6VXNlcjI3MDIzMzEw", + "actorType": "human", + "parentId": "DC_kwDOByplq84AgRYW" + }, + { + "id": "DC_kwDOByplq84Agowb", + "kind": "comment", + "actor": "frenck", + "createdAt": "2024-02-22T11:18:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8555547", + "summary": "A maintainer reports the basic floors concept merged in core PR #110741 and closes the discussion.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "D_kwDOByplq84AWwXn:process:closed:2024-02-22T11:18:51Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2024-02-22T11:18:51Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Ahb4V", + "kind": "comment", + "actor": "potelux", + "createdAt": "2024-03-12T20:50:19Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8764949", + "summary": "A user summarises that the team chose physical areas and floors, notes labels and categories are in progress for logical grouping, and suggests waiting to see if they suffice.", + "actorId": "U_kgDOCY2rTg", + "actorType": "human", + "parentId": "D_kwDOByplq84AWwXn" + }, + { + "id": "DC_kwDOByplq84Ahb5h", + "kind": "reply", + "actor": "potelux", + "createdAt": "2024-03-12T21:00:58Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8765025", + "summary": "The user shares a template-sensor workaround for a combined area.", + "actorId": "U_kgDOCY2rTg", + "actorType": "human", + "parentId": "DC_kwDOByplq84Ahb4V" + }, + { + "id": "DC_kwDOByplq84Ahb5v", + "kind": "reply", + "actor": "frenck", + "createdAt": "2024-03-12T21:02:32Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-8765039", + "summary": "The maintainer confirms that is the aim and that other grouping is out of scope here.", + "actorId": "MDQ6VXNlcjE5NTMyNw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84Ahb4V" + }, + { + "id": "DC_kwDOByplq84AnSdj", + "kind": "reply", + "actor": "DenisMir", + "createdAt": "2024-08-10T16:50:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1021#discussioncomment-10299235", + "summary": "A user later asks again for nesting, citing a garage.", + "actorId": "MDQ6VXNlcjE1NzI4MQ==", + "actorType": "human", + "parentId": "DC_kwDOByplq84AeDjt" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/homeassistant-release-cycle.json b/evals/datasets/decisions-v1/cases/homeassistant-release-cycle.json new file mode 100644 index 000000000..4f82f5211 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/homeassistant-release-cycle.json @@ -0,0 +1,521 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "homeassistant-release-cycle", + "title": "Home Assistant release cycle length", + "source": { + "url": "https://github.com/home-assistant/architecture/issues/192", + "retrievedAt": "2026-10-18T07:27:45.463455+00:00", + "repository": "home-assistant/architecture", + "number": 192 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-04-11T08:00:00Z" + }, + { + "id": "c2", + "at": "2019-04-22T12:00:00Z" + }, + { + "id": "c3", + "at": "2021-01-25T00:00:00Z" + }, + { + "id": "c4", + "at": "2021-01-26T01:00:00Z" + } + ], + "events": [ + { + "id": "architecture-192:issue:192", + "kind": "opening", + "actor": "pvizeli", + "createdAt": "2019-04-11T07:43:32Z", + "url": "https://github.com/home-assistant/architecture/issues/192", + "summary": "A maintainer proposes moving to a three-week cycle (two weeks to beta, one week to release), citing the strain of release work, rushed merges and post-release bugfixes.", + "actorId": 15338540, + "actorType": "human" + }, + { + "id": "architecture-192:comment:482027936", + "kind": "comment", + "actor": "robbiet480", + "createdAt": "2019-04-11T08:52:17Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482027936", + "summary": "A maintainer asks whether moving integrations out of core might instead allow a faster, weekly cadence.", + "actorId": 18516, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482043251", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-04-11T09:36:58Z", + "editedAt": "2019-04-11T09:42:01Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482043251", + "summary": "The proposer replies that splitting integrations would argue for monthly releases, and repeats that release chores, reviews and the lead developers' own work need more time.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482153853", + "kind": "comment", + "actor": "rohankapoorcom", + "createdAt": "2019-04-11T15:07:29Z", + "editedAt": "2019-04-11T15:37:10Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482153853", + "summary": "A maintainer agrees PRs have been squeezed in recent releases and suggests also lengthening beta.", + "actorId": 2511957, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482185611", + "kind": "comment", + "actor": "ludeeus", + "createdAt": "2019-04-11T16:24:23Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482185611", + "summary": "A maintainer supports a longer cycle provided the beta period grows too, to avoid bigger, less stable releases.", + "actorId": 15093472, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482215732", + "kind": "comment", + "actor": "DubhAd", + "createdAt": "2019-04-11T17:26:27Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482215732", + "summary": "A user welcomes a slower cycle if it brings a longer test window and a list of what to test.", + "actorId": 11191848, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:process:renamed:2019-04-11T17:38:19Z", + "kind": "process", + "actor": "balloob", + "createdAt": "2019-04-11T17:38:19Z", + "url": "https://github.com/home-assistant/architecture/issues/192", + "summary": "The founder retitles the issue.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482226578", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-04-11T17:56:08Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482226578", + "summary": "The founder notes cherry-picking into a long beta gets hard as dev diverges and suggests fully overlapping cycles: cut each beta on release day.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482240483", + "kind": "comment", + "actor": "olbjan", + "createdAt": "2019-04-11T18:21:01Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482240483", + "summary": "A user asks for a list of touched areas in beta notes so non-developers can test.", + "actorId": 43749346, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482254279", + "kind": "comment", + "actor": "arsaboo", + "createdAt": "2019-04-11T19:01:32Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482254279", + "summary": "A user points to the release PR and preview docs that already list changes.", + "actorId": 18319734, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482289208", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-04-11T19:58:30Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482289208", + "summary": "The founder suggests organising release notes by integration with a checklist for testers.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:482290757", + "kind": "comment", + "actor": "dgomes", + "createdAt": "2019-04-11T20:03:24Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-482290757", + "summary": "A user suggests per-integration changelogs in manifests for personalised warnings.", + "actorId": 137684, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483348435", + "kind": "comment", + "actor": "ljmerza", + "createdAt": "2019-04-15T17:38:50Z", + "editedAt": "2019-04-15T17:41:14Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483348435", + "summary": "A user says beta should accept only bug fixes.", + "actorId": 4085765, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483353987", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-04-15T17:54:08Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483353987", + "summary": "The founder says that is already the rule.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483357132", + "kind": "comment", + "actor": "ljmerza", + "createdAt": "2019-04-15T18:02:40Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483357132", + "summary": "The user lists features merged days before a recent release as counter-evidence.", + "actorId": 4085765, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483364779", + "kind": "comment", + "actor": "cgtobi", + "createdAt": "2019-04-15T18:26:00Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483364779", + "summary": "A user argues most listed items were fixes, CI work or niche features that caused little trouble.", + "actorId": 856782, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483479063", + "kind": "comment", + "actor": "awarecan", + "createdAt": "2019-04-16T01:44:19Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483479063", + "summary": "A user explains frontend features often land after the beta cut because the frontend has no release branch.", + "actorId": 7366491, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483548663", + "kind": "comment", + "actor": "MartinHjelmare", + "createdAt": "2019-04-16T07:43:06Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483548663", + "summary": "A maintainer recalls large features slipping in just before release and wants the rule enforced more strictly.", + "actorId": 3181692, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483553709", + "kind": "comment", + "actor": "awarecan", + "createdAt": "2019-04-16T07:59:08Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483553709", + "summary": "A user links the example PR.", + "actorId": 7366491, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:483994839", + "kind": "comment", + "actor": "frenck", + "createdAt": "2019-04-17T08:45:31Z", + "editedAt": "2019-04-17T09:20:26Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-483994839", + "summary": "A maintainer lays out the trade-off between lengthening dev or beta, lists user wants (stability, quick features, fewer breaking changes), and proposes a monthly cycle with beta cut on release day.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484010863", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-04-17T09:32:33Z", + "editedAt": "2019-04-17T09:33:22Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484010863", + "summary": "The proposer endorses monthly releases, saying the one-week delay already felt calmer and produced better code.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484596822", + "kind": "comment", + "actor": "allanpersson", + "createdAt": "2019-04-18T17:13:14Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484596822", + "summary": "A user likes a fixed release day and suggests Friday so users have the weekend to fix breakage.", + "actorId": 46043392, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484597377", + "kind": "comment", + "actor": "arsaboo", + "createdAt": "2019-04-18T17:15:05Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484597377", + "summary": "A user quips that developers may not be free at weekends.", + "actorId": 18319734, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484598492", + "kind": "comment", + "actor": "allanpersson", + "createdAt": "2019-04-18T17:18:34Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484598492", + "summary": "The user replies that monthly releases should mean fewer fixes needed.", + "actorId": 46043392, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484599280", + "kind": "comment", + "actor": "olbjan", + "createdAt": "2019-04-18T17:20:35Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484599280", + "summary": "A user expects monthly releases to carry many more breaking changes each, at least initially.", + "actorId": 43749346, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:484631432", + "kind": "comment", + "actor": "awarecan", + "createdAt": "2019-04-18T18:34:08Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-484631432", + "summary": "A user says Wednesday has worked well as release day.", + "actorId": 7366491, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485294858", + "kind": "comment", + "actor": "andrewsayre", + "createdAt": "2019-04-22T00:45:57Z", + "editedAt": "2019-04-22T14:11:09Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485294858", + "summary": "A maintainer argues time to feedback matters most, that better practices and automation address the problems, and proposes tabling the change in favour of other work.", + "actorId": 6730289, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485301080", + "kind": "comment", + "actor": "BradleyFord", + "createdAt": "2019-04-22T01:50:20Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485301080", + "summary": "A user thinks a long gap would push active users onto beta, improving testing.", + "actorId": 322815, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485435697", + "kind": "comment", + "actor": "andrewsayre", + "createdAt": "2019-04-22T14:37:22Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485435697", + "summary": "The same maintainer proposes surveying users on release frequency and beta willingness, and doubts beta-for-features drives the right behaviour.", + "actorId": 6730289, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485437935", + "kind": "comment", + "actor": "Kane610", + "createdAt": "2019-04-22T14:45:20Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485437935", + "summary": "A maintainer agrees and adds the project should measure usage.", + "actorId": 24575746, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485447122", + "kind": "comment", + "actor": "pvizeli", + "createdAt": "2019-04-22T15:18:36Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485447122", + "summary": "The proposer says release coordination is consuming time that should go to features and fixes.", + "actorId": 15338540, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485458568", + "kind": "comment", + "actor": "MarsWarrior", + "createdAt": "2019-04-22T15:58:30Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485458568", + "summary": "A user managing several installs describes recurring regressions, doubts the cycle is the root problem, and proposes stable and edge channels per integration.", + "actorId": 1220775, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485549600", + "kind": "comment", + "actor": "dgomes", + "createdAt": "2019-04-22T20:56:19Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485549600", + "summary": "A user worries channels would burden integration developers but supports an LTS concept with fixes only.", + "actorId": 137684, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:485561518", + "kind": "comment", + "actor": "awarecan", + "createdAt": "2019-04-22T21:37:42Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-485561518", + "summary": "A user notes LTS is a serious commitment and wonders who would pay for it.", + "actorId": 7366491, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:486189482", + "kind": "comment", + "actor": "fabaff", + "createdAt": "2019-04-24T11:48:01Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-486189482", + "summary": "A maintainer recalls the tedium of release prep, says betas do not attract testers, that the earlier move to three weeks did not help, and suggests decoupling Hass.io releases.", + "actorId": 116184, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:486220544", + "kind": "comment", + "actor": "MarsWarrior", + "createdAt": "2019-04-24T13:05:49Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-486220544", + "summary": "The user expands on how per-integration channels could work without backporting.", + "actorId": 1220775, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:486369982", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-04-24T18:23:48Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-486369982", + "summary": "The founder says the thread has drifted from the real issue: he and the proposer carry the release grunt work.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:486371105", + "kind": "comment", + "actor": "rohankapoorcom", + "createdAt": "2019-04-24T18:26:47Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-486371105", + "summary": "A maintainer asks whether the work could be shared or automated.", + "actorId": 2511957, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:486427074", + "kind": "comment", + "actor": "SeanPM5", + "createdAt": "2019-04-24T21:08:48Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-486427074", + "summary": "A user argues monthly releases would double breaking changes per update and make each upgrade more stressful, though it may relieve the release managers.", + "actorId": 9065557, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:489298478", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-05-04T06:15:40Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-489298478", + "summary": "A user asks whether the two release managers would accept others doing releases.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:490345346", + "kind": "comment", + "actor": "balloob", + "createdAt": "2019-05-08T04:45:33Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-490345346", + "summary": "The founder welcomes help and lists the manual steps that remain: cherry-pick conflicts, broken link checks, breaking-change formatting and the release introduction.", + "actorId": 1444314, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:497002597", + "kind": "comment", + "actor": "amelchio", + "createdAt": "2019-05-29T16:07:32Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-497002597", + "summary": "The user suggests releasing only when a volunteer release manager steps up and offers to handle some.", + "actorId": 26174915, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:comment:767198311", + "kind": "comment", + "actor": "frenck", + "createdAt": "2021-01-26T00:23:41Z", + "url": "https://github.com/home-assistant/architecture/issues/192#issuecomment-767198311", + "summary": "A maintainer closes the old issue, noting the project now runs a monthly cycle, explained in the 2020 conference keynote.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-192:issue:192" + }, + { + "id": "architecture-192:process:closed:2021-01-26T00:23:41Z", + "kind": "process", + "actor": "frenck", + "createdAt": "2021-01-26T00:23:41Z", + "url": "https://github.com/home-assistant/architecture/issues/192", + "summary": "The maintainer closes the issue.", + "actorId": 195327, + "actorType": "human", + "parentId": "architecture-192:issue:192" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/homeassistant-template-delay-ui.json b/evals/datasets/decisions-v1/cases/homeassistant-template-delay-ui.json new file mode 100644 index 000000000..9a08ff4a4 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/homeassistant-template-delay-ui.json @@ -0,0 +1,246 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "homeassistant-template-delay-ui", + "title": "Template binary sensor delay options in the helper UI", + "source": { + "url": "https://github.com/home-assistant/architecture/discussions/1340", + "retrievedAt": "2026-10-18T07:11:41.465649+00:00", + "repository": "home-assistant/architecture", + "number": 1340, + "nodeId": "D_kwDOByplq84AkLzz" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-02-16T10:00:00Z" + }, + { + "id": "c2", + "at": "2026-05-27T10:00:00Z" + }, + { + "id": "c3", + "at": "2026-09-03T14:00:00Z" + }, + { + "id": "c4", + "at": "2026-09-03T15:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOByplq84AkLzz", + "kind": "opening", + "actor": "suaveolent", + "createdAt": "2026-02-16T09:37:31Z", + "editedAt": "2026-02-16T09:42:15Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340", + "summary": "A user proposes revisiting the earlier refusal and exposing the delay_on and delay_off settings in the template binary sensor helper UI, perhaps under advanced options, citing several closed core PRs and a forum thread; a solar-excess sensor is the motivating case.", + "actorId": "MDQ6VXNlcjIxNjM2MjU=", + "actorType": "human" + }, + { + "id": "DC_kwDOByplq84A8XCW", + "kind": "comment", + "actor": "cvroque", + "createdAt": "2026-02-16T11:41:14Z", + "editedAt": "2026-02-16T12:31:41Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-15822998", + "summary": "A user strongly agrees, saying needing one advanced option forces a switch to YAML, and would accept either UI fields or a raw config text field behind the advanced-mode toggle.", + "actorId": "MDQ6VXNlcjY1NjgwMzk0", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84A8XIM", + "kind": "reply", + "actor": "suaveolent", + "createdAt": "2026-02-16T12:24:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-15823372", + "summary": "The opener suggests an alternative: an Edit in YAML mode like automations have, while noting that widens the scope.", + "actorId": "MDQ6VXNlcjIxNjM2MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A8XCW" + }, + { + "id": "DC_kwDOByplq84A8qmo", + "kind": "comment", + "actor": "sjwright", + "createdAt": "2026-02-24T00:39:37Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-15903144", + "summary": "A user adds support for delay_off, which they use often.", + "actorId": "MDQ6VXNlcjM2NjkyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84A-vyV", + "kind": "comment", + "actor": "almirus", + "createdAt": "2026-04-04T16:41:01Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16448661", + "summary": "A user says YAML helpers break on major updates, and after rebuilding everything in the UI found the needed option missing.", + "actorId": "MDQ6VXNlcjE2ODk4Njg1", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84A-1HD", + "kind": "comment", + "actor": "kzaoaai", + "createdAt": "2026-04-07T02:36:03Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16470467", + "summary": "A user says they submitted a core PR adding the options and have run it as a custom component.", + "actorId": "MDQ6VXNlcjM5MDI5MDA4", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84A-1dK", + "kind": "reply", + "actor": "mbo18", + "createdAt": "2026-04-07T06:03:17Z", + "editedAt": "2026-04-07T06:04:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16471882", + "summary": "A user points out five earlier attempts at this were all closed.", + "actorId": "MDQ6VXNlcjEyOTk5NTM1", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84A-2iT", + "kind": "reply", + "actor": "kzaoaai", + "createdAt": "2026-04-07T13:01:51Z", + "editedAt": "2026-04-07T13:02:05Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16476307", + "summary": "The PR author finds it baffling that the change is refused for clutter when it sits in a collapsible advanced section.", + "actorId": "MDQ6VXNlcjM5MDI5MDA4", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84A-2xD", + "kind": "reply", + "actor": "suaveolent", + "createdAt": "2026-04-07T14:15:23Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16477251", + "summary": "The opener asks the lead maintainer to revise the decision.", + "actorId": "MDQ6VXNlcjIxNjM2MjU=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84A_NsW", + "kind": "reply", + "actor": "sjwright", + "createdAt": "2026-04-15T13:49:14Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-16571158", + "summary": "A user argues UX concerns should not block useful functionality, and that a collapsed advanced section balances a clean UI with capability.", + "actorId": "MDQ6VXNlcjM2NjkyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84BBHt3", + "kind": "reply", + "actor": "rvanmaanen", + "createdAt": "2026-05-27T05:08:56Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-17070967", + "summary": "A user who planned a PR asks the lead maintainer whether a YAML editing toggle would avoid adding more fields.", + "actorId": "MDQ6VXNlcjQ4MzUyNTg=", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84BBIR2", + "kind": "reply", + "actor": "ameer1234567890", + "createdAt": "2026-05-27T09:06:18Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-17073270", + "summary": "A user says a YAML toggle like the dashboard card editor would work for them.", + "actorId": "MDQ6VXNlcjE2MDE1Nw==", + "actorType": "human", + "parentId": "DC_kwDOByplq84A-1HD" + }, + { + "id": "DC_kwDOByplq84BDa9e", + "kind": "comment", + "actor": "ctjameson", + "createdAt": "2026-07-17T14:54:38Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-17674078", + "summary": "A user adds that UI-created template sensors would also give better insight into state than YAML ones.", + "actorId": "MDQ6VXNlcjU3NjczODI1", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84BFsde", + "kind": "comment", + "actor": "emontnemery", + "createdAt": "2026-09-03T14:16:18Z", + "editedAt": "2026-09-04T07:45:16Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-18270046", + "summary": "A maintainer reports the proposal was approved at the core architecture meeting of 2026-06-25 (the post first had a typo in the year); this is marked as the answer.", + "actorId": "MDQ6VXNlcjE0MjgxNTcy", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "D_kwDOByplq84AkLzz:process:answered:2026-09-03T14:16:21Z", + "kind": "process", + "actor": "emontnemery", + "createdAt": "2026-09-03T14:16:21Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340", + "summary": "The maintainer marks his approval comment as the answer.", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84BFtFo", + "kind": "reply", + "actor": "jan-tdy", + "createdAt": "2026-09-03T16:22:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-18272616", + "summary": "A user jokes about the year typo in the approval note.", + "actorId": "U_kgDOCwJFFg", + "actorType": "human", + "parentId": "DC_kwDOByplq84BFsde" + }, + { + "id": "DC_kwDOByplq84BGcxG", + "kind": "comment", + "actor": "mr-miles", + "createdAt": "2026-09-16T15:53:49Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-18467910", + "summary": "A user asks which proposal was approved, the extra fields or YAML editing, and whether the closed PR can be reopened.", + "actorId": "MDQ6VXNlcjU5MDMyMA==", + "actorType": "human", + "parentId": "D_kwDOByplq84AkLzz" + }, + { + "id": "DC_kwDOByplq84BGc1x", + "kind": "reply", + "actor": "Petro31", + "createdAt": "2026-09-16T16:15:24Z", + "editedAt": "2026-09-16T16:20:34Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-18468209", + "summary": "A participant points to a different, complete PR that includes the preview support the earlier one lacked.", + "actorId": "MDQ6VXNlcjM1MDgyMzEz", + "actorType": "human", + "parentId": "DC_kwDOByplq84BGcxG" + }, + { + "id": "DC_kwDOByplq84BGc3p", + "kind": "reply", + "actor": "mr-miles", + "createdAt": "2026-09-16T16:24:25Z", + "url": "https://github.com/home-assistant/architecture/discussions/1340#discussioncomment-18468329", + "summary": "The user thanks them and looks forward to it landing.", + "actorId": "MDQ6VXNlcjU5MDMyMA==", + "actorType": "human", + "parentId": "DC_kwDOByplq84BGcxG" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/just-format-string-interpolation.json b/evals/datasets/decisions-v1/cases/just-format-string-interpolation.json new file mode 100644 index 000000000..787ffe83c --- /dev/null +++ b/evals/datasets/decisions-v1/cases/just-format-string-interpolation.json @@ -0,0 +1,604 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "just-format-string-interpolation", + "title": "Interpolation inside just strings", + "source": { + "url": "https://github.com/casey/just/issues/11", + "retrievedAt": "2026-10-18T07:34:33.121135+00:00", + "repository": "casey/just", + "number": 11 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-10-31T07:00:00Z" + }, + { + "id": "c2", + "at": "2025-09-10T00:00:00Z" + }, + { + "id": "c3", + "at": "2025-12-06T04:00:00Z" + }, + { + "id": "c4", + "at": "2025-12-06T05:00:00Z" + } + ], + "events": [ + { + "id": "just-11:issue:11", + "kind": "opening", + "actor": "casey", + "createdAt": "2016-10-31T06:15:49Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner proposes allowing interpolation in strings and backticks only when prefixed with f, to stay backward compatible, and limiting interpolations to single identifiers.", + "actorId": 1945, + "actorType": "human" + }, + { + "id": "just-11:comment:260174902", + "kind": "comment", + "actor": "casey", + "createdAt": "2016-11-13T09:16:44Z", + "editedAt": "2020-10-09T02:15:26Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-260174902", + "summary": "A comment GitHub marks as hidden (resolved); the owner notes it allows strings nested inside interpolations recursively.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:271205039", + "kind": "comment", + "actor": "casey", + "createdAt": "2017-01-09T03:20:04Z", + "editedAt": "2020-10-09T02:15:35Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-271205039", + "summary": "A comment GitHub marks as hidden (resolved); the owner closes it, offering to reopen if anyone wants it.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:closed:2017-01-09T03:20:04Z", + "kind": "process", + "actor": "casey", + "createdAt": "2017-01-09T03:20:04Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner closes the issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:274374787", + "kind": "comment", + "actor": "casey", + "createdAt": "2017-01-23T00:55:19Z", + "editedAt": "2020-10-09T02:15:59Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-274374787", + "summary": "A comment GitHub marks as hidden (resolved); the owner reconsiders and reopens.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:reopened:2017-01-23T00:55:19Z", + "kind": "process", + "actor": "casey", + "createdAt": "2017-01-23T00:55:19Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner reopens the issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:483943330", + "kind": "comment", + "actor": "casey", + "createdAt": "2019-04-17T05:34:05Z", + "editedAt": "2020-10-09T02:16:06Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-483943330", + "summary": "A comment GitHub marks as hidden (resolved); the owner leans toward Python f-string style syntax if it is done.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:renamed:2020-10-09T02:11:06Z", + "kind": "process", + "actor": "casey", + "createdAt": "2020-10-09T02:11:06Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner widens the title to include backticks.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:renamed:2020-10-09T02:12:26Z", + "kind": "process", + "actor": "casey", + "createdAt": "2020-10-09T02:12:26Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner widens the title to strings in general.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:832871523", + "kind": "comment", + "actor": "kwshi", + "createdAt": "2021-05-05T17:23:35Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-832871523", + "summary": "A user offers to try implementing it.", + "actorId": 3887189, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:833191185", + "kind": "comment", + "actor": "casey", + "createdAt": "2021-05-06T03:08:27Z", + "editedAt": "2021-05-06T03:08:45Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-833191185", + "summary": "The owner shares a half-finished branch with lexing and parsing done, and says the feature is much harder than a first issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:cross-referenced:2021-05-07T18:19:31Z", + "kind": "process", + "actor": "kwshi", + "createdAt": "2021-05-07T18:19:31Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "A user links a PR implementing format strings, later closed.", + "actorId": 3887189, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1019057154", + "kind": "comment", + "actor": "pyrsmk", + "createdAt": "2022-01-22T05:09:05Z", + "editedAt": "2022-01-22T05:15:59Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1019057154", + "summary": "A user asks for news and says they fell back to make.", + "actorId": 214497, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1019306194", + "kind": "comment", + "actor": "casey", + "createdAt": "2022-01-22T16:44:08Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1019306194", + "summary": "The owner says it is a large feature with no timeline.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1028927152", + "kind": "comment", + "actor": "ngirard", + "createdAt": "2022-02-03T12:10:33Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1028927152", + "summary": "A user suggests the MiniJinja template crate.", + "actorId": 98098, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1029155835", + "kind": "comment", + "actor": "casey", + "createdAt": "2022-02-03T16:17:03Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1029155835", + "summary": "The owner says integration, not the template language, is the hard part.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1029878604", + "kind": "comment", + "actor": "pyrsmk", + "createdAt": "2022-02-04T10:58:24Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1029878604", + "summary": "A user shares their own Ruby-based task runner.", + "actorId": 214497, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1506818296", + "kind": "comment", + "actor": "kallangerard", + "createdAt": "2023-04-13T11:39:43Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1506818296", + "summary": "A user proposes a printf-style formatting function as a simpler compromise.", + "actorId": 36556982, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1534527402", + "kind": "comment", + "actor": "regmicmahesh", + "createdAt": "2023-05-04T10:40:19Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1534527402", + "summary": "A user adds support.", + "actorId": 64764773, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1546877905", + "kind": "comment", + "actor": "crabmusket", + "createdAt": "2023-05-14T11:32:05Z", + "editedAt": "2023-05-14T11:33:21Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1546877905", + "summary": "A user shares a workaround with the replace function.", + "actorId": 904269, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1717325706", + "kind": "comment", + "actor": "akiross", + "createdAt": "2023-09-13T10:00:35Z", + "editedAt": "2023-09-13T10:16:50Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1717325706", + "summary": "A comment GitHub marks as hidden (resolved); a user suggests an eval function or substitution functions instead of new syntax.", + "actorId": 884092, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1962937282", + "kind": "comment", + "actor": "blueforesticarus", + "createdAt": "2024-02-25T13:14:55Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1962937282", + "summary": "A user asks the docs to say plainly that backticks cannot interpolate.", + "actorId": 6549542, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1968462777", + "kind": "comment", + "actor": "NickLarsenNZ", + "createdAt": "2024-02-28T08:26:31Z", + "editedAt": "2024-02-28T08:26:59Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1968462777", + "summary": "A user says this is the only blocker to moving a Makefile to just, showing a computed command they cannot execute.", + "actorId": 10092581, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:1997842483", + "kind": "comment", + "actor": "gg718", + "createdAt": "2024-03-14T16:22:56Z", + "editedAt": "2024-03-14T16:26:03Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-1997842483", + "summary": "A user says their organisation's migration hinges on this, asks the owner for a rough timeline, and prefers the f-string syntax.", + "actorId": 126100364, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2015584186", + "kind": "comment", + "actor": "laniakea64", + "createdAt": "2024-03-22T17:38:37Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2015584186", + "summary": "A contributor asks about workarounds and describes a case needing one backtick's output inside another.", + "actorId": 16628411, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2027398498", + "kind": "comment", + "actor": "laniakea64", + "createdAt": "2024-03-29T15:39:25Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2027398498", + "summary": "The contributor suggests disallowing nested f-strings at first, since nesting is said to be the hard part.", + "actorId": 16628411, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2027410620", + "kind": "comment", + "actor": "NickLarsenNZ", + "createdAt": "2024-03-29T15:50:40Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2027410620", + "summary": "A user proposes a breaking change in a v2 instead.", + "actorId": 10092581, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2027433617", + "kind": "comment", + "actor": "laniakea64", + "createdAt": "2024-03-29T16:11:08Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2027433617", + "summary": "The contributor links the project's backward-compatibility policy in reply.", + "actorId": 16628411, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2100182178", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-05-08T09:41:30Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2100182178", + "summary": "A contributor suggests a configurable recursion limit instead.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2100186715", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-05-08T09:44:07Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2100186715", + "summary": "The contributor asks the owner about an interim fmt function.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2111453463", + "kind": "comment", + "actor": "casey", + "createdAt": "2024-05-15T02:12:01Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2111453463", + "summary": "The owner says the easiest first step is f-strings whose interpolations are a single identifier, avoiding full recursion.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2116183790", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-05-16T21:06:56Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2116183790", + "summary": "A contributor asks whether escaping would be skipped.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2119942715", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-05-20T08:29:01Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2119942715", + "summary": "The contributor offers to take it on but notes the old branch is gone.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2121074990", + "kind": "comment", + "actor": "casey", + "createdAt": "2024-05-20T19:34:09Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2121074990", + "summary": "The owner says the old branch would be stale anyway.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2122446598", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-05-21T11:43:57Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2122446598", + "summary": "The contributor plans to study a related PR as a starting point.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2134662086", + "kind": "comment", + "actor": "gl-yziquel", + "createdAt": "2024-05-28T08:42:26Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2134662086", + "summary": "A contributor adds support for the f-string syntax.", + "actorId": 142336927, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2215515852", + "kind": "comment", + "actor": "bukowa", + "createdAt": "2024-07-08T23:27:16Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2215515852", + "summary": "A contributor resurfaces the abandoned 2021 PR.", + "actorId": 38087302, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2220710528", + "kind": "comment", + "actor": "gyreas", + "createdAt": "2024-07-10T14:44:55Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2220710528", + "summary": "The other contributor thanks them and plans to build on it.", + "actorId": 126640223, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:labeled:2024-12-21T22:16:44Z", + "kind": "process", + "actor": "casey", + "createdAt": "2024-12-21T22:16:44Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner labels the issue as coveted.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2565610908", + "kind": "comment", + "actor": "liquidaty", + "createdAt": "2024-12-30T15:16:49Z", + "editedAt": "2024-12-30T15:42:05Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2565610908", + "summary": "A user points out the existing shell function covers many of the use cases.", + "actorId": 26302468, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:2949177839", + "kind": "comment", + "actor": "sinux-l5d", + "createdAt": "2025-06-06T12:49:17Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-2949177839", + "summary": "A user describes needing justfile_directory inside a backtick.", + "actorId": 22861912, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3270800751", + "kind": "comment", + "actor": "Necoro", + "createdAt": "2025-09-09T13:40:08Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3270800751", + "summary": "A user proposes a resolve function applied to a string instead of f-string syntax, to avoid lexer changes and clarify ordering.", + "actorId": 68708, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3451999480", + "kind": "comment", + "actor": "jbonnier", + "createdAt": "2025-10-27T15:44:46Z", + "editedAt": "2025-10-27T15:45:24Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3451999480", + "summary": "A user wants function calls interpolated inside backticks.", + "actorId": 14863969, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:cross-referenced:2025-12-06T04:32:54Z", + "kind": "process", + "actor": "casey", + "createdAt": "2025-12-06T04:32:54Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner links PR #2985 adding f-strings.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:process:closed:2025-12-06T04:33:46Z", + "kind": "process", + "actor": "casey", + "createdAt": "2025-12-06T04:33:46Z", + "url": "https://github.com/casey/just/issues/11", + "summary": "The owner closes the issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3619468772", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-12-06T04:38:32Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3619468772", + "summary": "The owner announces f-strings using single braces, easier to type than recipe-body double braces, while unsure the inconsistency is worth it.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3619472333", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-12-06T04:42:10Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3619472333", + "summary": "The owner opens a separate issue for interpolation inside backticks, which the PR did not cover.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3621060121", + "kind": "comment", + "actor": "laniakea64", + "createdAt": "2025-12-06T19:53:56Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3621060121", + "summary": "A contributor argues for double braces: intuitive, consistent, less escaping of shell code, and easier syntax highlighting.", + "actorId": 16628411, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3621288427", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-12-06T22:13:19Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3621288427", + "summary": "The owner finds most of the arguments good, corrects one, and leans toward switching to double braces.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3621299090", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-12-06T22:24:15Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3621299090", + "summary": "The owner wonders about relaxing a brace-adjacency rule in recipe interpolations.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + }, + { + "id": "just-11:comment:3621417351", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-12-07T00:34:40Z", + "url": "https://github.com/casey/just/issues/11#issuecomment-3621417351", + "summary": "The owner announces release 1.44.0 with f-strings using double braces.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-11:issue:11" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/just-parallel-dependencies.json b/evals/datasets/decisions-v1/cases/just-parallel-dependencies.json new file mode 100644 index 000000000..711cc3e34 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/just-parallel-dependencies.json @@ -0,0 +1,796 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "just-parallel-dependencies", + "title": "How just should run independent recipes in parallel", + "source": { + "url": "https://github.com/casey/just/issues/626", + "retrievedAt": "2026-10-18T07:34:26.346426+00:00", + "repository": "casey/just", + "number": 626 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-09-05T21:00:00Z" + }, + { + "id": "c2", + "at": "2023-03-11T14:00:00Z" + }, + { + "id": "c3", + "at": "2025-07-03T21:30:00Z" + }, + { + "id": "c4", + "at": "2025-07-07T21:00:00Z" + } + ], + "events": [ + { + "id": "just-626:issue:626", + "kind": "opening", + "actor": "theHamsta", + "createdAt": "2020-05-20T16:44:35Z", + "url": "https://github.com/casey/just/issues/626", + "summary": "The opener asks whether just could run independent dependencies in parallel, as make does, or whether that already exists.", + "actorId": 7189118, + "actorType": "human" + }, + { + "id": "just-626:comment:631758911", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-05-20T22:21:12Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-631758911", + "summary": "The maintainer says it is not possible yet but would be a good feature, and suggests building it on a planned annotations mechanism with an annotation that backgrounds a recipe.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659122776", + "kind": "comment", + "actor": "roblav96", + "createdAt": "2020-07-16T02:40:56Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659122776", + "summary": "A user says they rely on npm-run-all's parallel mode in nearly every npm script and would like the same in just.", + "actorId": 1457327, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659365747", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-07-16T12:02:21Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659365747", + "summary": "The maintainer agrees the feature is worthwhile and says several features are waiting on annotations, which he has been slow to add.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659367670", + "kind": "comment", + "actor": "roblav96", + "createdAt": "2020-07-16T12:06:18Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659367670", + "summary": "The user says they reproduced the workflow with the pueue task queue.", + "actorId": 1457327, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659380639", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-07-16T12:32:33Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659380639", + "summary": "The maintainer acknowledges the workaround as less ideal than built-in support.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659385797", + "kind": "comment", + "actor": "theHamsta", + "createdAt": "2020-07-16T12:42:46Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659385797", + "summary": "The opener describes a workaround where just calls make, which calls back into just.", + "actorId": 7189118, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:659398940", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-07-16T13:07:41Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-659398940", + "summary": "The maintainer jokingly endorses the just-make-just workaround.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687658763", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-09-05T20:24:13Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687658763", + "summary": "The maintainer reframes the request as selective parallelism (annotating a recipe so its dependencies run concurrently) versus universal parallelism, and lists two forms of the latter: a `--parallel` CLI flag, which could break justfiles relying on dependency order, or a justfile setting. He leans toward universal parallelism and asks whether this matches what people want.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687663279", + "kind": "comment", + "actor": "mortoray", + "createdAt": "2020-09-05T21:06:43Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687663279", + "summary": "A user says they want selective parallelism declared in the recipe, since a CLI flag loses the benefit of just remembering intent.", + "actorId": 1308999, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687663496", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-09-05T21:09:05Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687663496", + "summary": "The maintainer asks why universal parallelism would be undesirable or break their justfile.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687664211", + "kind": "comment", + "actor": "mortoray", + "createdAt": "2020-09-05T21:16:07Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687664211", + "summary": "The user describes a mix of watch tasks that should run concurrently and packaging steps that must be sequential, and concedes a `--parallel` flag might work since their sequential steps use recursive just calls.", + "actorId": 1308999, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687665947", + "kind": "comment", + "actor": "casey", + "createdAt": "2020-09-05T21:33:56Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687665947", + "summary": "The maintainer says the key unknown is whether people rely on in-order execution of independent dependencies; if not, a flag or setting is safer. He suggests a CLI flag as a simple first prototype.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:687706619", + "kind": "comment", + "actor": "roblav96", + "createdAt": "2020-09-06T05:59:32Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-687706619", + "summary": "A user restates the problem with a package.json example that runs watchers concurrently through npm-run-all.", + "actorId": 1457327, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:783759959", + "kind": "comment", + "actor": "jrop", + "createdAt": "2021-02-22T23:44:52Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-783759959", + "summary": "A user describes a build of about 15 modules with a dependency graph where independent modules could build at once to save time.", + "actorId": 1404053, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:957763147", + "kind": "comment", + "actor": "mbodmer", + "createdAt": "2021-11-02T15:00:04Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-957763147", + "summary": "A contributor agrees but notes they also have an all recipe whose configure, build, package and deploy steps must stay ordered, while per-host deploys could run concurrently.", + "actorId": 853879, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:960639550", + "kind": "comment", + "actor": "hartmannr76", + "createdAt": "2021-11-04T10:43:57Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-960639550", + "summary": "A user suggests copying make's `-j` flag as the natural fit.", + "actorId": 1211229, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:961021262", + "kind": "comment", + "actor": "jrop", + "createdAt": "2021-11-04T14:13:22Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-961021262", + "summary": "A user argues new dependency syntax is needed because some dependencies are serial and some parallel, sketching operators for series, parallel and grouping.", + "actorId": 1404053, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:968098348", + "kind": "comment", + "actor": "madig", + "createdAt": "2021-11-13T16:51:01Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-968098348", + "summary": "A user supports the selective attribute idea for four independent recipes sharing sources.", + "actorId": 380829, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1050128616", + "kind": "comment", + "actor": "saskenuba", + "createdAt": "2022-02-24T18:15:53Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1050128616", + "summary": "A user shares a workaround that launches a long-running task in a separate terminal in the background.", + "actorId": 17864887, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1051107379", + "kind": "comment", + "actor": "runeimp", + "createdAt": "2022-02-25T18:50:19Z", + "editedAt": "2022-02-25T19:05:49Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1051107379", + "summary": "A user suggests backgrounding recipe calls with the shell (or `start /b` on Windows) and asks whether stricter error handling is needed.", + "actorId": 1418110, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1077013368", + "kind": "comment", + "actor": "wearpants", + "createdAt": "2022-03-24T02:48:41Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1077013368", + "summary": "A user mentions hoping to use just in place of a data orchestration tool like Airflow.", + "actorId": 505344, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1272573102", + "kind": "comment", + "actor": "k3d3", + "createdAt": "2022-10-09T16:03:30Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1272573102", + "summary": "A user wants one command that runs a frontend dev server and a backend server together and stops both on Ctrl+C.", + "actorId": 1247908, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1379702714", + "kind": "comment", + "actor": "whyboris", + "createdAt": "2023-01-12T01:40:32Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1379702714", + "summary": "A user says the shell's `&` already lets a recipe run things concurrently.", + "actorId": 17264277, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1379704565", + "kind": "comment", + "actor": "k3d3", + "createdAt": "2023-01-12T01:43:30Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1379704565", + "summary": "A user asks whether that approach also stops the background server on Ctrl+C.", + "actorId": 1247908, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1382629476", + "kind": "comment", + "actor": "runeimp", + "createdAt": "2023-01-14T01:51:39Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1382629476", + "summary": "A user notes that `&` only works in Unix shells, not PowerShell or cmd.", + "actorId": 1418110, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1397420506", + "kind": "comment", + "actor": "xavierzwirtz", + "createdAt": "2023-01-19T18:22:29Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1397420506", + "summary": "A user suggests a docker compose style experience for launching background processes.", + "actorId": 474343, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1403382078", + "kind": "comment", + "actor": "timdp", + "createdAt": "2023-01-25T10:17:24Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1403382078", + "summary": "A user argues sequential dependencies add little over calling just repeatedly, while parallel execution would be a real gain, and that even running all dependencies concurrently would enable richer flows. They recall Grunt and Gulp facing the same issue.", + "actorId": 201034, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1413558561", + "kind": "comment", + "actor": "huyz", + "createdAt": "2023-02-02T11:03:56Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1413558561", + "summary": "A user points to Taskfile, which runs dependencies concurrently and has a CLI flag for running named tasks in parallel.", + "actorId": 128394, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1421649354", + "kind": "comment", + "actor": "casey", + "createdAt": "2023-02-07T23:38:13Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1421649354", + "summary": "The maintainer calls this one of the biggest missing features, says his own attempt stalled on lifetime and Send/Sync problems, invites others to try, and warns his review time is very limited.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:process:cross-referenced:2023-03-04T10:53:37Z", + "kind": "process", + "actor": "syphar", + "createdAt": "2023-03-04T10:53:37Z", + "url": "https://github.com/casey/just/issues/626", + "summary": "A user links draft PR #1562, which implements parallel job execution.", + "actorId": 540890, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1454699346", + "kind": "comment", + "actor": "syphar", + "createdAt": "2023-03-04T10:57:45Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1454699346", + "summary": "A user announces a draft PR modelled on Taskfile: dependencies and multiple command-line recipes run in parallel, pending maintainer input.", + "actorId": 540890, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1464811402", + "kind": "comment", + "actor": "nonnorm", + "createdAt": "2023-03-11T03:30:47Z", + "editedAt": "2023-03-11T03:32:17Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1464811402", + "summary": "A user shares a bash recipe that backgrounds commands, traps exit to kill them, and waits.", + "actorId": 50060110, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1464881922", + "kind": "comment", + "actor": "timdp", + "createdAt": "2023-03-11T10:36:48Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1464881922", + "summary": "A user replies that this amounts to plain bash scripts and that just should offer something better.", + "actorId": 201034, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1464908957", + "kind": "comment", + "actor": "syphar", + "createdAt": "2023-03-11T13:08:10Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1464908957", + "summary": "The PR author says, still without maintainer response, that the PR supports a `--parallel` flag for command-line recipes and a `[parallel]` attribute for a recipe's dependencies, and asks for testers.", + "actorId": 540890, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1587599199", + "kind": "comment", + "actor": "iovis", + "createdAt": "2023-06-12T15:45:38Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1587599199", + "summary": "A user shares a tmux workaround that opens each task in its own window.", + "actorId": 6660202, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1650869444", + "kind": "comment", + "actor": "srid", + "createdAt": "2023-07-26T02:16:31Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1650869444", + "summary": "A user says Procfile-style process running is what they want and asks whether the PR interleaves output and handles long-running processes.", + "actorId": 3998, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1651066686", + "kind": "comment", + "actor": "syphar", + "createdAt": "2023-07-26T06:36:50Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1651066686", + "summary": "The PR author says it handles long-running processes and interleaves output but does not prefix lines with the task name.", + "actorId": 540890, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1652441642", + "kind": "comment", + "actor": "srid", + "createdAt": "2023-07-26T20:23:40Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1652441642", + "summary": "The user says prefixed output would make just a strong Procfile-runner alternative.", + "actorId": 3998, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:1897505604", + "kind": "comment", + "actor": "Ekleog", + "createdAt": "2024-01-17T23:50:21Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-1897505604", + "summary": "A user suggests implementing make's jobserver protocol so downstream tools like cargo share a core budget.", + "actorId": 411447, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2024842323", + "kind": "comment", + "actor": "gsemet", + "createdAt": "2024-03-28T10:14:40Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2024842323", + "summary": "A user favours a `[parallel]` attribute to mark safely parallel checks, plus a worker-count option, and notes make's `-j` makes failures hard to attribute.", + "actorId": 133498, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2047190807", + "kind": "comment", + "actor": "hauleth", + "createdAt": "2024-04-10T10:44:45Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2047190807", + "summary": "A user prefers tasks to be independent by default with a way to declare conflicts, and questions what a `[parallel]` attribute would actually mean.", + "actorId": 291639, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2077447652", + "kind": "comment", + "actor": "chaoky", + "createdAt": "2024-04-25T14:54:41Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2077447652", + "summary": "A user mentions using the concurrently tool meanwhile.", + "actorId": 9826702, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2077700961", + "kind": "comment", + "actor": "hauleth", + "createdAt": "2024-04-25T16:31:33Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2077700961", + "summary": "A user notes concurrently only parallelises top-level tasks and fails when tasks share a dependency.", + "actorId": 291639, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2193903159", + "kind": "comment", + "actor": "W1M0R", + "createdAt": "2024-06-27T06:30:41Z", + "editedAt": "2024-06-27T06:32:37Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2193903159", + "summary": "A user proposes using `&` between dependencies to mark which run concurrently, mirroring shell background syntax.", + "actorId": 618853, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2194294542", + "kind": "comment", + "actor": "hauleth", + "createdAt": "2024-06-27T10:06:51Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2194294542", + "summary": "A user objects that the dependent recipe should not dictate ordering and asks how a shared dependency would be handled.", + "actorId": 291639, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2196145906", + "kind": "comment", + "actor": "W1M0R", + "createdAt": "2024-06-28T05:04:18Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2196145906", + "summary": "The proposer says a shared dependency runs once and the recipe author should decide what is safe to parallelise.", + "actorId": 618853, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2304679498", + "kind": "comment", + "actor": "W1M0R", + "createdAt": "2024-08-22T13:29:14Z", + "editedAt": "2024-08-22T13:30:35Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2304679498", + "summary": "A user shares a workaround that calls Taskfile to run long-running just recipes in parallel.", + "actorId": 618853, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2304780886", + "kind": "comment", + "actor": "yonas", + "createdAt": "2024-08-22T14:13:03Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2304780886", + "summary": "A user mentions using Goreman for the same purpose.", + "actorId": 110130, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2305302193", + "kind": "comment", + "actor": "W1M0R", + "createdAt": "2024-08-22T17:39:23Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2305302193", + "summary": "A user thanks them for the tip.", + "actorId": 618853, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2536225957", + "kind": "comment", + "actor": "ostrolucky", + "createdAt": "2024-12-11T14:55:41Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2536225957", + "summary": "A user says they dislike interleaved output and prefer per-task panes like a tmux-based runner.", + "actorId": 496233, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2540485129", + "kind": "comment", + "actor": "runeimp", + "createdAt": "2024-12-13T03:49:24Z", + "editedAt": "2024-12-13T03:49:49Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2540485129", + "summary": "A user replies that panes only suit a handful of tasks and depend on tmux.", + "actorId": 1418110, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:process:labeled:2024-12-21T22:17:08Z", + "kind": "process", + "actor": "casey", + "createdAt": "2024-12-21T22:17:08Z", + "url": "https://github.com/casey/just/issues/626", + "summary": "The maintainer labels the issue `coveted`.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2560370072", + "kind": "comment", + "actor": "hmvp", + "createdAt": "2024-12-23T22:13:22Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2560370072", + "summary": "A user describes using make's `-j` across subdirectories and wants a global `--parallel` CLI option that respects dependency order.", + "actorId": 1734544, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2564927350", + "kind": "comment", + "actor": "fzyzcjy", + "createdAt": "2024-12-30T01:02:59Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2564927350", + "summary": "A user asks for an update.", + "actorId": 5236035, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2716525321", + "kind": "comment", + "actor": "kawadumax", + "createdAt": "2025-03-12T05:31:13Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2716525321", + "summary": "A user shares a bash recipe that runs backend and frontend in the background with coloured line prefixes.", + "actorId": 11693767, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2717341828", + "kind": "comment", + "actor": "hauleth", + "createdAt": "2025-03-12T10:09:33Z", + "editedAt": "2025-03-12T11:25:46Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2717341828", + "summary": "A user says their main motivation is running CI pipelines locally, with just building an execution tree and running independent steps concurrently.", + "actorId": 291639, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2717508354", + "kind": "comment", + "actor": "06kellyjac", + "createdAt": "2025-03-12T11:11:15Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2717508354", + "summary": "A user asks whether a linked tool was the intended one.", + "actorId": 9866621, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2717552542", + "kind": "comment", + "actor": "hauleth", + "createdAt": "2025-03-12T11:25:24Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2717552542", + "summary": "The user corrects the link.", + "actorId": 291639, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:2964736164", + "kind": "comment", + "actor": "kindkitchen", + "createdAt": "2025-06-12T01:53:06Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-2964736164", + "summary": "A user thanks the earlier poster and shares a simplified script-based workaround.", + "actorId": 53253722, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:process:cross-referenced:2025-07-03T21:20:11Z", + "kind": "process", + "actor": "casey", + "createdAt": "2025-07-03T21:20:11Z", + "url": "https://github.com/casey/just/issues/626", + "summary": "The maintainer links PR #2803, adding a `[parallel]` attribute for running dependencies concurrently.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3033743076", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-07-03T21:35:05Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3033743076", + "summary": "The maintainer announces PR #2803 with a `[parallel]` attribute for a recipe's dependencies, asks for review, and notes it does not cover running command-line recipes in parallel.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:process:closed:2025-07-07T20:52:14Z", + "kind": "process", + "actor": "casey", + "createdAt": "2025-07-07T20:52:14Z", + "url": "https://github.com/casey/just/issues/626", + "summary": "The maintainer closes the issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3046497841", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-07-07T20:55:50Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3046497841", + "summary": "The maintainer says the PR is merged and will ship in the next release.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3048492177", + "kind": "comment", + "actor": "gsemet", + "createdAt": "2025-07-08T11:19:21Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3048492177", + "summary": "A user asks how to cap the number of concurrent jobs.", + "actorId": 133498, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3050437640", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-07-08T22:16:36Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3050437640", + "summary": "The maintainer says that is not supported and invites a new issue.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3259305539", + "kind": "comment", + "actor": "offbyone", + "createdAt": "2025-09-05T18:06:36Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3259305539", + "summary": "A user asks whether justfiles using the attribute are backward incompatible.", + "actorId": 181693, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3259799568", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-09-05T21:27:47Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3259799568", + "summary": "The maintainer confirms older versions will error on the unknown attribute.", + "actorId": 1945, + "actorType": "human", + "parentId": "just-626:issue:626" + }, + { + "id": "just-626:comment:3267359045", + "kind": "comment", + "actor": "offbyone", + "createdAt": "2025-09-08T18:06:07Z", + "url": "https://github.com/casey/just/issues/626#issuecomment-3267359045", + "summary": "The user says this will limit adoption in some projects.", + "actorId": 181693, + "actorType": "human", + "parentId": "just-626:issue:626" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/just-telemetry-hooks.json b/evals/datasets/decisions-v1/cases/just-telemetry-hooks.json new file mode 100644 index 000000000..9e4657972 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/just-telemetry-hooks.json @@ -0,0 +1,161 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "just-telemetry-hooks", + "title": "Telemetry support in just", + "source": { + "url": "https://github.com/casey/just/discussions/2934", + "retrievedAt": "2026-10-18T07:34:37.015790+00:00", + "repository": "casey/just", + "number": 2934, + "nodeId": "D_kwDOA6gfW84AirPE" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-10-30T19:30:00Z" + }, + { + "id": "c2", + "at": "2025-11-10T13:00:00Z" + }, + { + "id": "c3", + "at": "2026-09-05T08:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOA6gfW84AirPE", + "kind": "opening", + "actor": "apljungquist", + "createdAt": "2025-10-30T18:20:15Z", + "url": "https://github.com/casey/just/discussions/2934", + "summary": "The opener asks whether just could emit telemetry such as traces per invocation and spans per recipe to tools like Sentry or OpenTelemetry, so teams can see which workflows matter, and invites opinions.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human" + }, + { + "id": "DC_kwDOA6gfW84A4kvV", + "kind": "comment", + "actor": "casey", + "createdAt": "2025-10-30T19:21:01Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14830549", + "summary": "The maintainer doubts telemetry can be added in a privacy-respecting way, says it would need per-user opt-in, and floats opt-in logging that users could upload themselves.", + "actorId": "MDQ6VXNlcjE5NDU=", + "actorType": "human", + "parentId": "D_kwDOA6gfW84AirPE" + }, + { + "id": "DC_kwDOA6gfW84A4kxR", + "kind": "reply", + "actor": "apljungquist", + "createdAt": "2025-10-30T19:40:17Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14830673", + "summary": "The opener clarifies the data would go to the user's own team via a DSN set in an environment variable, not to the just maintainers.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A4kvV" + }, + { + "id": "DC_kwDOA6gfW84A44ea", + "kind": "reply", + "actor": "laniakea64", + "createdAt": "2025-11-08T16:44:37Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14911386", + "summary": "A contributor suggests putting telemetry behind a cargo feature that is off by default, so only self-compiled builds contain it.", + "actorId": "MDQ6VXNlcjE2NjI4NDEx", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A4kvV" + }, + { + "id": "DC_kwDOA6gfW84A44hH", + "kind": "comment", + "actor": "laniakea64", + "createdAt": "2025-11-08T17:27:37Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14911559", + "summary": "The same contributor asks whether the opener could instrument their own recipes instead, warning that even optional telemetry in just would be seen as a privacy intrusion by most users.", + "actorId": "MDQ6VXNlcjE2NjI4NDEx", + "actorType": "human", + "parentId": "D_kwDOA6gfW84AirPE" + }, + { + "id": "DC_kwDOA6gfW84A47rP", + "kind": "reply", + "actor": "apljungquist", + "createdAt": "2025-11-10T13:01:33Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14924495", + "summary": "The opener says per-recipe instrumentation works but is noisy and laborious, since just is a natural chokepoint, and accepts the privacy concern outweighs the benefit if few users want it.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A44hH" + }, + { + "id": "DC_kwDOA6gfW84A47rZ", + "kind": "reply", + "actor": "apljungquist", + "createdAt": "2025-11-10T13:02:09Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14924505", + "summary": "The opener agrees with the maintainer's opt-in point.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A4kvV" + }, + { + "id": "DC_kwDOA6gfW84A47sE", + "kind": "comment", + "actor": "apljungquist", + "createdAt": "2025-11-10T13:06:19Z", + "editedAt": "2025-11-10T13:06:28Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-14924548", + "summary": "The opener explains they wanted to learn from others' experience and gauge whether anyone else would use such a feature.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "D_kwDOA6gfW84AirPE" + }, + { + "id": "DC_kwDOA6gfW84A8JNE", + "kind": "reply", + "actor": "thePanz", + "createdAt": "2026-02-11T09:05:44Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-15766340", + "summary": "A user proposes a pre-invocation hook as a generic place to record runs.", + "actorId": "MDQ6VXNlcjIyNjAyMQ==", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A47sE" + }, + { + "id": "DC_kwDOA6gfW84A8Jgk", + "kind": "reply", + "actor": "apljungquist", + "createdAt": "2026-02-11T10:41:21Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-15767588", + "summary": "The opener says a hook could work if it fires at the right time and exposes the recipe name, duration and justfile location.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84A47sE" + }, + { + "id": "DC_kwDOA6gfW84BFzFT", + "kind": "comment", + "actor": "mlavrinenko", + "createdAt": "2026-09-04T22:24:33Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-18297171", + "summary": "A user wishes just would stream run events to a file named by an environment variable, so telemetry and CI tools could be built on top.", + "actorId": "MDQ6VXNlcjE1ODQwMjE0", + "actorType": "human", + "parentId": "D_kwDOA6gfW84AirPE" + }, + { + "id": "DC_kwDOA6gfW84BF0BW", + "kind": "reply", + "actor": "apljungquist", + "createdAt": "2026-09-05T06:57:31Z", + "url": "https://github.com/casey/just/discussions/2934#discussioncomment-18301014", + "summary": "The opener points to Nix's socket event stream as a vendor-neutral model, noting it is harder for collaborators to set up.", + "actorId": "MDQ6VXNlcjY0MjA5OTE=", + "actorType": "human", + "parentId": "DC_kwDOA6gfW84BFzFT" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/lazygit-worktree-ux.json b/evals/datasets/decisions-v1/cases/lazygit-worktree-ux.json new file mode 100644 index 000000000..c86d42ba2 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/lazygit-worktree-ux.json @@ -0,0 +1,295 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "lazygit-worktree-ux", + "title": "Worktree UX in lazygit", + "source": { + "url": "https://github.com/jesseduffield/lazygit/discussions/2803", + "retrievedAt": "2026-10-18T07:35:23.230693+00:00", + "repository": "jesseduffield/lazygit", + "number": 2803, + "nodeId": "D_kwDOB_zxBs4AUsHZ" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-07-21T00:00:00Z" + }, + { + "id": "c2", + "at": "2023-07-26T00:00:00Z" + }, + { + "id": "c3", + "at": "2023-07-29T09:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOB_zxBs4AUsHZ", + "kind": "opening", + "actor": "jesseduffield", + "createdAt": "2023-07-20T23:49:33Z", + "editedAt": "2023-07-30T10:00:49Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803", + "summary": "The owner, about to ship worktree support, asks how people use worktrees: one per branch or a reused few, inside or outside the repo, bare repos or not, since this shapes labels in the branches view and whether creating a worktree needs input.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human" + }, + { + "id": "DC_kwDOB_zxBs4AY3dx", + "kind": "comment", + "actor": "briandipalma", + "createdAt": "2023-07-22T22:32:56Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6518641", + "summary": "A contributor asks whether reusing a few worktrees differs from cloning several times.", + "actorId": "MDQ6VXNlcjE1OTc4MjA=", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AY3gA", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-07-22T23:42:31Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6518784", + "summary": "The owner explains worktrees share one repository while clones are separate.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AY3dx" + }, + { + "id": "DC_kwDOB_zxBs4AY6FX", + "kind": "comment", + "actor": "TheDevelolper", + "createdAt": "2023-07-24T13:01:04Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6529367", + "summary": "A user says easier worktree creation would make them use worktrees, mainly for PRs.", + "actorId": "MDQ6VXNlcjQwMjY1NTM=", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AY6kc", + "kind": "comment", + "actor": "williamgoulois", + "createdAt": "2023-07-24T15:56:27Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6531356", + "summary": "A user describes a bare-repo layout with one worktree per branch, how they create worktrees, and that worktree names are shortened branch names.", + "actorId": "MDQ6VXNlcjM3MjcxOTcw", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AY7Qb", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-07-24T22:14:46Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6534171", + "summary": "The owner asks detailed follow-ups: whether one name could serve both branch and worktree, whether a per-repo worktree location setting would help, deleting pairs together, and what opening from a bare-repo root should show.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AY6kc" + }, + { + "id": "DC_kwDOB_zxBs4AY8Qs", + "kind": "reply", + "actor": "williamgoulois", + "createdAt": "2023-07-25T09:32:16Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6538284", + "summary": "The user answers: company branch naming makes separate names useful, a configurable worktree location would help, they rarely delete, and a worktree list for bare-repo roots would be nice.", + "actorId": "MDQ6VXNlcjM3MjcxOTcw", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AY6kc" + }, + { + "id": "DC_kwDOB_zxBs4AY972", + "kind": "comment", + "actor": "briandipalma", + "createdAt": "2023-07-25T22:36:16Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6545142", + "summary": "A contributor finds bare repos pointless, manages worktrees with git aliases from the CLI, and doubts lazygit can add much beyond deleting a worktree and branch together.", + "actorId": "MDQ6VXNlcjE1OTc4MjA=", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AZG3f", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-07-29T08:45:31Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6581727", + "summary": "The owner defers the shared-name and location-config ideas and bare-repo root support to a future iteration, and notes a detach action already covers checkout conflicts.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AY6kc" + }, + { + "id": "DC_kwDOB_zxBs4AZG3n", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-07-29T08:46:44Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6581735", + "summary": "The owner thanks the contributor.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AY972" + }, + { + "id": "DC_kwDOB_zxBs4AZYos", + "kind": "comment", + "actor": "thenbe", + "createdAt": "2023-08-07T04:26:49Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6654508", + "summary": "A user asks whether lazygit could change the shell into the selected worktree.", + "actorId": "MDQ6VXNlcjMzNzEzMjYy", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AZYqf", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-08-07T04:59:41Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-6654623", + "summary": "The owner says lazygit switches to a worktree on selection and the shell can follow on exit via documented setup.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AZYos" + }, + { + "id": "DC_kwDOB_zxBs4AbnUL", + "kind": "comment", + "actor": "V4G4X", + "createdAt": "2023-10-10T09:20:44Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-7238923", + "summary": "A user reports opening a worktree in the editor hangs and asks to swap the quit keys.", + "actorId": "MDQ6VXNlcjM0MjQ5MTM3", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AbnVx", + "kind": "reply", + "actor": "mark2185", + "createdAt": "2023-10-10T09:30:50Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-7239025", + "summary": "A maintainer suggests testing the editor command manually and shows the quit keybinding config.", + "actorId": "MDQ6VXNlcjgzNjUyNDE=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AbnUL" + }, + { + "id": "DC_kwDOB_zxBs4AbnsG", + "kind": "reply", + "actor": "V4G4X", + "createdAt": "2023-10-10T12:17:19Z", + "editedAt": "2023-10-10T12:17:39Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-7240454", + "summary": "The user decides to keep the default keys.", + "actorId": "MDQ6VXNlcjM0MjQ5MTM3", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AbnUL" + }, + { + "id": "DC_kwDOB_zxBs4AbpHT", + "kind": "reply", + "actor": "jesseduffield", + "createdAt": "2023-10-10T21:43:16Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-7246291", + "summary": "The owner asks the user to test the hang on master.", + "actorId": "MDQ6VXNlcjg0NTY2MzM=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AbnUL" + }, + { + "id": "DC_kwDOB_zxBs4AcZEh", + "kind": "reply", + "actor": "V4G4X", + "createdAt": "2023-11-01T06:58:39Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-7442721", + "summary": "The user reports a quoting difference in the editor command and that master works.", + "actorId": "MDQ6VXNlcjM0MjQ5MTM3", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AbnUL" + }, + { + "id": "DC_kwDOB_zxBs4AfbEL", + "kind": "comment", + "actor": "diego898", + "createdAt": "2024-01-24T20:24:27Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-8237323", + "summary": "A user describes a bare-repo setup that lazygit cannot open from the project root and asks for support.", + "actorId": "MDQ6VXNlcjc0MjQwNw==", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AfcS-", + "kind": "comment", + "actor": "Nikola-Milovic", + "createdAt": "2024-01-25T08:49:37Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-8242366", + "summary": "A user asks for an option to copy ignored files such as env files and node_modules into new worktrees.", + "actorId": "MDQ6VXNlcjUwMDcyMDI3", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AiDfH", + "kind": "comment", + "actor": "rsniezek", + "createdAt": "2024-03-27T11:37:24Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-8927175", + "summary": "A contributor also uses a bare repo with one worktree per branch and links a video.", + "actorId": "MDQ6VXNlcjE5NDMzMjU2", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4Aink-", + "kind": "reply", + "actor": "jelling", + "createdAt": "2024-04-10T18:44:05Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-9075006", + "summary": "A user links a blog script that handles node_modules for worktrees.", + "actorId": "MDQ6VXNlcjE4ODc0ODY=", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AfcS-" + }, + { + "id": "DC_kwDOB_zxBs4Am5R7", + "kind": "comment", + "actor": "rswdch", + "createdAt": "2024-07-31T01:39:29Z", + "editedAt": "2024-07-31T01:41:54Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-10196091", + "summary": "A user describes a non-bare per-branch layout and reports that creating a worktree from a remote branch leaves it on no branch.", + "actorId": "MDQ6VXNlcjEzODIzMzQx", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AnuWM", + "kind": "comment", + "actor": "mattiasunger", + "createdAt": "2024-08-21T23:52:52Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-10413452", + "summary": "A user asks for a setting that derives worktree name and path from the branch name to avoid typos.", + "actorId": "MDQ6VXNlcjI0ODk2NDcx", + "actorType": "human", + "parentId": "D_kwDOB_zxBs4AUsHZ" + }, + { + "id": "DC_kwDOB_zxBs4AzRAG", + "kind": "reply", + "actor": "rasibn", + "createdAt": "2025-06-11T21:57:50Z", + "url": "https://github.com/jesseduffield/lazygit/discussions/2803#discussioncomment-13438982", + "summary": "A user lists wished-for defaults: worktree name from the local branch, and from the remote branch name for remote refs.", + "actorId": "MDQ6VXNlcjQ5NzA5MTE2", + "actorType": "human", + "parentId": "DC_kwDOB_zxBs4AnuWM" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/logseq-hierarchy-above-backlinks.json b/evals/datasets/decisions-v1/cases/logseq-hierarchy-above-backlinks.json new file mode 100644 index 000000000..49ac18060 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/logseq-hierarchy-above-backlinks.json @@ -0,0 +1,157 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "logseq-hierarchy-above-backlinks", + "title": "Where the page hierarchy section should sit relative to backlinks", + "source": { + "url": "https://github.com/logseq/logseq/discussions/5115", + "retrievedAt": "2026-10-18T07:11:49.075834+00:00", + "repository": "logseq/logseq", + "number": 5115, + "nodeId": "D_kwDOD95dbc4APaXW" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-04-27T20:00:00Z" + }, + { + "id": "c2", + "at": "2023-01-05T15:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOD95dbc4APaXW", + "kind": "opening", + "actor": "domhel", + "createdAt": "2022-04-27T18:50:46Z", + "url": "https://github.com/logseq/logseq/discussions/5115", + "summary": "The opener asks for the hierarchy section to appear above backlinks, since scrolling to the page bottom every time they navigate is tiresome.", + "actorId": "MDQ6VXNlcjQ2OTM1Mjkx", + "actorType": "human" + }, + { + "id": "DC_kwDOD95dbc4AKH5Q", + "kind": "comment", + "actor": "meldarionqeusse", + "createdAt": "2022-04-27T22:37:16Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-2653776", + "summary": "A user would rather have the hierarchy at the very top of the page.", + "actorId": "MDQ6VXNlcjIxNjY4OTY0", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4AKH5R", + "kind": "comment", + "actor": "cannibalox", + "createdAt": "2022-04-28T02:03:59Z", + "editedAt": "2022-04-28T02:22:08Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-2653777", + "summary": "A user warns that large hierarchies would push notes far down if moved up, and instead proposes a jump-to-section shortcut plus a fold toggle in the short term, with longer-term ideas such as a collapsible tree, a floating window, or a single-line breadcrumb with dropdowns.", + "actorId": "MDQ6VXNlcjQ2MDU2OTM=", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4AKH5S", + "kind": "comment", + "actor": "meldarionqeusse", + "createdAt": "2022-04-28T07:15:39Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-2653778", + "summary": "The user who wanted it at the top says they would accept a long list and simply collapse it, as their hierarchies are only a few items.", + "actorId": "MDQ6VXNlcjIxNjY4OTY0", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4AK_ey", + "kind": "comment", + "actor": "castellco", + "createdAt": "2022-06-04T01:05:07Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-2881458", + "summary": "A user supports the change, saying it would make Logseq a good substitute for Dendron's hierarchy-first notes.", + "actorId": "U_kgDOBZ5f7g", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4ANVaZ", + "kind": "comment", + "actor": "TimLamoureux", + "createdAt": "2022-08-28T23:53:23Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-3495577", + "summary": "A user also wants hierarchy above tags and linked references, speculates it may load faster, and suggests making the section order configurable via drag and drop or config.edn.", + "actorId": "MDQ6VXNlcjQ0MDQ5NDA=", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4ARjiZ", + "kind": "comment", + "actor": "bendyorke", + "createdAt": "2023-01-05T14:18:24Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-4602009", + "summary": "A contributor suggests making the order themeable by laying the sections out in one flex column so each can be reordered with CSS order.", + "actorId": "MDQ6VXNlcjM0ODg4Nzk=", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4ARj2Q", + "kind": "reply", + "actor": "lef-est", + "createdAt": "2023-01-05T16:25:18Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-4603280", + "summary": "A user backs moving it up with a config.edn threshold for auto-collapsing, mirroring the existing linked-references setting.", + "actorId": "MDQ6VXNlcjk2NDM2Mzc=", + "actorType": "human", + "parentId": "DC_kwDOD95dbc4AKH5Q" + }, + { + "id": "DC_kwDOD95dbc4ARlkc", + "kind": "reply", + "actor": "EasonSpirit", + "createdAt": "2023-01-06T09:50:09Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-4610332", + "summary": "A user points to a forum thread where people can vote on a collapsible tree view for hierarchies.", + "actorId": "MDQ6VXNlcjEwMTg2MjEw", + "actorType": "human", + "parentId": "DC_kwDOD95dbc4AKH5R" + }, + { + "id": "DC_kwDOD95dbc4AgEEp", + "kind": "comment", + "actor": "filiptrplan", + "createdAt": "2024-02-08T09:28:23Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-8405289", + "summary": "A user asks whether anyone has found a way to put hierarchy above backlinks.", + "actorId": "MDQ6VXNlcjg2NDM0NTc=", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4AjlC7", + "kind": "comment", + "actor": "chrispaynter", + "createdAt": "2024-05-06T09:09:25Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-9326779", + "summary": "A user adds support, explaining that on namespace root pages they want the hierarchy and find linked references mostly noise there.", + "actorId": "MDQ6VXNlcjE2ODQwODM=", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + }, + { + "id": "DC_kwDOD95dbc4Ar3Z5", + "kind": "comment", + "actor": "jacob-404", + "createdAt": "2024-12-08T12:16:50Z", + "url": "https://github.com/logseq/logseq/discussions/5115#discussioncomment-11499129", + "summary": "A user shares a custom.css snippet that uses flex ordering to place the hierarchy above backlinks or first on the page, noting it syncs across devices with the graph.", + "actorId": "U_kgDOC2KimQ", + "actorType": "human", + "parentId": "D_kwDOD95dbc4APaXW" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/mastodon-browse-remote-local-timeline.json b/evals/datasets/decisions-v1/cases/mastodon-browse-remote-local-timeline.json new file mode 100644 index 000000000..7bd1cda4f --- /dev/null +++ b/evals/datasets/decisions-v1/cases/mastodon-browse-remote-local-timeline.json @@ -0,0 +1,815 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "mastodon-browse-remote-local-timeline", + "title": "Browsing another instance's local timeline from Mastodon", + "source": { + "url": "https://github.com/mastodon/mastodon/issues/1053", + "retrievedAt": "2026-10-18T07:20:46.364884+00:00", + "repository": "mastodon/mastodon", + "number": 1053 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-04-06T13:30:00Z" + }, + { + "id": "c2", + "at": "2017-05-08T00:00:00Z" + }, + { + "id": "c3", + "at": "2018-03-20T00:00:00Z" + }, + { + "id": "c4", + "at": "2018-03-28T12:00:00Z" + } + ], + "events": [ + { + "id": "mastodon-1053:issue:1053", + "kind": "opening", + "actor": "sturmen", + "createdAt": "2017-04-06T13:10:36Z", + "url": "https://github.com/mastodon/mastodon/issues/1053", + "summary": "The opener, on a small instance, asks for a way to browse other instances' timelines to discover their culture and people to follow, with an admin privacy toggle.", + "actorId": 169858, + "actorType": "human" + }, + { + "id": "mastodon-1053:comment:292187039", + "kind": "comment", + "actor": "padpanik", + "createdAt": "2017-04-06T14:12:55Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-292187039", + "summary": "A user strongly supports the idea and wants to switch between instances' local streams.", + "actorId": 6716168, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:292670688", + "kind": "comment", + "actor": "ryanleesipes", + "createdAt": "2017-04-07T22:54:35Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-292670688", + "summary": "A user says their whole office wants it.", + "actorId": 2141621, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:292695149", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2017-04-08T04:55:12Z", + "editedAt": "2017-04-08T04:56:11Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-292695149", + "summary": "A maintainer marks two duplicates and suggests showing an instance's local timeline to logged-out visitors, like Twitter's logged-out view.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:292695415", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-08T05:02:24Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-292695415", + "summary": "A maintainer confirms the duplicates are marked.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:292937028", + "kind": "comment", + "actor": "madCdan", + "createdAt": "2017-04-10T12:38:22Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-292937028", + "summary": "A user adds support.", + "actorId": 10784600, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:293457379", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-04-12T02:49:57Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-293457379", + "summary": "A user says finding Norwegians to follow is hard without such a view.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:294311292", + "kind": "comment", + "actor": "foozmeat", + "createdAt": "2017-04-15T18:48:50Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-294311292", + "summary": "A contributor sketches an implementation: an admin toggle, a public template showing local public non-reply posts, perhaps at `/public`.", + "actorId": 419456, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:296239644", + "kind": "comment", + "actor": "Shnoulle", + "createdAt": "2017-04-21T16:32:49Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-296239644", + "summary": "A user suggests three admin levels for what such a page shows.", + "actorId": 1439428, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:297391271", + "kind": "comment", + "actor": "2aucka05", + "createdAt": "2017-04-26T12:30:37Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-297391271", + "summary": "A user adds support.", + "actorId": 23218427, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:299648657", + "kind": "comment", + "actor": "Scrxtchy", + "createdAt": "2017-05-06T15:54:42Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-299648657", + "summary": "A user suggests calling it a Remote Timeline.", + "actorId": 12771982, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:299669604", + "kind": "comment", + "actor": "zorun", + "createdAt": "2017-05-06T22:25:37Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-299669604", + "summary": "A user shares a proof-of-concept remote timeline column with a hard-coded instance and no live updates.", + "actorId": 731144, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:299690183", + "kind": "comment", + "actor": "Shnoulle", + "createdAt": "2017-05-07T08:25:22Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-299690183", + "summary": "A user suggests splitting the request into a logged-out local timeline on the home page and loading external timelines inside Mastodon.", + "actorId": 1439428, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:310398128", + "kind": "comment", + "actor": "kevinmarks", + "createdAt": "2017-06-22T14:32:02Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-310398128", + "summary": "A user links an external viewer they built for instance timelines.", + "actorId": 99008, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:312913018", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-07-04T16:12:49Z", + "editedAt": "2017-07-04T16:13:46Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-312913018", + "summary": "A user wants all instances' posts visible to help new instances feel less empty.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:process:cross-referenced:2017-07-09T20:07:48Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2017-07-09T20:07:48Z", + "url": "https://github.com/mastodon/mastodon/issues/1053", + "summary": "The project founder links a PR redesigning the landing page and mounting a public timeline on it.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:332046432", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2017-09-25T23:55:27Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-332046432", + "summary": "A user asks whether public timelines on the about page mean this can close.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:332195331", + "kind": "comment", + "actor": "zcdunn", + "createdAt": "2017-09-26T13:18:59Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-332195331", + "summary": "A user says the about page shows the federated timeline, not another instance's local one, and wants to add a remote local timeline as a column.", + "actorId": 7121969, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:332220725", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2017-09-26T14:40:58Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-332220725", + "summary": "The previous user sees the difference but thinks it diverges from the original request.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:338391986", + "kind": "comment", + "actor": "aa-m-sa", + "createdAt": "2017-10-21T12:46:37Z", + "editedAt": "2017-10-21T12:48:59Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-338391986", + "summary": "A user wants to follow several instances' timelines in one view, like TweetDeck.", + "actorId": 6273178, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:340290822", + "kind": "comment", + "actor": "zer0her0", + "createdAt": "2017-10-29T20:16:51Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-340290822", + "summary": "A user says the federated timeline is too fast and they created accounts on other instances just to read their local timelines.", + "actorId": 18337, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:340607615", + "kind": "comment", + "actor": "D4nte", + "createdAt": "2017-10-30T22:46:45Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-340607615", + "summary": "A user supports remote timelines as a discovery tool.", + "actorId": 300805, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:343902349", + "kind": "comment", + "actor": "ashemedai", + "createdAt": "2017-11-13T12:19:08Z", + "editedAt": "2017-11-13T12:19:22Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-343902349", + "summary": "A user wants to monitor focused instances without following everyone there.", + "actorId": 610865, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:343969104", + "kind": "comment", + "actor": "LC43", + "createdAt": "2017-11-13T16:12:17Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-343969104", + "summary": "A new user lists frictions such as needing separate accounts and tabs per instance.", + "actorId": 48201, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:343989241", + "kind": "comment", + "actor": "nightpool", + "createdAt": "2017-11-13T17:13:22Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-343989241", + "summary": "A maintainer explains that one account already interacts across instances and clarifies locked accounts.", + "actorId": 233815, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344005396", + "kind": "comment", + "actor": "LC43", + "createdAt": "2017-11-13T18:04:50Z", + "editedAt": "2017-11-13T18:05:36Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344005396", + "summary": "The new user says they specifically want columns showing other instances' timelines.", + "actorId": 48201, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344063868", + "kind": "comment", + "actor": "nightpool", + "createdAt": "2017-11-13T21:27:00Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344063868", + "summary": "A maintainer argues people who want another instance's local timeline daily should join it, since remote viewers create a performer-audience imbalance; groups might address the need.", + "actorId": 233815, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344084331", + "kind": "comment", + "actor": "aa-m-sa", + "createdAt": "2017-11-13T22:43:47Z", + "editedAt": "2017-11-13T22:48:08Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344084331", + "summary": "A user accepts that point and asks instead for easier multi-account use.", + "actorId": 6273178, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344092521", + "kind": "comment", + "actor": "remram44", + "createdAt": "2017-11-13T23:20:21Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344092521", + "summary": "A contributor suggests lists might serve topic interests better than instances.", + "actorId": 426784, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344094187", + "kind": "comment", + "actor": "nightpool", + "createdAt": "2017-11-13T23:28:47Z", + "editedAt": "2017-11-13T23:29:14Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344094187", + "summary": "A maintainer links related issues.", + "actorId": 233815, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344095480", + "kind": "comment", + "actor": "aa-m-sa", + "createdAt": "2017-11-13T23:35:42Z", + "editedAt": "2017-11-13T23:37:52Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344095480", + "summary": "A user defends topic instances as good for real decentralisation.", + "actorId": 6273178, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:344390144", + "kind": "comment", + "actor": "NathanHawks", + "createdAt": "2017-11-14T20:36:30Z", + "editedAt": "2017-11-14T20:39:31Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-344390144", + "summary": "A user proposes a simple filter column for posts from one instance, via a search syntax or a dropdown.", + "actorId": 1900336, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:345823907", + "kind": "comment", + "actor": "feoh", + "createdAt": "2017-11-20T20:38:02Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-345823907", + "summary": "A user agrees it is low-hanging fruit.", + "actorId": 330070, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:347829521", + "kind": "comment", + "actor": "fsnk", + "createdAt": "2017-11-29T11:15:04Z", + "editedAt": "2017-11-29T11:31:20Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-347829521", + "summary": "A user suggests treating local timelines as read-only groups, while acknowledging the performing concern.", + "actorId": 3524203, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:347869345", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2017-11-29T14:03:52Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-347869345", + "summary": "A user notes replies do not appear in public timelines, so no full discussion is visible.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:354645960", + "kind": "comment", + "actor": "gegeweb", + "createdAt": "2018-01-01T10:08:28Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-354645960", + "summary": "A user suggests instances exchange public feeds, like Usenet.", + "actorId": 9108457, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:354693144", + "kind": "comment", + "actor": "corbindavenport", + "createdAt": "2018-01-02T02:02:36Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-354693144", + "summary": "A single-user instance admin agrees.", + "actorId": 3879063, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:354713764", + "kind": "comment", + "actor": "gegeweb", + "createdAt": "2018-01-02T07:27:42Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-354713764", + "summary": "The Usenet suggester explains how federated timelines fill and argues feed exchange would aid decentralisation.", + "actorId": 9108457, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:370606983", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2018-03-05T23:38:20Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-370606983", + "summary": "A maintainer notes the public timeline API already supports a local filter, so only the web app is missing it.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:376824833", + "kind": "comment", + "actor": "wxcafe", + "createdAt": "2018-03-28T09:37:48Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-376824833", + "summary": "A contributor with triage rights closes the issue, saying instances show timelines on their about page, a column would add little benefit, and workarounds exist.", + "actorId": 3009327, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:process:closed:2018-03-28T09:37:49Z", + "kind": "process", + "actor": "wxcafe", + "createdAt": "2018-03-28T09:37:49Z", + "url": "https://github.com/mastodon/mastodon/issues/1053", + "summary": "The contributor closes the issue.", + "actorId": 3009327, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:376959663", + "kind": "comment", + "actor": "gegeweb", + "createdAt": "2018-03-28T16:58:52Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-376959663", + "summary": "A user says they do not see the timeline on the about page.", + "actorId": 9108457, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:376963988", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2018-03-28T17:12:07Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-376963988", + "summary": "A user points to the release that added it.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:376973583", + "kind": "comment", + "actor": "gegeweb", + "createdAt": "2018-03-28T17:42:21Z", + "editedAt": "2018-03-28T17:43:09Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-376973583", + "summary": "The user realises they confused it with another app.", + "actorId": 9108457, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:376975317", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2018-03-28T17:47:44Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-376975317", + "summary": "A user reassures them.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:379490631", + "kind": "comment", + "actor": "arilando", + "createdAt": "2018-04-07T18:46:02Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-379490631", + "summary": "A user asks why this obvious feature is missing.", + "actorId": 25887181, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:379500586", + "kind": "comment", + "actor": "remram44", + "createdAt": "2018-04-07T21:29:49Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-379500586", + "summary": "A contributor reminds them the project is volunteer-run.", + "actorId": 426784, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:393121170", + "kind": "comment", + "actor": "BasixKOR", + "createdAt": "2018-05-30T11:05:28Z", + "editedAt": "2018-05-30T11:09:20Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-393121170", + "summary": "A user asks why it was closed, since the about page shows the federated, not local, timeline.", + "actorId": 7413880, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:393361681", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2018-05-31T00:25:16Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-393361681", + "summary": "A maintainer agrees the about page is federated, floats a bot that boosts local posts, and says fragmentation is not a real concern.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:393505501", + "kind": "comment", + "actor": "Tagadda", + "createdAt": "2018-05-31T11:51:08Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-393505501", + "summary": "A user notes admins can choose local, federated or no timeline for the about page.", + "actorId": 36127788, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:403943203", + "kind": "comment", + "actor": "MichaelTunnell", + "createdAt": "2018-07-10T19:44:27Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-403943203", + "summary": "A user strongly disputes the closure, saying viewing an about page without interacting is useless.", + "actorId": 1056731, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407899329", + "kind": "comment", + "actor": "deni", + "createdAt": "2018-07-25T21:19:14Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407899329", + "summary": "A user asks how it can be closed.", + "actorId": 5363898, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407899909", + "kind": "comment", + "actor": "Scrxtchy", + "createdAt": "2018-07-25T21:21:05Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407899909", + "summary": "A user notes it closed months ago.", + "actorId": 12771982, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407900717", + "kind": "comment", + "actor": "deni", + "createdAt": "2018-07-25T21:24:18Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407900717", + "summary": "The user says the feature still does not exist.", + "actorId": 5363898, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407902083", + "kind": "comment", + "actor": "Scrxtchy", + "createdAt": "2018-07-25T21:29:31Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407902083", + "summary": "A user suggests asking for a reopen.", + "actorId": 12771982, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407902204", + "kind": "comment", + "actor": "remram44", + "createdAt": "2018-07-25T21:29:58Z", + "editedAt": "2018-07-25T21:38:18Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407902204", + "summary": "A contributor links a related open issue and asks the user to stop posting so often.", + "actorId": 426784, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407902525", + "kind": "comment", + "actor": "deni", + "createdAt": "2018-07-25T21:31:20Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407902525", + "summary": "The user clarifies they meant to ask why it closed.", + "actorId": 5363898, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:407902707", + "kind": "comment", + "actor": "deni", + "createdAt": "2018-07-25T21:32:02Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-407902707", + "summary": "The user asks whether the linked issue explains the closure.", + "actorId": 5363898, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:412138445", + "kind": "comment", + "actor": "crashb", + "createdAt": "2018-08-10T16:40:19Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-412138445", + "summary": "A new user argues the feature is crucial because people have interests across several topic instances.", + "actorId": 10488673, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:412247823", + "kind": "comment", + "actor": "naught101", + "createdAt": "2018-08-11T03:33:45Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-412247823", + "summary": "A user suggests the about page default to local posts or show both.", + "actorId": 167164, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:412303678", + "kind": "comment", + "actor": "arilando", + "createdAt": "2018-08-11T21:52:14Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-412303678", + "summary": "A user asks why it is closed.", + "actorId": 25887181, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:412305500", + "kind": "comment", + "actor": "eloquence", + "createdAt": "2018-08-11T22:29:39Z", + "editedAt": "2018-08-11T22:39:04Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-412305500", + "summary": "A user summarises the closure rationale, disagrees, and notes a related issue is still open.", + "actorId": 213636, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:421198205", + "kind": "comment", + "actor": "Noxmiles", + "createdAt": "2018-09-14T01:04:29Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-421198205", + "summary": "A user asks whether the feature now exists.", + "actorId": 10343510, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:421254232", + "kind": "comment", + "actor": "Scrxtchy", + "createdAt": "2018-09-14T07:14:16Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-421254232", + "summary": "A user replies dismissively.", + "actorId": 12771982, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:434234833", + "kind": "comment", + "actor": "tmladek", + "createdAt": "2018-10-30T09:45:32Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-434234833", + "summary": "A user adds support, saying separate accounts per instance contradict federation.", + "actorId": 5217341, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:443352065", + "kind": "comment", + "actor": "dmendiza", + "createdAt": "2018-11-30T21:57:35Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-443352065", + "summary": "A user adds support.", + "actorId": 716126, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:443355401", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-11-30T22:12:31Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-443355401", + "summary": "A user notes an Android client already lets people follow other instances' timelines.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:464403265", + "kind": "comment", + "actor": "ealgase", + "createdAt": "2019-02-17T00:40:40Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-464403265", + "summary": "A user adds support.", + "actorId": 11603778, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:474377171", + "kind": "comment", + "actor": "mattcoxonline", + "createdAt": "2019-03-19T13:46:48Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-474377171", + "summary": "A user suggests a `/local` page alongside the existing public one.", + "actorId": 673542, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + }, + { + "id": "mastodon-1053:comment:475291557", + "kind": "comment", + "actor": "MichaelTunnell", + "createdAt": "2019-03-21T16:00:23Z", + "url": "https://github.com/mastodon/mastodon/issues/1053#issuecomment-475291557", + "summary": "A user says per-instance pages are still not enough; they want it in their dashboard.", + "actorId": 1056731, + "actorType": "human", + "parentId": "mastodon-1053:issue:1053" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/mastodon-local-only-posts.json b/evals/datasets/decisions-v1/cases/mastodon-local-only-posts.json new file mode 100644 index 000000000..05e569f77 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/mastodon-local-only-posts.json @@ -0,0 +1,1141 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "mastodon-local-only-posts", + "title": "Local-only post visibility", + "source": { + "url": "https://github.com/mastodon/mastodon/issues/861", + "retrievedAt": "2026-10-18T07:20:40.698297+00:00", + "repository": "mastodon/mastodon", + "number": 861 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-04-16T00:00:00Z" + }, + { + "id": "c2", + "at": "2018-06-13T00:00:00Z" + }, + { + "id": "c3", + "at": "2022-05-24T00:00:00Z" + } + ], + "events": [ + { + "id": "mastodon-861:issue:861", + "kind": "opening", + "actor": "alex73630", + "createdAt": "2017-04-04T16:29:34Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "The opener asks for a 'Local timeline' visibility option so admins can post only to users of their own instance, with a mockup of the privacy menu.", + "actorId": 7538405, + "actorType": "human" + }, + { + "id": "mastodon-861:comment:291890723", + "kind": "comment", + "actor": "yiskah", + "createdAt": "2017-04-05T15:04:12Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-291890723", + "summary": "A contributor objects that it would encourage siloing and piling onto one instance, undermining federation and making users afraid to migrate.", + "actorId": 12243190, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:291892788", + "kind": "comment", + "actor": "alex73630", + "createdAt": "2017-04-05T15:10:39Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-291892788", + "summary": "The opener says the aim is to post instance updates without cluttering federated timelines.", + "actorId": 7538405, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:293429328", + "kind": "comment", + "actor": "seascape", + "createdAt": "2017-04-11T23:28:10Z", + "editedAt": "2017-04-11T23:29:40Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-293429328", + "summary": "A user wants to post occasionally to their instance only, arguing few would turn insular, and describes it as a safety tool for marginalised people wary of outside harassment.", + "actorId": 1672115, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:293461083", + "kind": "comment", + "actor": "zyphlar", + "createdAt": "2017-04-12T03:17:43Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-293461083", + "summary": "A user calls choosing broadcast reach a core federation need, arguing sensitive groups would otherwise fully defederate.", + "actorId": 48434, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:293466388", + "kind": "comment", + "actor": "rmrmadani", + "createdAt": "2017-04-12T03:47:16Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-293466388", + "summary": "A user posts an accidental email unsubscribe reply.", + "actorId": 27310317, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:cross-referenced:2017-04-14T13:17:30Z", + "kind": "process", + "actor": "alkemist", + "createdAt": "2017-04-14T13:17:30Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "A contributor's PR #1761 adding a 'local' visibility is linked; it was later closed.", + "actorId": 293229, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294266375", + "kind": "comment", + "actor": "aral", + "createdAt": "2017-04-15T02:21:08Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294266375", + "summary": "A user lists use cases: family and school instances and admin maintenance notices.", + "actorId": 41798, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294300073", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2017-04-15T15:26:53Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294300073", + "summary": "The lead maintainer notes federation is user-to-followers, not server-to-server, and asks whether the idea is followers on the same instance only.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294303704", + "kind": "comment", + "actor": "datn", + "createdAt": "2017-04-15T16:31:01Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294303704", + "summary": "A user clarifies it is a public post that does not federate, shown on the instance's local timeline.", + "actorId": 928964, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294493810", + "kind": "comment", + "actor": "nightpool", + "createdAt": "2017-04-17T14:17:36Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294493810", + "summary": "A maintainer restates it as a public post blocked from federating, useful for admin and community announcements.", + "actorId": 233815, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294513482", + "kind": "comment", + "actor": "kepstin", + "createdAt": "2017-04-17T15:49:29Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294513482", + "summary": "A user sketches an implementation: show it on the local timeline and treat it like a private post when delivered to remote followers.", + "actorId": 38788, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294577551", + "kind": "comment", + "actor": "seascape", + "createdAt": "2017-04-17T20:11:51Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294577551", + "summary": "A user questions why a local-only post would federate at all.", + "actorId": 1672115, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294585443", + "kind": "comment", + "actor": "kepstin", + "createdAt": "2017-04-17T20:37:26Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294585443", + "summary": "The first user argues it cannot be fully private anyway, so its main purpose is keeping it off remote federated timelines while followers still see it.", + "actorId": 38788, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294611614", + "kind": "comment", + "actor": "seascape", + "createdAt": "2017-04-17T22:20:03Z", + "editedAt": "2017-04-19T01:38:13Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294611614", + "summary": "The other user replies that local should mean local, and remote followers should not see such posts by default.", + "actorId": 1672115, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:294628781", + "kind": "comment", + "actor": "zyphlar", + "createdAt": "2017-04-17T23:47:30Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-294628781", + "summary": "A user calls for stronger, social-network-style privacy controls to protect against dogpiling and stalkers.", + "actorId": 48434, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:297931032", + "kind": "comment", + "actor": "Resosphere", + "createdAt": "2017-04-28T07:42:58Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-297931032", + "summary": "A user adds support for talking only within a small community.", + "actorId": 28136018, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:298192538", + "kind": "comment", + "actor": "hipparkhos", + "createdAt": "2017-04-29T20:27:16Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-298192538", + "summary": "A user supports a post that appears only on the local timeline for thematic instances.", + "actorId": 28203151, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:298233295", + "kind": "comment", + "actor": "rtucker", + "createdAt": "2017-04-30T13:45:27Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-298233295", + "summary": "A contributor says admins need it so local governance does not become a global discussion.", + "actorId": 97437, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:299096503", + "kind": "comment", + "actor": "latrani", + "createdAt": "2017-05-04T04:50:36Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-299096503", + "summary": "A user shares UX sketches from a Discord discussion favouring tabs over a switch, and proposes blocking mentions of off-instance users in local posts.", + "actorId": 514282, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:302925519", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-05-21T09:29:18Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-302925519", + "summary": "A user supports it as a way to foster safer, closer communities.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:310861208", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-06-24T19:34:27Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-310861208", + "summary": "A user bumps the issue.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:333228960", + "kind": "comment", + "actor": "nullbuddy1243", + "createdAt": "2017-09-29T20:19:27Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-333228960", + "summary": "A user argues private instance discussion lets nodes develop distinct identities and that lacking it pushes them toward defederation.", + "actorId": 3485446, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:333236944", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2017-09-29T20:55:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-333236944", + "summary": "A user agrees.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:335919738", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-10-11T19:22:23Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-335919738", + "summary": "A user notes auto-following an admin account since v1.6 partly covers admin announcements.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:335921176", + "kind": "comment", + "actor": "thiagomgd", + "createdAt": "2017-10-11T19:27:41Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-335921176", + "summary": "A user wants local-only posts to avoid exposure on non-Mastodon servers that ignore content warnings.", + "actorId": 12170252, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:336048242", + "kind": "comment", + "actor": "alex73630", + "createdAt": "2017-10-12T07:45:23Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-336048242", + "summary": "The opener says auto-follow does not cover existing users and asks for further discussion on what to build.", + "actorId": 7538405, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:342482159", + "kind": "comment", + "actor": "wxcafe", + "createdAt": "2017-11-07T13:29:39Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-342482159", + "summary": "A contributor says the feature is still needed for admin and community posts.", + "actorId": 3009327, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:labeled:2017-11-07T13:30:08Z", + "kind": "process", + "actor": "wxcafe", + "createdAt": "2017-11-07T13:30:08Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "A contributor labels it admin support.", + "actorId": 3009327, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:labeled:2017-11-07T13:30:08Z+", + "kind": "process", + "actor": "wxcafe", + "createdAt": "2017-11-07T13:30:08Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "A contributor labels it high priority.", + "actorId": 3009327, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:342659461", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-11-07T23:32:13Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-342659461", + "summary": "A user says their instance has to use outside chat services for instance matters.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:342665385", + "kind": "comment", + "actor": "alice-sawatzky", + "createdAt": "2017-11-08T00:03:48Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-342665385", + "summary": "A user compares it to secret Facebook groups and argues it would reduce rather than increase siloing.", + "actorId": 31040183, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:cross-referenced:2017-11-09T02:22:06Z", + "kind": "process", + "actor": "Nanamachi", + "createdAt": "2017-11-09T02:22:06Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "PR #5636 proposing a selectable federation mode is linked; it was later closed.", + "actorId": 22227166, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:344739477", + "kind": "comment", + "actor": "PubliqPhirm", + "createdAt": "2017-11-15T21:48:19Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-344739477", + "summary": "A user notes the current workaround of everyone locking accounts and following each other does not scale.", + "actorId": 24885471, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:347846552", + "kind": "comment", + "actor": "fsnk", + "createdAt": "2017-11-29T12:31:10Z", + "editedAt": "2017-11-29T12:46:04Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-347846552", + "summary": "A user prefers an admin-side pinned local announcement and notes group-only posting gets unrealistic at scale.", + "actorId": 3524203, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:377499630", + "kind": "comment", + "actor": "fsnk", + "createdAt": "2018-03-30T10:42:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-377499630", + "summary": "A user cites Switter as a case where an instance with different content norms needs local discovery without broadcasting to the fediverse.", + "actorId": 3524203, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:377504558", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2018-03-30T11:18:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-377504558", + "summary": "The lead maintainer objects that remote followers would not get these posts, breaking the promise that following works across servers and pushing people to join specific instances.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:377508443", + "kind": "comment", + "actor": "fsnk", + "createdAt": "2018-03-30T11:47:54Z", + "editedAt": "2018-03-30T12:02:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-377508443", + "summary": "The user says they had pictured local as between public and unlisted, still visible to followers.", + "actorId": 3524203, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:377529328", + "kind": "comment", + "actor": "alex73630", + "createdAt": "2018-03-30T13:55:57Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-377529328", + "summary": "The opener says they always meant remote followers would still see it: an unlisted post that is also listed on the local timeline.", + "actorId": 7538405, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396474951", + "kind": "comment", + "actor": "steckerhalter", + "createdAt": "2018-06-12T06:01:07Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396474951", + "summary": "A user wants it so community-only matters do not spam remote followers.", + "actorId": 3024024, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396584425", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2018-06-12T13:13:41Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396584425", + "summary": "The lead maintainer asks whether people would accept the unlisted-plus-local-timeline version, since he thought the request was for posts never leaving the server.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396610190", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-06-12T14:29:16Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396610190", + "summary": "A user says they meant instance-only posts but assumed followers would still see them.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396646270", + "kind": "comment", + "actor": "steckerhalter", + "createdAt": "2018-06-12T16:09:23Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396646270", + "summary": "A user questions why followers must see everything, noting DMs already restrict them.", + "actorId": 3024024, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396650388", + "kind": "comment", + "actor": "alex73630", + "createdAt": "2018-06-12T16:23:06Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396650388", + "summary": "The opener restates that local posts would federate but stay out of federated timelines, and leaves the choice to the lead maintainer.", + "actorId": 7538405, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396699520", + "kind": "comment", + "actor": "steckerhalter", + "createdAt": "2018-06-12T19:05:10Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396699520", + "summary": "A user proposes federating them as unlisted and letting remote users opt in to see others' local posts.", + "actorId": 3024024, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:396966136", + "kind": "comment", + "actor": "zcdunn", + "createdAt": "2018-06-13T14:52:01Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-396966136", + "summary": "A user mentions Pleroma's instance chat as a separate mechanism that sidesteps federation.", + "actorId": 7121969, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:405076661", + "kind": "comment", + "actor": "pwFoo", + "createdAt": "2018-07-15T08:46:21Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-405076661", + "summary": "A user suggests private group messaging (#139) could cover this more flexibly.", + "actorId": 333408, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:cross-referenced:2018-08-25T11:46:17Z", + "kind": "process", + "actor": "renatolond", + "createdAt": "2018-08-25T11:46:17Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "A WIP PR #8427 for instance-only statuses is linked; it was later closed.", + "actorId": 173791, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:419311357", + "kind": "comment", + "actor": "dogshapedangel", + "createdAt": "2018-09-07T03:29:48Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-419311357", + "summary": "A user favours local-plus-followers as a compromise against siloing.", + "actorId": 41547235, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:419328159", + "kind": "comment", + "actor": "steckerhalter", + "createdAt": "2018-09-07T05:35:41Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-419328159", + "summary": "A user proposes addressing posts to instances with mention-like syntax.", + "actorId": 3024024, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:labeled:2018-10-20T05:25:15Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2018-10-20T05:25:15Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "The lead maintainer relabels the issue as a suggestion.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:unlabeled:2018-10-20T05:27:08Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2018-10-20T05:27:08Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "The lead maintainer removes the enhancement label.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:unlabeled:2018-10-20T05:30:54Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2018-10-20T05:30:54Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "The lead maintainer removes the high-priority label.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:444608558", + "kind": "comment", + "actor": "caliboy557", + "createdAt": "2018-12-05T19:18:35Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-444608558", + "summary": "A user asks why the feature is contentious, arguing marginalised groups need audience control and comparing it to Facebook group privacy levels.", + "actorId": 45638711, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:448410444", + "kind": "comment", + "actor": "thiagomgd", + "createdAt": "2018-12-18T23:26:14Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-448410444", + "summary": "A user agrees, surprised that federation offers no way to keep content within a server.", + "actorId": 12170252, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:470673783", + "kind": "comment", + "actor": "caliboy557", + "createdAt": "2019-03-07T20:04:47Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-470673783", + "summary": "The same user argues users, not the project's philosophy, should decide whether to silo their content.", + "actorId": 45638711, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:470863139", + "kind": "comment", + "actor": "smosher", + "createdAt": "2019-03-08T09:27:42Z", + "editedAt": "2019-03-09T02:14:06Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-470863139", + "summary": "A user objects to being misquoted, says they removed their earlier comment, and disengages.", + "actorId": 383027, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:471029175", + "kind": "comment", + "actor": "caliboy557", + "createdAt": "2019-03-08T18:30:39Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-471029175", + "summary": "The user responds by restating that people should be given tools and left to choose.", + "actorId": 45638711, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:491462604", + "kind": "comment", + "actor": "bixfrankonis", + "createdAt": "2019-05-11T00:17:22Z", + "editedAt": "2019-05-11T00:28:52Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-491462604", + "summary": "A user ties the request to the shift toward calling instances communities, and leans against remote followers seeing such posts.", + "actorId": 9289469, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:491463892", + "kind": "comment", + "actor": "ghost", + "createdAt": "2019-05-11T00:30:38Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-491463892", + "summary": "A user urges the lead maintainer to listen to users after two years.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:492649603", + "kind": "comment", + "actor": "ryliejamesthomas", + "createdAt": "2019-05-15T13:15:46Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-492649603", + "summary": "A user says the framing captures a broader difference in perspectives.", + "actorId": 25972447, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:492657595", + "kind": "comment", + "actor": "shrmn", + "createdAt": "2019-05-15T13:36:51Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-492657595", + "summary": "A user says more visibility options cannot hurt.", + "actorId": 530102, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:593585365", + "kind": "comment", + "actor": "arturdesouza", + "createdAt": "2020-03-02T19:50:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-593585365", + "summary": "A user tries to revive the issue, framing it as an extra privacy level rather than secrecy, with boosts warning when content leaves the instance.", + "actorId": 61709000, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:601156071", + "kind": "comment", + "actor": "zyphlar", + "createdAt": "2020-03-19T12:41:05Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-601156071", + "summary": "A user argues even secrecy features would be good for vulnerable users.", + "actorId": 48434, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:726247196", + "kind": "comment", + "actor": "GerryT11", + "createdAt": "2020-11-12T18:09:51Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-726247196", + "summary": "A user running a sports association instance says the option is needed for internal chatter.", + "actorId": 58103727, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:757968222", + "kind": "comment", + "actor": "spaceottercode", + "createdAt": "2021-01-11T13:57:56Z", + "editedAt": "2021-01-11T14:12:57Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-757968222", + "summary": "A user frames local as a federate flag on top of existing visibility levels and suggests admin-set defaults.", + "actorId": 36016546, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1013324950", + "kind": "comment", + "actor": "James-E-A", + "createdAt": "2022-01-14T17:39:46Z", + "editedAt": "2022-02-23T00:15:12Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1013324950", + "summary": "A user proposes a non-sticky per-post 'disable federation' checkbox with a warning, arguing that limits siloing.", + "actorId": 2776014, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1048328064", + "kind": "comment", + "actor": "James-E-A", + "createdAt": "2022-02-23T00:05:44Z", + "editedAt": "2022-02-23T00:10:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1048328064", + "summary": "The same user lists risks of fragile privacy promises with outdated or malicious peers, but says per-post defederation avoids them.", + "actorId": 2776014, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1113879654", + "kind": "comment", + "actor": "eloquence", + "createdAt": "2022-04-30T00:55:26Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1113879654", + "summary": "A user asks whether maintainers are considering other solutions for instance-level chatter.", + "actorId": 213636, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1113963323", + "kind": "comment", + "actor": "spaceottercode", + "createdAt": "2022-04-30T10:16:52Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1113963323", + "summary": "A user asks what is blocking it and suggests making it admin-optional.", + "actorId": 36016546, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1134982219", + "kind": "comment", + "actor": "wolfteeth", + "createdAt": "2022-05-23T18:08:00Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1134982219", + "summary": "A user notes forks have it and believes an earlier volunteer implementation was declined on philosophical grounds.", + "actorId": 1330625, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1135022537", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2022-05-23T18:49:31Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1135022537", + "summary": "The lead maintainer says planned groups, whose posts go only to members, would cover local-only use without hardcoding it, which he strongly opposes as centralising; groups were planned for that year.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1135050662", + "kind": "comment", + "actor": "wolfteeth", + "createdAt": "2022-05-23T19:20:04Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1135050662", + "summary": "A user asks whether groups are like Facebook groups and says they may satisfy the request.", + "actorId": 1330625, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1135066037", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2022-05-23T19:37:05Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1135066037", + "summary": "The lead maintainer confirms Facebook-style groups and mentions circles code stuck on reply-distribution protocol issues.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1135153750", + "kind": "comment", + "actor": "hipparkhos", + "createdAt": "2022-05-23T21:27:59Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1135153750", + "summary": "A user welcomes groups as a solution.", + "actorId": 28203151, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1135173149", + "kind": "comment", + "actor": "eloquence", + "createdAt": "2022-05-23T21:55:49Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1135173149", + "summary": "A user welcomes groups and notes admin-only local groups seem benign.", + "actorId": 213636, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1141254549", + "kind": "comment", + "actor": "James-E-A", + "createdAt": "2022-05-30T15:00:53Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1141254549", + "summary": "A user argues groups are fundamentally different from per-post defederation and an awkward workaround for admins.", + "actorId": 2776014, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1330007518", + "kind": "comment", + "actor": "isosphere", + "createdAt": "2022-11-29T02:55:13Z", + "editedAt": "2022-11-29T02:57:27Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1330007518", + "summary": "A user cites a medical instance where local-only questions would reach expert peers.", + "actorId": 163370, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1363184215", + "kind": "comment", + "actor": "herlitz", + "createdAt": "2022-12-22T17:57:11Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1363184215", + "summary": "A user does not want to spam followers with server-specific matters.", + "actorId": 1844610, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1373873755", + "kind": "comment", + "actor": "micahwalter", + "createdAt": "2023-01-06T16:36:37Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1373873755", + "summary": "A user copies a duplicate request arguing local-only posts would strengthen server communities.", + "actorId": 47419, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1383308132", + "kind": "comment", + "actor": "tylerlucas", + "createdAt": "2023-01-16T00:45:24Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1383308132", + "summary": "A user says groups add complexity and local-only should be offered directly.", + "actorId": 8421455, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1463039924", + "kind": "comment", + "actor": "davetapley", + "createdAt": "2023-03-10T00:42:13Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1463039924", + "summary": "A user describes a neighbourhood group that could leave Facebook and notes glitch-soc already has local-only posts.", + "actorId": 48232, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1604298250", + "kind": "comment", + "actor": "georgeh", + "createdAt": "2023-06-23T13:37:10Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1604298250", + "summary": "A user wants it as a middle ground given Meta's plans to federate.", + "actorId": 128240, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1701827776", + "kind": "comment", + "actor": "brendanjones", + "createdAt": "2023-08-31T21:47:32Z", + "editedAt": "2023-08-31T21:47:55Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1701827776", + "summary": "A contributor cites a server-specific post that reached their feed.", + "actorId": 16049594, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1855589992", + "kind": "comment", + "actor": "Kiloku", + "createdAt": "2023-12-14T10:31:26Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1855589992", + "summary": "A user also asks for excluding chosen instances per post.", + "actorId": 4577144, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1855900986", + "kind": "comment", + "actor": "brendanjones", + "createdAt": "2023-12-14T13:57:27Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1855900986", + "summary": "A contributor says per-instance exclusion needs more controls and belongs in a later version.", + "actorId": 16049594, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1963421823", + "kind": "comment", + "actor": "brookmiles", + "createdAt": "2024-02-26T06:43:47Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1963421823", + "summary": "An admin contributor details admin needs such as local-only announcements and polls, and the shortcomings of current workarounds.", + "actorId": 323682, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:1963939033", + "kind": "comment", + "actor": "Kiloku", + "createdAt": "2024-02-26T11:36:38Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-1963939033", + "summary": "A user notes several forks implement it.", + "actorId": 4577144, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:2366830942", + "kind": "comment", + "actor": "Kiloku", + "createdAt": "2024-09-22T15:11:52Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-2366830942", + "summary": "A user needs an instance-only poll that outsiders would otherwise skew.", + "actorId": 4577144, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:process:unlabeled:2024-10-15T09:40:37Z", + "kind": "process", + "actor": "renchap", + "createdAt": "2024-10-15T09:40:37Z", + "url": "https://github.com/mastodon/mastodon/issues/861", + "summary": "A maintainer removes the suggestion label.", + "actorId": 42070, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:2564803969", + "kind": "comment", + "actor": "monsieurhiboux", + "createdAt": "2024-12-29T18:17:18Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-2564803969", + "summary": "A user adds support.", + "actorId": 4651441, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:2716077210", + "kind": "comment", + "actor": "sfirke", + "createdAt": "2025-03-12T00:44:56Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-2716077210", + "summary": "A user on a city instance wants it for local event posts.", + "actorId": 7569808, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:2716088560", + "kind": "comment", + "actor": "cdzombak", + "createdAt": "2025-03-12T00:51:04Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-2716088560", + "summary": "That instance's admin says users have asked for it for years.", + "actorId": 102904, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:3193402172", + "kind": "comment", + "actor": "Juice805", + "createdAt": "2025-08-16T05:20:29Z", + "editedAt": "2026-02-18T20:09:00Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-3193402172", + "summary": "A user on a family instance says lacking it makes full defederation likelier, and suggests an admin toggle off by default.", + "actorId": 8647159, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:3868274655", + "kind": "comment", + "actor": "rkingett", + "createdAt": "2026-02-08T21:09:46Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-3868274655", + "summary": "A user points out that another network and several Mastodon forks now offer it.", + "actorId": 13171660, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:3921481882", + "kind": "comment", + "actor": "georgeh", + "createdAt": "2026-02-18T15:30:15Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-3921481882", + "summary": "A user cites the project's 2026 technical direction post about servers having their own character and argues local-only posts support it.", + "actorId": 128240, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:4918336589", + "kind": "comment", + "actor": "stefanbohacek", + "createdAt": "2026-07-08T19:09:23Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-4918336589", + "summary": "A user notes another network has shipped local-only posts.", + "actorId": 3909390, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:4951473378", + "kind": "comment", + "actor": "shaedrich", + "createdAt": "2026-07-12T14:08:27Z", + "editedAt": "2026-07-12T14:09:51Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-4951473378", + "summary": "A user questions the local events case and identifies two distinct designs: a visibility level or a federation control, or both.", + "actorId": 11225821, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:4951913477", + "kind": "comment", + "actor": "brendanjones", + "createdAt": "2026-07-12T16:27:47Z", + "editedAt": "2026-07-12T16:28:58Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-4951913477", + "summary": "A contributor suggests geographic tagging for location posts alongside server-only posts.", + "actorId": 16049594, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + }, + { + "id": "mastodon-861:comment:4953165032", + "kind": "comment", + "actor": "seleb", + "createdAt": "2026-07-12T23:15:38Z", + "url": "https://github.com/mastodon/mastodon/issues/861#issuecomment-4953165032", + "summary": "A user summarises why the request is still ambiguous: possibly low priority, possibly redundant with groups or circles, or seen as against the project's philosophy, and lists rebuttals.", + "actorId": 6496840, + "actorType": "human", + "parentId": "mastodon-861:issue:861" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/mastodon-quote-toots.json b/evals/datasets/decisions-v1/cases/mastodon-quote-toots.json new file mode 100644 index 000000000..2dafbec09 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/mastodon-quote-toots.json @@ -0,0 +1,514 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "mastodon-quote-toots", + "title": "Whether Mastodon should add quote toots", + "source": { + "url": "https://github.com/mastodon/mastodon/issues/12753", + "retrievedAt": "2026-10-18T07:02:20.634890+00:00", + "repository": "mastodon/mastodon", + "number": 12753 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-01-03T19:15:00Z" + }, + { + "id": "c2", + "at": "2020-01-09T19:20:00Z" + }, + { + "id": "c3", + "at": "2020-01-15T00:00:00Z" + }, + { + "id": "c4", + "at": "2020-01-20T00:00:00Z" + } + ], + "events": [ + { + "id": "mastodon-12753:issue:12753", + "kind": "opening", + "actor": "thehonkinggoose", + "createdAt": "2020-01-03T19:12:41Z", + "url": "https://github.com/mastodon/mastodon/issues/12753", + "summary": "The opener asks for a quote button in the web client plus a notification to the quoted person, arguing that link previews already allow unnoticed quoting that may be worse than a visible feature.", + "actorId": 8227641, + "actorType": "human" + }, + { + "id": "mastodon-12753:comment:570671670", + "kind": "comment", + "actor": "nuklearfiziks", + "createdAt": "2020-01-03T19:21:42Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570671670", + "summary": "A user flags a likely duplicate of #309 and strongly opposes quoting, saying it worsened discourse on Twitter.", + "actorId": 40371794, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570678300", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-03T19:46:25Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570678300", + "summary": "The opener replies that quoting already happens via links, and that a proper feature would improve workflows, let quoted people respond, and reduce permanent screenshots.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570753110", + "kind": "comment", + "actor": "shleeable", + "createdAt": "2020-01-04T03:36:11Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570753110", + "summary": "A contributor likes the mockup and supports quoting.", + "actorId": 17537000, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570760752", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2020-01-04T06:18:49Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570760752", + "summary": "A maintainer says the friction is deliberate: people should mention or reply rather than quote, and calls it a duplicate of #309.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570760989", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-04T06:23:18Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570760989", + "summary": "The opener asks why users should be pushed to reply rather than quote.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570762044", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2020-01-04T06:46:43Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570762044", + "summary": "The maintainer says broadcasting to followers is no more productive than arguing.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570796584", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-04T15:58:33Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570796584", + "summary": "The opener adds an accessibility argument: screenshots often lack alt text, while native quotes would be readable.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570814161", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-04T19:47:37Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570814161", + "summary": "The opener points out that the project's own Twitter account uses quote tweets.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570821865", + "kind": "comment", + "actor": "wakest", + "createdAt": "2020-01-04T21:34:52Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570821865", + "summary": "A user notes forks such as fedibird already support quotes and argues moderation, not missing features, should handle abuse.", + "actorId": 7890201, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570822434", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-04T21:44:00Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570822434", + "summary": "The opener agrees and calls the stance hypocritical given the project's Twitter use.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570835995", + "kind": "comment", + "actor": "codesections", + "createdAt": "2020-01-05T01:42:12Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570835995", + "summary": "A contributor sees the absence of quoting as a key Mastodon strength, since quoting plus notifying invites pile-ons, while subtoots do less harm.", + "actorId": 35405463, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570842405", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2020-01-05T03:02:35Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570842405", + "summary": "The maintainer rebuts the accessibility argument and lists harms of quote boosting: broken threads, nested quotes and performative posting; they cite the 2018 project blog post rejecting quotes.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570899279", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2020-01-05T10:48:04Z", + "editedAt": "2020-01-05T13:47:13Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570899279", + "summary": "A user objects that the maintainer's alt-text reply dismisses a systemic accessibility point.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:570899541", + "kind": "comment", + "actor": "Cassolotl", + "createdAt": "2020-01-05T10:51:28Z", + "editedAt": "2020-01-05T10:55:57Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-570899541", + "summary": "A user says the project founder has repeatedly refused quoting, notes #309 was closed as won't-fix despite being among the most upvoted issues, and suggests keeping this one open.", + "actorId": 6607512, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572712409", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T19:18:42Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572712409", + "summary": "A contributor proposes quoting with consent: a per-user setting allowing quotes, admin defaults, and a way to withdraw quotes later.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572713823", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-09T19:21:51Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572713823", + "summary": "The opener objects that authors should not be able to delete criticism by removing quotes.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572719101", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T19:33:59Z", + "editedAt": "2020-01-09T19:35:48Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572719101", + "summary": "The contributor insists deleting a post must remove its quotes too, leaving a placeholder, with a mockup.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572721163", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-09T19:39:10Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572721163", + "summary": "The opener compares quotes to quoting in blogs and argues retaining them serves the public interest, citing politicians.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572729108", + "kind": "comment", + "actor": "CoWinkKeyDinkInc", + "createdAt": "2020-01-09T19:57:33Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572729108", + "summary": "A user supports quotes to help news sharing.", + "actorId": 7586568, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572729916", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T19:59:34Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572729916", + "summary": "The contributor says retaining quotes is an abuse vector and opt-in plus removal are needed for safety.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572733690", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-09T20:09:16Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572733690", + "summary": "The opener argues kept quote text is no less safe than web archives.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572747670", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T20:46:55Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572747670", + "summary": "The contributor argues users have a right to delete their data and quotes should drop identifying content.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572751403", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-09T20:55:56Z", + "editedAt": "2020-01-09T20:56:30Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572751403", + "summary": "The opener argues people should not be able to erase references to their posts, citing fair use.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572762359", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T21:22:27Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572762359", + "summary": "The contributor rejects call-out culture and describes how quoting can drive pile-ons.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572766307", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-09T21:32:52Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572766307", + "summary": "The opener defends call-outs and argues moderation tools are the answer.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:572777290", + "kind": "comment", + "actor": "brawaru", + "createdAt": "2020-01-09T22:03:27Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-572777290", + "summary": "The contributor quotes the founder's 2018 blog rationale against quoting and concludes the issue should be closed.", + "actorId": 10401817, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:573501101", + "kind": "comment", + "actor": "wakest", + "createdAt": "2020-01-13T04:10:48Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-573501101", + "summary": "A user says other fediverse software already has quotes, so the real question is how mainline Mastodon handles them safely.", + "actorId": 7890201, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:573501951", + "kind": "comment", + "actor": "thehonkinggoose", + "createdAt": "2020-01-13T04:17:04Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-573501951", + "summary": "The opener says they will take suggestions to other projects instead.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:process:closed:2020-01-19T02:54:47Z", + "kind": "process", + "actor": "thehonkinggoose", + "createdAt": "2020-01-19T02:54:47Z", + "url": "https://github.com/mastodon/mastodon/issues/12753", + "summary": "The opener closes the issue.", + "actorId": 8227641, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1307280362", + "kind": "comment", + "actor": "zichy", + "createdAt": "2022-11-08T14:09:27Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1307280362", + "summary": "Nearly three years later, a user suggests allowing quotes only by one's followers.", + "actorId": 173749, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1307345895", + "kind": "comment", + "actor": "lorenzlm", + "createdAt": "2022-11-08T14:55:24Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1307345895", + "summary": "A user argues quoting enables curation that replies and boosts cannot, and asks developers to reconsider.", + "actorId": 10097702, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315841593", + "kind": "comment", + "actor": "ell1e", + "createdAt": "2022-11-15T20:45:05Z", + "editedAt": "2022-11-15T20:48:55Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315841593", + "summary": "A user agrees curation matters, especially for educational accounts.", + "actorId": 64124388, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315882537", + "kind": "comment", + "actor": "mattwynne", + "createdAt": "2022-11-15T21:25:18Z", + "editedAt": "2022-11-15T21:25:47Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315882537", + "summary": "A user cites a thread on quotes building communities and asks to discuss adding them with moderation limits.", + "actorId": 19260, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315884654", + "kind": "comment", + "actor": "mattwynne", + "createdAt": "2022-11-15T21:27:25Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315884654", + "summary": "The user links #20673, a new proposal for user-controlled quoting.", + "actorId": 19260, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315884708", + "kind": "comment", + "actor": "ell1e", + "createdAt": "2022-11-15T21:27:29Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315884708", + "summary": "A user says a followers-only rule would not work for quoting news posts.", + "actorId": 64124388, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315906708", + "kind": "comment", + "actor": "jmturner", + "createdAt": "2022-11-15T21:50:57Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315906708", + "summary": "A user suggests at least allowing quotes of bot accounts.", + "actorId": 1367784, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315909729", + "kind": "comment", + "actor": "lorenzlm", + "createdAt": "2022-11-15T21:54:33Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315909729", + "summary": "A user rejects the followers-only rule because curation is about reaching new audiences.", + "actorId": 10097702, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1315909837", + "kind": "comment", + "actor": "ell1e", + "createdAt": "2022-11-15T21:54:41Z", + "editedAt": "2022-11-15T21:56:14Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1315909837", + "summary": "A user says journalists will need quoting for nuanced reporting.", + "actorId": 64124388, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1317268653", + "kind": "comment", + "actor": "ThatOneCalculator", + "createdAt": "2022-11-16T16:10:55Z", + "editedAt": "2022-11-16T16:11:01Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1317268653", + "summary": "A user notes other fediverse software supports quotes and asks Mastodon to federate with them.", + "actorId": 44733677, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1322224640", + "kind": "comment", + "actor": "noqqe", + "createdAt": "2022-11-21T15:20:47Z", + "editedAt": "2022-11-21T15:21:19Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1322224640", + "summary": "A user cites a former Twitter designer saying quote tweets did not increase abuse.", + "actorId": 203902, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1322293837", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2022-11-21T16:07:38Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1322293837", + "summary": "A maintainer disputes that claim and says abuse must be defined first.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + }, + { + "id": "mastodon-12753:comment:1357410960", + "kind": "comment", + "actor": "pljakobs", + "createdAt": "2022-12-19T10:15:13Z", + "editedAt": "2022-12-19T10:43:04Z", + "url": "https://github.com/mastodon/mastodon/issues/12753#issuecomment-1357410960", + "summary": "A comment whose content was removed.", + "actorId": 13985375, + "actorType": "human", + "parentId": "mastodon-12753:issue:12753" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/mastodon-toot-text-formatting.json b/evals/datasets/decisions-v1/cases/mastodon-toot-text-formatting.json new file mode 100644 index 000000000..0bf0b6e3f --- /dev/null +++ b/evals/datasets/decisions-v1/cases/mastodon-toot-text-formatting.json @@ -0,0 +1,955 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "mastodon-toot-text-formatting", + "title": "Whether and how Mastodon posts should support text formatting", + "source": { + "url": "https://github.com/mastodon/mastodon/issues/853", + "retrievedAt": "2026-10-18T07:20:36.622112+00:00", + "repository": "mastodon/mastodon", + "number": 853 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-04-04T17:00:00Z" + }, + { + "id": "c2", + "at": "2017-05-29T12:00:00Z" + }, + { + "id": "c3", + "at": "2018-04-15T13:50:00Z" + }, + { + "id": "c4", + "at": "2020-03-17T16:00:00Z" + } + ], + "events": [ + { + "id": "mastodon-853:issue:853", + "kind": "opening", + "actor": "Exagone313", + "createdAt": "2017-04-04T15:22:07Z", + "url": "https://github.com/mastodon/mastodon/issues/853", + "summary": "A contributor shares a working patch that turns double and single asterisks into strong and emphasis tags and asks whether such a feature would be accepted before opening a PR.", + "actorId": 11819703, + "actorType": "human" + }, + { + "id": "mastodon-853:comment:291579711", + "kind": "comment", + "actor": "sjml", + "createdAt": "2017-04-04T17:51:40Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-291579711", + "summary": "A user suggests fuller Markdown support handled at the UI level so each client can decide how to render it.", + "actorId": 1638331, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:291593758", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-04T18:40:15Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-291593758", + "summary": "A maintainer agrees to start at the UI level and maybe add Markdown later.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292105088", + "kind": "comment", + "actor": "valentin2105", + "createdAt": "2017-04-06T08:29:27Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292105088", + "summary": "A user asks for code formatting too, without syntax highlighting.", + "actorId": 12403145, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292137747", + "kind": "comment", + "actor": "diomed", + "createdAt": "2017-04-06T10:50:53Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292137747", + "summary": "A contributor encourages a PR and links a related request.", + "actorId": 72777, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292254584", + "kind": "comment", + "actor": "Exagone313", + "createdAt": "2017-04-06T17:50:54Z", + "editedAt": "2017-04-06T17:51:19Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292254584", + "summary": "The opener objects to any alternate link syntax because it is awkward on phones and enables phishing.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292334154", + "kind": "comment", + "actor": "sjml", + "createdAt": "2017-04-06T21:48:50Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292334154", + "summary": "A user asks whether Markdown without link syntax would confuse people.", + "actorId": 1638331, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292338003", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-06T22:05:46Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292338003", + "summary": "A maintainer notes raw URLs still work without the bracket link syntax.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292343201", + "kind": "comment", + "actor": "sjml", + "createdAt": "2017-04-06T22:29:15Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292343201", + "summary": "The user clarifies the phishing concern but thinks many sites use Markdown links without trouble.", + "actorId": 1638331, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292756494", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-09T01:08:45Z", + "editedAt": "2017-04-09T01:08:52Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292756494", + "summary": "A maintainer makes this the central issue for message formatting and lists duplicates.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292756519", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-09T01:09:38Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292756519", + "summary": "The maintainer says native support would need the project lead's approval given many possible approaches.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292759676", + "kind": "comment", + "actor": "Spunkie", + "createdAt": "2017-04-09T02:40:21Z", + "editedAt": "2017-04-09T02:58:41Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292759676", + "summary": "A user moves over a request for inline code, code blocks and quotes, arguing for full CommonMark via a library rather than piecemeal support.", + "actorId": 1653976, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:292841310", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2017-04-10T03:27:08Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-292841310", + "summary": "A contributor shares a small client-side renderer for a limited Markdown subset.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:293099187", + "kind": "comment", + "actor": "nykh", + "createdAt": "2017-04-10T22:38:28Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-293099187", + "summary": "A user questions the phishing worry and comments on the renderer's handling of newlines.", + "actorId": 4685174, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:293127415", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2017-04-11T01:55:53Z", + "editedAt": "2017-04-11T01:58:06Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-293127415", + "summary": "The contributor explains blank lines are already collapsed in posts.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:293752165", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2017-04-13T01:32:03Z", + "editedAt": "2017-04-13T01:33:12Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-293752165", + "summary": "The contributor asks how GNU Social and other federated software would display Markdown syntax.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:293752767", + "kind": "comment", + "actor": "krainboltgreene", + "createdAt": "2017-04-13T01:36:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-293752767", + "summary": "A maintainer names the OStatus protocol and proposes a plan: Markdown without link syntax, plain-text pushes, and later code highlighting.", + "actorId": 334809, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:294315134", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2017-04-15T20:08:13Z", + "editedAt": "2017-04-16T04:06:10Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-294315134", + "summary": "The contributor shares a proof-of-concept branch with a tiny renderer without links or images and asks for feedback on federation effects.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:294339167", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-04-16T07:59:42Z", + "editedAt": "2017-04-16T08:00:13Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-294339167", + "summary": "A user explains other OStatus software only parses a few tags, so formatting must either be client-side or carried as an extra rendered field.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295486869", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-19T23:13:41Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295486869", + "summary": "A user says they are working on it and shares a screenshot.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295498837", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2017-04-19T23:52:17Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295498837", + "summary": "The project lead asks whether they use an established library such as Kramdown or Redcarpet, which he would prefer.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295503207", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-20T00:06:54Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295503207", + "summary": "The user says they use regular expressions but accept the stability point.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295503792", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2017-04-20T00:08:38Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295503792", + "summary": "A contributor asks whether server-side rendering is preferred over client-side.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295504111", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-20T00:09:43Z", + "editedAt": "2017-04-20T00:11:11Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295504111", + "summary": "The user invites testing on a dev instance.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295910238", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-20T20:58:46Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295910238", + "summary": "The user switches to Redcarpet.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:295974769", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-20T23:53:32Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-295974769", + "summary": "The user shares a screenshot of the result.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:296137841", + "kind": "comment", + "actor": "Exagone313", + "createdAt": "2017-04-21T09:14:46Z", + "editedAt": "2017-04-21T09:19:54Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-296137841", + "summary": "The opener asks what remote instances receive: escaped HTML or the Markdown source.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:296140871", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-04-21T09:24:48Z", + "editedAt": "2017-04-21T09:24:55Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-296140871", + "summary": "The user says remote instances should see the Markdown source.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:299395644", + "kind": "comment", + "actor": "lokedhs", + "createdAt": "2017-05-05T06:55:32Z", + "editedAt": "2017-05-05T06:55:42Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-299395644", + "summary": "A user asks for LaTeX maths via MathJax.", + "actorId": 1028755, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:299406758", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-05-05T08:09:10Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-299406758", + "summary": "The user recalls an instance that already supports LaTeX.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:299466398", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-05-05T13:36:41Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-299466398", + "summary": "A user asks why not reStructuredText, or at least CommonMark.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:299577234", + "kind": "comment", + "actor": "maop", + "createdAt": "2017-05-05T21:13:04Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-299577234", + "summary": "A user names the maths-focused instance.", + "actorId": 33270, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:301731797", + "kind": "comment", + "actor": "notabene", + "createdAt": "2017-05-16T09:48:40Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-301731797", + "summary": "A user supports a Markdown subset.", + "actorId": 664145, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304523762", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-05-28T16:04:30Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304523762", + "summary": "A user opposes Markdown as too eager to misread punctuation, prefers BBCode, and asks for an off switch and plain-text API output.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304540879", + "kind": "comment", + "actor": "Exagone313", + "createdAt": "2017-05-28T21:15:16Z", + "editedAt": "2017-05-28T21:18:31Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304540879", + "summary": "The opener rejects BBCode and restates his intent: only inline bold, italic and code.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304541720", + "kind": "comment", + "actor": "notabene", + "createdAt": "2017-05-28T21:31:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304541720", + "summary": "A user agrees with the opener.", + "actorId": 664145, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304629756", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-05-29T10:32:23Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304629756", + "summary": "A user also dismisses BBCode and favours minimal inline Markdown.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304632962", + "kind": "comment", + "actor": "lokedhs", + "createdAt": "2017-05-29T10:51:46Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304632962", + "summary": "A client developer argues the API should carry a structured format while clients choose the input syntax.", + "actorId": 1028755, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304634061", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-05-29T10:58:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304634061", + "summary": "The BBCode advocate argues most users are not developers and do not know Markdown.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304635102", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2017-05-29T11:05:04Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304635102", + "summary": "A user counters that messaging apps already use Markdown-like syntax.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:304639577", + "kind": "comment", + "actor": "notabene", + "createdAt": "2017-05-29T11:32:21Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-304639577", + "summary": "A user suggests pluggable per-instance syntax translators so each community can choose.", + "actorId": 664145, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:313257170", + "kind": "comment", + "actor": "SpencerDub", + "createdAt": "2017-07-05T23:50:08Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-313257170", + "summary": "A user prefers Markdown because it degrades readably when an instance does not render it.", + "actorId": 4674927, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:325658134", + "kind": "comment", + "actor": "aron23", + "createdAt": "2017-08-29T13:08:43Z", + "editedAt": "2017-08-29T13:10:02Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-325658134", + "summary": "A user shares a small Redcarpet change and suggests a per-instance admin setting, with unsupported instances seeing raw Markdown.", + "actorId": 1737608, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:326746098", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-09-02T14:08:00Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-326746098", + "summary": "A user likes this and wants bold, italic, links and lists without HTML.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:326746684", + "kind": "comment", + "actor": "aron23", + "createdAt": "2017-09-02T14:17:28Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-326746684", + "summary": "The user explains an additional change to URL linking.", + "actorId": 1737608, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:340235091", + "kind": "comment", + "actor": "egypturnash", + "createdAt": "2017-10-29T03:33:40Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-340235091", + "summary": "A user asks for small text for whispering.", + "actorId": 403223, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:340373753", + "kind": "comment", + "actor": "nullkal", + "createdAt": "2017-10-30T08:24:13Z", + "editedAt": "2017-10-30T08:24:49Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-340373753", + "summary": "A contributor points to Slack and Discord partial Markdown and argues for code blocks to protect text from custom emoji parsing.", + "actorId": 418982, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:343334220", + "kind": "comment", + "actor": "timmc", + "createdAt": "2017-11-10T00:15:01Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-343334220", + "summary": "A user asks that backslash escaping work everywhere if Markdown is used.", + "actorId": 78608, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:345202921", + "kind": "comment", + "actor": "lokedhs", + "createdAt": "2017-11-17T10:17:13Z", + "editedAt": "2017-11-17T10:17:19Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-345202921", + "summary": "A user says emoji parsing need not be in the markup.", + "actorId": 1028755, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:345212042", + "kind": "comment", + "actor": "nullkal", + "createdAt": "2017-11-17T10:54:37Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-345212042", + "summary": "The contributor notes custom emoji cannot be Unicode, so code blocks still help.", + "actorId": 418982, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:348361955", + "kind": "comment", + "actor": "basus", + "createdAt": "2017-12-01T00:09:32Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-348361955", + "summary": "A user wants the UI syntax separated from the stored format and asks for links with anchor text.", + "actorId": 90872, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:349674897", + "kind": "comment", + "actor": "danielquinn", + "createdAt": "2017-12-06T15:32:02Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-349674897", + "summary": "A user notes raw URLs protect against phishing.", + "actorId": 218205, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:349687556", + "kind": "comment", + "actor": "voronoipotato", + "createdAt": "2017-12-06T16:10:16Z", + "editedAt": "2017-12-06T16:11:35Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-349687556", + "summary": "A user suggests restricting anchor text or blocklisting URLs instead.", + "actorId": 315863, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:349693236", + "kind": "comment", + "actor": "basus", + "createdAt": "2017-12-06T16:26:47Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-349693236", + "summary": "The anchor-text user argues the display layer can handle phishing and the back end should use a flexible format.", + "actorId": 90872, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:351096931", + "kind": "comment", + "actor": "voronoipotato", + "createdAt": "2017-12-12T16:03:37Z", + "editedAt": "2017-12-12T17:03:27Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-351096931", + "summary": "A user argues forbidding links pushes people to URL shorteners and asks for keyboard shortcuts in the composer.", + "actorId": 315863, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:360176798", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-01-24T15:46:03Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-360176798", + "summary": "A user opposes auto-formatting from experience with WhatsApp and asks for WYSIWYG or plain text.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:360296575", + "kind": "comment", + "actor": "voronoipotato", + "createdAt": "2018-01-24T22:32:40Z", + "editedAt": "2018-01-24T22:32:52Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-360296575", + "summary": "A user suggests a per-user setting to turn formatting off.", + "actorId": 315863, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381407123", + "kind": "comment", + "actor": "ThisIsMissEm", + "createdAt": "2018-04-15T13:34:37Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381407123", + "summary": "A contributor opposes the proposal for visual clutter, parser security risks and onboarding friction, and says any version needs admin and user opt-outs and a preview.", + "actorId": 30827, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381408110", + "kind": "comment", + "actor": "denysvitali", + "createdAt": "2018-04-15T13:49:10Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381408110", + "summary": "A user rebuts each point and suggests a Markdown toggle when posting.", + "actorId": 4939519, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381408669", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2018-04-15T13:57:47Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381408669", + "summary": "The project lead says he is also against it, calling it scope creep for a microblogging service.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381409882", + "kind": "comment", + "actor": "mftrhu", + "createdAt": "2018-04-15T14:15:10Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381409882", + "summary": "A user proposes a minimal subset with a toggle.", + "actorId": 19717210, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381410221", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-04-15T14:20:24Z", + "editedAt": "2018-04-15T14:26:02Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381410221", + "summary": "A user argues Mastodon need not copy Twitter and wants a modest subset.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381419181", + "kind": "comment", + "actor": "zautumnz", + "createdAt": "2018-04-15T16:27:48Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381419181", + "summary": "A contributor disputes the phishing and learnability concerns.", + "actorId": 12520493, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:381428645", + "kind": "comment", + "actor": "timmc", + "createdAt": "2018-04-15T18:46:07Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-381428645", + "summary": "A user asks whether the federation protocols carry HTML, suggesting plain text by default with opt-in markup.", + "actorId": 78608, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:382212901", + "kind": "comment", + "actor": "trwnh", + "createdAt": "2018-04-18T01:21:52Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-382212901", + "summary": "A maintainer agrees Mastodon should stay plain text, comparing posts to short notes rather than articles.", + "actorId": 10606431, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:382368819", + "kind": "comment", + "actor": "Exagone313", + "createdAt": "2018-04-18T12:26:56Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-382368819", + "summary": "The opener notes a year of division, says he would accept cancelling, and restates a minimal inline-only scope.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:382390889", + "kind": "comment", + "actor": "voronoipotato", + "createdAt": "2018-04-18T13:43:26Z", + "editedAt": "2018-04-18T14:37:41Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-382390889", + "summary": "A user claims instances already use a client-side library and lists editor features for a proposed PR.", + "actorId": 315863, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:383095888", + "kind": "comment", + "actor": "Gargron", + "createdAt": "2018-04-20T13:28:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-383095888", + "summary": "The project lead explains ActivityPub content can carry any HTML but Mastodon sanitises it, corrects the client-side claim, and distinguishes notes from articles.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:388487080", + "kind": "comment", + "actor": "wiktor-k", + "createdAt": "2018-05-11T21:12:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-388487080", + "summary": "A contributor points to ActivityPub's `source` field for author markup.", + "actorId": 1718963, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:418123800", + "kind": "comment", + "actor": "kizu", + "createdAt": "2018-09-03T13:59:48Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-418123800", + "summary": "A user wants a small subset and stresses accessibility benefits from semantic markup.", + "actorId": 177485, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:process:labeled:2018-10-20T05:25:15Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2018-10-20T05:25:15Z", + "url": "https://github.com/mastodon/mastodon/issues/853", + "summary": "The project lead labels the issue as a suggestion.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:process:unlabeled:2018-10-20T05:27:08Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2018-10-20T05:27:08Z", + "url": "https://github.com/mastodon/mastodon/issues/853", + "summary": "The project lead removes the enhancement label.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:448539196", + "kind": "comment", + "actor": "wiktor-k", + "createdAt": "2018-12-19T10:05:37Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-448539196", + "summary": "A contributor points to XMPP's minimal message styling spec.", + "actorId": 1718963, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:process:cross-referenced:2019-05-19T16:46:09Z", + "kind": "process", + "actor": "Gargron", + "createdAt": "2019-05-19T16:46:09Z", + "url": "https://github.com/mastodon/mastodon/issues/853", + "summary": "The project lead links PR #10787, which adds emphasis and code span syntax.", + "actorId": 184731, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:599338092", + "kind": "comment", + "actor": "koyuawsmbrtn", + "createdAt": "2020-03-16T04:21:58Z", + "editedAt": "2020-03-16T04:24:45Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-599338092", + "summary": "A contributor asks again for Markdown with small headings.", + "actorId": 40538332, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:600119628", + "kind": "comment", + "actor": "Exagone313", + "createdAt": "2020-03-17T15:02:08Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-600119628", + "summary": "The opener says he will close the issue since PR #10787 explains everything.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:process:closed:2020-03-17T15:02:08Z", + "kind": "process", + "actor": "Exagone313", + "createdAt": "2020-03-17T15:02:08Z", + "url": "https://github.com/mastodon/mastodon/issues/853", + "summary": "The opener closes the issue.", + "actorId": 11819703, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:672168547", + "kind": "comment", + "actor": "mashirozx", + "createdAt": "2020-08-11T18:28:53Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-672168547", + "summary": "A contributor shares a fork with full Markdown and says he will not upstream it for reasons given in PR #10787.", + "actorId": 16148054, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:880545078", + "kind": "comment", + "actor": "ghost", + "createdAt": "2021-07-15T09:30:35Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-880545078", + "summary": "A user asks for named links and image embedding.", + "actorId": 10137, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:880618986", + "kind": "comment", + "actor": "timmc", + "createdAt": "2021-07-15T11:29:13Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-880618986", + "summary": "A user notes image embedding needs a proxy to protect reader privacy.", + "actorId": 78608, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:880821993", + "kind": "comment", + "actor": "mashirozx", + "createdAt": "2021-07-15T16:06:24Z", + "editedAt": "2021-07-15T16:09:11Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-880821993", + "summary": "The fork author points to a commit for embedding media by URL.", + "actorId": 16148054, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + }, + { + "id": "mastodon-853:comment:1502940662", + "kind": "comment", + "actor": "alexanderadam", + "createdAt": "2023-04-11T08:57:02Z", + "url": "https://github.com/mastodon/mastodon/issues/853#issuecomment-1502940662", + "summary": "A user notes Twitter may ship formatting first.", + "actorId": 372620, + "actorType": "human", + "parentId": "mastodon-853:issue:853" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nextjs-app-router-file-conventions.json b/evals/datasets/decisions-v1/cases/nextjs-app-router-file-conventions.json new file mode 100644 index 000000000..8122d7d53 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nextjs-app-router-file-conventions.json @@ -0,0 +1,1820 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nextjs-app-router-file-conventions", + "title": "Next.js app router file conventions", + "source": { + "url": "https://github.com/vercel/next.js/discussions/37136", + "retrievedAt": "2026-10-18T07:35:55.684501+00:00", + "repository": "vercel/next.js", + "number": 37136, + "nodeId": "D_kwDOBC3Cis4APncx" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-05-23T21:10:00Z" + }, + { + "id": "c2", + "at": "2022-05-24T03:10:00Z" + }, + { + "id": "c3", + "at": "2022-05-25T09:00:00Z" + }, + { + "id": "c4", + "at": "2022-09-08T18:30:00Z" + } + ], + "events": [ + { + "id": "D_kwDOBC3Cis4APncx", + "kind": "opening", + "actor": "timneutkens", + "createdAt": "2022-05-23T20:24:21Z", + "editedAt": "2022-11-06T06:19:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136", + "summary": "A core team member opens the Layouts RFC: nested layouts in a new app directory, built for Server Components, parallel data fetching, React 18 features and incremental adoption; the post was later edited to point to an update.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human" + }, + { + "id": "DC_kwDOBC3Cis4AKtY7", + "kind": "comment", + "actor": "baiirun", + "createdAt": "2022-05-23T21:05:29Z", + "editedAt": "2022-05-23T21:05:47Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807355", + "summary": "A user praises the RFC but questions the page.js name, since a nested segment is really a component rather than a page.", + "actorId": "MDQ6VXNlcjI2MjYzNjMw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtZu", + "kind": "comment", + "actor": "tuliofaria", + "createdAt": "2022-05-23T21:16:57Z", + "editedAt": "2022-05-23T21:27:13Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807406", + "summary": "A user asks why not keep underscore-prefixed names like _page.js and _layout.js.", + "actorId": "MDQ6VXNlcjEwMzQzMw==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtZ-", + "kind": "comment", + "actor": "markerikson", + "createdAt": "2022-05-23T21:20:26Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807422", + "summary": "A user asks whether TypeScript extensions are accepted for page files.", + "actorId": "MDQ6VXNlcjExMjg3ODQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtaE", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-05-23T21:22:00Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807428", + "summary": "A core team member confirms js, jsx, ts and tsx all work.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZ-" + }, + { + "id": "DC_kwDOBC3Cis4AKtas", + "kind": "comment", + "actor": "colinclerk", + "createdAt": "2022-05-23T21:28:44Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807468", + "summary": "A contributor asks how optional catch-all routes work with page.js.", + "actorId": "MDQ6VXNlcjUxMTQ0MDMz", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKta1", + "kind": "comment", + "actor": "brunocangs", + "createdAt": "2022-05-23T21:32:29Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807477", + "summary": "A user asks how layouts behave in catch-all folders, about intercepting routes, and how server and client components are detected.", + "actorId": "MDQ6VXNlcjMwMTAwODc1", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKta9", + "kind": "comment", + "actor": "cdebotton", + "createdAt": "2022-05-23T21:34:57Z", + "editedAt": "2022-05-23T21:35:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807485", + "summary": "A user warns of hundreds of identically named page files and proposes name-prefixed files like home.page.tsx and home.layout.tsx.", + "actorId": "MDQ6VXNlcjQxNjg4MA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtbD", + "kind": "comment", + "actor": "yasinkavakli", + "createdAt": "2022-05-23T21:35:36Z", + "editedAt": "2022-05-23T21:42:09Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807491", + "summary": "A user questions page.tsx naming, suggests an underscore prefix or a config option, and asks about role-based layouts.", + "actorId": "MDQ6VXNlcjEzOTk0NzQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtbU", + "kind": "comment", + "actor": "firatoezcan", + "createdAt": "2022-05-23T21:39:20Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807508", + "summary": "A user asks whether getInitialProps will still work with layouts for client-side caches.", + "actorId": "MDQ6VXNlcjI1NDA3Mjc2", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtcO", + "kind": "reply", + "actor": "jkjustjoshing", + "createdAt": "2022-05-23T21:56:13Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807566", + "summary": "A user agrees page.js is repetitive and suggests a single special-character prefix, with an editor screenshot.", + "actorId": "MDQ6VXNlcjgxMzE5Mg==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKta9" + }, + { + "id": "DC_kwDOBC3Cis4AKtcQ", + "kind": "reply", + "actor": "gaearon", + "createdAt": "2022-05-23T21:56:50Z", + "editedAt": "2022-05-23T21:57:04Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807568", + "summary": "A React core member notes an alternative server/client file convention is being discussed in the React RFC.", + "actorId": "MDQ6VXNlcjgxMDQzOA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKta1" + }, + { + "id": "DC_kwDOBC3Cis4AKtdH", + "kind": "comment", + "actor": "SferaDev", + "createdAt": "2022-05-23T22:10:11Z", + "editedAt": "2022-05-24T05:36:13Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807623", + "summary": "A contributor asks whether fetching data directly in server components or via getServerSideProps is the intended approach.", + "actorId": "MDQ6VXNlcjIxODE4NjY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKte4", + "kind": "reply", + "actor": "colinclerk", + "createdAt": "2022-05-23T22:36:53Z", + "editedAt": "2022-05-23T22:39:53Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807736", + "summary": "A contributor prefers a file-per-route scheme with settings.layout.js and an optional folder for children, avoiding renames into page.js.", + "actorId": "MDQ6VXNlcjUxMTQ0MDMz", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtbD" + }, + { + "id": "DC_kwDOBC3Cis4AKtf5", + "kind": "reply", + "actor": "marklawlor", + "createdAt": "2022-05-23T22:58:45Z", + "editedAt": "2022-05-23T22:59:13Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807801", + "summary": "A user asks the docs to clarify that page refers to the file name, not only the .js extension.", + "actorId": "MDQ6VXNlcjM5NDY3MDE=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZ-" + }, + { + "id": "DC_kwDOBC3Cis4AKtgC", + "kind": "comment", + "actor": "mcgois", + "createdAt": "2022-05-23T23:00:46Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807810", + "summary": "A user asks about error boundaries per layout.", + "actorId": "MDQ6VXNlcjEyNDE3Nzk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtgL", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-05-23T23:01:59Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807819", + "summary": "A core team member agrees to fix the wording.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZ-" + }, + { + "id": "DC_kwDOBC3Cis4AKtgj", + "kind": "comment", + "actor": "paulgendek", + "createdAt": "2022-05-23T23:10:17Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807843", + "summary": "A user asks how committed the team is to the app directory name and proposes routes, citing monorepo apps folders.", + "actorId": "MDQ6VXNlcjY0NDc3OA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKthA", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-05-23T23:20:04Z", + "editedAt": "2022-05-23T23:22:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807872", + "summary": "A user asks how a parent route could fetch shared data once for nested routes instead of every segment refetching.", + "actorType": "unknown", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKthQ", + "kind": "comment", + "actor": "kylemh", + "createdAt": "2022-05-23T23:25:14Z", + "editedAt": "2022-05-24T00:35:16Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807888", + "summary": "A contributor asks how pages and app coexist, about error pages per segment, layouts without pages, and worries about tying layouts to unreleased Server Components.", + "actorId": "MDQ6VXNlcjk1MjM3MTk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKth-", + "kind": "comment", + "actor": "treyhuffine", + "createdAt": "2022-05-23T23:45:51Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807934", + "summary": "A user asks how a layout could pass props to its page if it only receives children.", + "actorId": "MDQ6VXNlcjExNzA5OTg2", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtij", + "kind": "comment", + "actor": "mwalden2004", + "createdAt": "2022-05-23T23:56:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807971", + "summary": "A user asks for a release estimate.", + "actorId": "MDQ6VXNlcjE2NDgyMzUw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtin", + "kind": "comment", + "actor": "quentinlagache", + "createdAt": "2022-05-23T23:58:54Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2807975", + "summary": "A user asks how to share one layout across separate URL segments.", + "actorId": "MDQ6VXNlcjE1OTYwNDAx", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtjz", + "kind": "reply", + "actor": "ervwalter", + "createdAt": "2022-05-24T00:18:25Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808051", + "summary": "A user suggests importing a shared layout component into each layout file, or moving the layout higher.", + "actorId": "MDQ6VXNlcjc2ODc5MA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtin" + }, + { + "id": "DC_kwDOBC3Cis4AKtkZ", + "kind": "comment", + "actor": "Tylerian", + "createdAt": "2022-05-24T00:33:57Z", + "editedAt": "2022-05-24T00:40:08Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808089", + "summary": "A contributor notes many projects already use an app folder for application code and suggests routes instead.", + "actorId": "MDQ6VXNlcjE0MzA4MDU=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtlJ", + "kind": "reply", + "actor": "swkeever", + "createdAt": "2022-05-24T00:48:48Z", + "editedAt": "2022-05-24T00:51:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808137", + "summary": "A user proposes keeping route names as files with only an underscore-prefixed layout file.", + "actorId": "MDQ6VXNlcjMzNTkyMTgw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZu" + }, + { + "id": "DC_kwDOBC3Cis4AKtlg", + "kind": "reply", + "actor": "sebmarkbage", + "createdAt": "2022-05-24T00:55:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808160", + "summary": "A React core member says getInitialProps will likely remain for compatibility and data seeding is being explored.", + "actorId": "MDQ6VXNlcjYzNjQ4", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtbU" + }, + { + "id": "DC_kwDOBC3Cis4AKtl9", + "kind": "reply", + "actor": "ervwalter", + "createdAt": "2022-05-24T01:04:57Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808189", + "summary": "A user strongly prefers routes over app because app often holds business logic.", + "actorId": "MDQ6VXNlcjc2ODc5MA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKtnp", + "kind": "reply", + "actor": "JonCognioDigital", + "createdAt": "2022-05-24T01:36:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808297", + "summary": "A user agrees with the naming concern and asks for dashboard.page.js style names.", + "actorId": "MDQ6VXNlcjI4Nzg3OTY=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4AKtoo", + "kind": "comment", + "actor": "aiji42", + "createdAt": "2022-05-24T01:52:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808360", + "summary": "A user asks for Remix-style pathless layout routes so folders need not become URL segments.", + "actorId": "MDQ6VXNlcjY3MTE3NjY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKto4", + "kind": "comment", + "actor": "Blevs", + "createdAt": "2022-05-24T01:55:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808376", + "summary": "A contributor asks whether a child route can opt out of parent layouts, citing embedded widget pages.", + "actorId": "MDQ6VXNlcjkyNDcxMjQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtp6", + "kind": "reply", + "actor": "swalker326", + "createdAt": "2022-05-24T02:17:09Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808442", + "summary": "A user agrees an underscore-prefixed route file would ease colocation.", + "actorId": "MDQ6VXNlcjg0NjA4MDg=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKta9" + }, + { + "id": "DC_kwDOBC3Cis4AKtrH", + "kind": "reply", + "actor": "ervwalter", + "createdAt": "2022-05-24T02:37:12Z", + "editedAt": "2022-05-24T02:37:36Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808519", + "summary": "A user adds that a landing page often needs to escape the shared layout.", + "actorId": "MDQ6VXNlcjc2ODc5MA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKto4" + }, + { + "id": "DC_kwDOBC3Cis4AKtr0", + "kind": "reply", + "actor": "jeremytenjo", + "createdAt": "2022-05-24T02:50:47Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808564", + "summary": "A user suggests making the app folder name configurable.", + "actorId": "MDQ6VXNlcjI1MjMxOTQ2", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKtsQ", + "kind": "reply", + "actor": "carldr", + "createdAt": "2022-05-24T02:58:04Z", + "editedAt": "2022-05-24T02:58:40Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808592", + "summary": "A user suggests underscore-prefixed files could be excluded from routing.", + "actorId": "MDQ6VXNlcjEyNDE1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZu" + }, + { + "id": "DC_kwDOBC3Cis4AKtsm", + "kind": "reply", + "actor": "ccheney", + "createdAt": "2022-05-24T03:06:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808614", + "summary": "A user describes the pain of many index.js files and supports type-suffixed names.", + "actorId": "MDQ6VXNlcjMwMjQzNw==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4AKtue", + "kind": "comment", + "actor": "yordis", + "createdAt": "2022-05-24T03:42:34Z", + "editedAt": "2022-05-24T03:49:28Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808734", + "summary": "A contributor prefers route.js and a routes directory and shares a draft RFC for routes directories with colocation.", + "actorId": "MDQ6VXNlcjQyMzcyODA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKtw_", + "kind": "reply", + "actor": "nicholasio", + "createdAt": "2022-05-24T04:28:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808895", + "summary": "A user asks whether data can be fetched at component level.", + "actorId": "MDQ6VXNlcjYxMDQ2MzI=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtdH" + }, + { + "id": "DC_kwDOBC3Cis4AKtx3", + "kind": "comment", + "actor": "icyJoseph", + "createdAt": "2022-05-24T04:46:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2808951", + "summary": "A maintainer asks what happens to pages/api and middleware.", + "actorId": "MDQ6VXNlcjIxMDEzNDQ3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKt1V", + "kind": "reply", + "actor": "davidwieler", + "createdAt": "2022-05-24T05:47:04Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809173", + "summary": "A user supports a configurable directory name for projects with an existing app folder.", + "actorId": "MDQ6VXNlcjQ1MDI2MTE=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKt4T", + "kind": "reply", + "actor": "OmerWow", + "createdAt": "2022-05-24T06:25:04Z", + "editedAt": "2022-05-24T06:25:35Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809363", + "summary": "A user agrees with type-suffixed names.", + "actorId": "MDQ6VXNlcjEyOTcwNjM3", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4AKt8X", + "kind": "reply", + "actor": "icyJoseph", + "createdAt": "2022-05-24T07:08:52Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809623", + "summary": "The maintainer notes middleware is moving to the root anyway.", + "actorId": "MDQ6VXNlcjIxMDEzNDQ3", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtx3" + }, + { + "id": "DC_kwDOBC3Cis4AKt86", + "kind": "reply", + "actor": "SukkaW", + "createdAt": "2022-05-24T07:13:54Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809658", + "summary": "A contributor says the docs wording should reflect configurable page extensions.", + "actorId": "MDQ6VXNlcjQwNzE1MDQ0", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtZ-" + }, + { + "id": "DC_kwDOBC3Cis4AKt_E", + "kind": "reply", + "actor": "ValentinH", + "createdAt": "2022-05-24T07:30:58Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809796", + "summary": "A user describes JWT refresh handling and worries every segment's data function would repeat it.", + "actorId": "MDQ6VXNlcjI2Nzg2MTA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthA" + }, + { + "id": "DC_kwDOBC3Cis4AKuBN", + "kind": "reply", + "actor": "barthofu", + "createdAt": "2022-05-24T07:50:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2809933", + "summary": "A user agrees with the naming concern.", + "actorId": "MDQ6VXNlcjY2MDI1NjY3", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4AKuEF", + "kind": "reply", + "actor": "colinclerk", + "createdAt": "2022-05-24T08:18:31Z", + "editedAt": "2022-05-24T08:20:07Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2810117", + "summary": "A contributor outlines handling auth refresh in parallel loading via a layout-issued redirect.", + "actorId": "MDQ6VXNlcjUxMTQ0MDMz", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthA" + }, + { + "id": "DC_kwDOBC3Cis4AKuIV", + "kind": "comment", + "actor": "piotrski", + "createdAt": "2022-05-24T08:54:05Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2810389", + "summary": "A user asks for glob-based on-demand revalidation now that layouts fetch data.", + "actorId": "MDQ6VXNlcjI0NDE3NA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuMZ", + "kind": "comment", + "actor": "The-Code-Monkey", + "createdAt": "2022-05-24T09:33:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2810649", + "summary": "A user asks how a nested page can have an entirely different layout.", + "actorId": "MDQ6VXNlcjMxMjE4NTI3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuPc", + "kind": "comment", + "actor": "laurakimm", + "createdAt": "2022-05-24T09:59:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2810844", + "summary": "A user asks what server-centric routing with SPA-like behaviour means.", + "actorId": "U_kgDOBbRUPQ", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuSd", + "kind": "reply", + "actor": "majelbstoat", + "createdAt": "2022-05-24T10:37:53Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811037", + "summary": "A user votes for pathless layouts with an admin-section example.", + "actorId": "MDQ6VXNlcjQyNTc4Nw==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtoo" + }, + { + "id": "DC_kwDOBC3Cis4AKuTi", + "kind": "comment", + "actor": "TommySorensen", + "createdAt": "2022-05-24T10:50:10Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811106", + "summary": "A user asks how CMS-controlled URLs handled by catch-all routes fit folder-defined layouts.", + "actorId": "MDQ6VXNlcjQxMzQ0NzM=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuUk", + "kind": "comment", + "actor": "majelbstoat", + "createdAt": "2022-05-24T11:02:45Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811172", + "summary": "A user asks whether data fetched in a parent layout can be shared with nested routes.", + "actorId": "MDQ6VXNlcjQyNTc4Nw==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuYF", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T11:47:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811397", + "summary": "A core team member says dynamic segments remain supported as folder names.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtas" + }, + { + "id": "DC_kwDOBC3Cis4AKubi", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T12:22:23Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811618", + "summary": "A core team member explains data fetching outside the tree avoids waterfalls for now, with in-component fetching supported later.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtdH" + }, + { + "id": "DC_kwDOBC3Cis4AKuev", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T12:46:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811823", + "summary": "A core team member answers that app wins on conflicts, pages stays for incremental migration, layouts without pages are allowed, and Server Components are close.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthQ" + }, + { + "id": "DC_kwDOBC3Cis4AKugL", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T12:56:45Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811915", + "summary": "A core team member says folders outside the URL will be covered in part two.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtoo" + }, + { + "id": "DC_kwDOBC3Cis4AKugf", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T12:59:37Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2811935", + "summary": "A core team member says opting out of parent layouts will be covered in part two.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKto4" + }, + { + "id": "DC_kwDOBC3Cis4AKuim", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-05-24T13:14:17Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812070", + "summary": "A core team member says this will be covered in part two.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgC" + }, + { + "id": "DC_kwDOBC3Cis4AKurr", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T14:25:47Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812651", + "summary": "A core team member explains server-rendered components applied on the client.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKuPc" + }, + { + "id": "DC_kwDOBC3Cis4AKusB", + "kind": "comment", + "actor": "besh", + "createdAt": "2022-05-24T14:28:36Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812673", + "summary": "A user asks whether root-layout data fetching avoids refetching on navigation.", + "actorId": "MDQ6VXNlcjU0MjAyMjM=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKus3", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T14:37:53Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812727", + "summary": "A core team member says the root layout persists so its data is not refetched on client navigation.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKusB" + }, + { + "id": "DC_kwDOBC3Cis4AKuvZ", + "kind": "comment", + "actor": "alonzuman", + "createdAt": "2022-05-24T14:58:00Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812889", + "summary": "A user hoped app would allow Blitz-style colocation.", + "actorId": "MDQ6VXNlcjU3MjYxMDk1", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKuwR", + "kind": "comment", + "actor": "egdelwonk", + "createdAt": "2022-05-24T15:07:00Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2812945", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjUxMjU0OA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKu2K", + "kind": "reply", + "actor": "alonzuman", + "createdAt": "2022-05-24T15:49:44Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2813322", + "summary": "The user realises colocation is already covered.", + "actorId": "MDQ6VXNlcjU3MjYxMDk1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKuvZ" + }, + { + "id": "DC_kwDOBC3Cis4AKu3C", + "kind": "comment", + "actor": "egdelwonk", + "createdAt": "2022-05-24T15:57:52Z", + "editedAt": "2022-05-24T15:59:55Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2813378", + "summary": "A user asks for nested error boundaries and Remix-style form actions.", + "actorId": "MDQ6VXNlcjUxMjU0OA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKu_3", + "kind": "comment", + "actor": "meotimdihia", + "createdAt": "2022-05-24T17:22:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2813943", + "summary": "A user asks whether offscreen stashing enables app-like back and forward.", + "actorId": "MDQ6VXNlcjMwMDk2MQ==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvCC", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-24T17:46:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814082", + "summary": "A core team member says new apps will use app by default and pages will be deprecated only over a very long horizon.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthQ" + }, + { + "id": "DC_kwDOBC3Cis4AKvEM", + "kind": "comment", + "actor": "KATT", + "createdAt": "2022-05-24T18:11:39Z", + "editedAt": "2022-05-24T21:47:37Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814220", + "summary": "A contributor asks whether component-level Suspense can replace getServerSideProps and how to read params.", + "actorId": "MDQ6VXNlcjQ1OTI2Nw==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvG1", + "kind": "comment", + "actor": "etler", + "createdAt": "2022-05-24T18:41:48Z", + "editedAt": "2022-05-24T18:55:25Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814389", + "summary": "A user worries nested layouts couple layout to URL structure when paths are organised differently.", + "actorId": "MDQ6VXNlcjg1NDcwOQ==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvHX", + "kind": "reply", + "actor": "jescalan", + "createdAt": "2022-05-24T18:50:11Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814423", + "summary": "A core team member says no date yet but several team members have worked on it for months.", + "actorId": "MDQ6VXNlcjU1NjkzMg==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtij" + }, + { + "id": "DC_kwDOBC3Cis4AKvKL", + "kind": "comment", + "actor": "jkjustjoshing", + "createdAt": "2022-05-24T19:18:09Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814603", + "summary": "A user asks about next export support.", + "actorId": "MDQ6VXNlcjgxMzE5Mg==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvNF", + "kind": "comment", + "actor": "mxmul", + "createdAt": "2022-05-24T19:54:10Z", + "editedAt": "2022-05-24T19:57:17Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2814789", + "summary": "A user proposes named slots in layouts so routes can override parts like headers.", + "actorId": "MDQ6VXNlcjMwMjIyNDQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvSa", + "kind": "reply", + "actor": "rmacfie", + "createdAt": "2022-05-24T21:00:49Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2815130", + "summary": "A user shares the coupling concern and asks to keep the flexible getLayout pattern.", + "actorId": "MDQ6VXNlcjIwMTA4NA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKvG1" + }, + { + "id": "DC_kwDOBC3Cis4AKvS3", + "kind": "comment", + "actor": "verekia", + "createdAt": "2022-05-24T21:07:36Z", + "editedAt": "2022-05-25T09:22:16Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2815159", + "summary": "A user asks whether wrapper was considered instead of layout as the name.", + "actorId": "MDQ6VXNlcjUyMjAwNw==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKvfi", + "kind": "reply", + "actor": "cassidoo", + "createdAt": "2022-05-25T00:29:32Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2815970", + "summary": "A contributor agrees wrapper would be more general.", + "actorId": "MDQ6VXNlcjE0NTQ1MTc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKvS3" + }, + { + "id": "DC_kwDOBC3Cis4AKv3c", + "kind": "reply", + "actor": "ionut-botizan", + "createdAt": "2022-05-25T06:48:15Z", + "editedAt": "2022-05-25T06:49:26Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2817500", + "summary": "A contributor agrees app is a poor choice because projects already use it for application files.", + "actorId": "MDQ6VXNlcjQwODUwMQ==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKwF3", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-05-25T09:06:00Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2818423", + "summary": "A core team member explains folders with fixed file names enable colocation of tests and styles, clear layout nesting, and further conventions like loading.js.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtas" + }, + { + "id": "DC_kwDOBC3Cis4AKw0h", + "kind": "comment", + "actor": "TrueWill", + "createdAt": "2022-05-25T16:01:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2821409", + "summary": "A user asks whether IE11 support is dropped.", + "actorId": "MDQ6VXNlcjE3MDk3MjY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKxyN", + "kind": "comment", + "actor": "nighca", + "createdAt": "2022-05-26T06:48:03Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2825357", + "summary": "A user asks whether static generation remains possible.", + "actorId": "MDQ6VXNlcjE0OTIyNjM=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AKyJW", + "kind": "reply", + "actor": "shuding", + "createdAt": "2022-05-26T10:55:35Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2826838", + "summary": "A team member says Server Components do not force per-request SSR and routes can still be static.", + "actorId": "MDQ6VXNlcjM2NzY4NTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthQ" + }, + { + "id": "DC_kwDOBC3Cis4AKyLa", + "kind": "reply", + "actor": "shuding", + "createdAt": "2022-05-26T11:15:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2826970", + "summary": "A team member says context will handle passing data from layout to page.", + "actorId": "MDQ6VXNlcjM2NzY4NTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKth-" + }, + { + "id": "DC_kwDOBC3Cis4AKyNP", + "kind": "reply", + "actor": "shuding", + "createdAt": "2022-05-26T11:42:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2827087", + "summary": "A team member points to an earlier answer.", + "actorId": "MDQ6VXNlcjM2NzY4NTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKxyN" + }, + { + "id": "DC_kwDOBC3Cis4AKyvy", + "kind": "reply", + "actor": "lveillard", + "createdAt": "2022-05-26T17:41:07Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2829298", + "summary": "A user suggests routes as the default with a configurable name.", + "actorId": "MDQ6VXNlcjI5NDYxMDc2", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKy2C", + "kind": "reply", + "actor": "flybayer", + "createdAt": "2022-05-26T18:59:36Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2829698", + "summary": "A contributor strongly prefers routes because thousands of Blitz apps already use app.", + "actorId": "MDQ6VXNlcjg4MTMyNzY=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtgj" + }, + { + "id": "DC_kwDOBC3Cis4AKy6Y", + "kind": "comment", + "actor": "miloofcroton", + "createdAt": "2022-05-26T19:48:25Z", + "editedAt": "2022-05-26T20:09:08Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2829976", + "summary": "A user asks why app was chosen and asks for it to be configurable from the start.", + "actorId": "MDQ6VXNlcjExNzk0NDk0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK1Ij", + "kind": "comment", + "actor": "tombohub", + "createdAt": "2022-05-28T03:43:51Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2839075", + "summary": "A user asks for a release date.", + "actorId": "MDQ6VXNlcjMwMjk0MTI=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK1Ol", + "kind": "comment", + "actor": "stevenceuppens", + "createdAt": "2022-05-28T07:27:12Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2839461", + "summary": "A user asks for translated URL segments for i18n.", + "actorId": "MDQ6VXNlcjM5Nzc2NjM=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK1i1", + "kind": "comment", + "actor": "corysimmons", + "createdAt": "2022-05-28T13:48:54Z", + "editedAt": "2022-05-28T15:08:26Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2840757", + "summary": "A contributor suggests per-folder package.json main fields or a config mapper so route files can have descriptive names.", + "actorId": "MDQ6VXNlcjIyNDYzNg==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK1lC", + "kind": "reply", + "actor": "JClackett", + "createdAt": "2022-05-28T14:35:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2840898", + "summary": "A contributor says needing such workarounds signals a problem in the core API.", + "actorId": "MDQ6VXNlcjEyNTQ5MTI0", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK1i1" + }, + { + "id": "DC_kwDOBC3Cis4AK2Ge", + "kind": "comment", + "actor": "justinusamwijaya", + "createdAt": "2022-05-29T09:24:24Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2843038", + "summary": "A user is eager for the release.", + "actorId": "MDQ6VXNlcjMwNTc0NjM0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK4uM", + "kind": "comment", + "actor": "alexotoo", + "createdAt": "2022-05-31T07:55:51Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2853772", + "summary": "A user calls the app folder name confusing and asks for route.", + "actorId": "MDQ6VXNlcjQ5MzQ5NDM5", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK5nu", + "kind": "comment", + "actor": "dmijatovic", + "createdAt": "2022-05-31T16:02:42Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2857454", + "summary": "A user supports route names in file names with short type suffixes.", + "actorId": "MDQ6VXNlcjkyMDQwODE=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK8hb", + "kind": "comment", + "actor": "zephimir", + "createdAt": "2022-06-02T07:25:44Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2869339", + "summary": "A user enthusiastically supports the RFC.", + "actorId": "MDQ6VXNlcjQyNTg0ODg=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK8wy", + "kind": "reply", + "actor": "shuding", + "createdAt": "2022-06-02T10:03:44Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2870322", + "summary": "A team member answers that some static sub-layouts under dynamic layouts cannot stay fully static.", + "actorId": "MDQ6VXNlcjM2NzY4NTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKthQ" + }, + { + "id": "DC_kwDOBC3Cis4AK87g", + "kind": "comment", + "actor": "danieljpgo", + "createdAt": "2022-06-02T12:11:29Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2871008", + "summary": "A user asks whether modal routes can use static generation.", + "actorId": "MDQ6VXNlcjM3OTM4MDkw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK92j", + "kind": "reply", + "actor": "guitheengineer", + "createdAt": "2022-06-02T23:26:16Z", + "editedAt": "2022-06-02T23:30:21Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2874787", + "summary": "A user argues editors already let you search by folder path, so repeated names are manageable.", + "actorId": "MDQ6VXNlcjQ5NjIwNzM3", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4AK_E_", + "kind": "comment", + "actor": "danielpl10", + "createdAt": "2022-06-03T17:14:35Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2879807", + "summary": "A user asks whether the RFC is in any release yet.", + "actorId": "MDQ6VXNlcjgyODI2MDg3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AK_FS", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-06-03T17:18:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2879826", + "summary": "A core team member says not yet.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK_E_" + }, + { + "id": "DC_kwDOBC3Cis4ALBvK", + "kind": "reply", + "actor": "brdnicolas", + "createdAt": "2022-06-06T13:01:31Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2890698", + "summary": "A user asks for a date.", + "actorId": "MDQ6VXNlcjQzMjE5Mjk3", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK_E_" + }, + { + "id": "DC_kwDOBC3Cis4ALGAh", + "kind": "reply", + "actor": "jantimon", + "createdAt": "2022-06-08T18:45:28Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2908193", + "summary": "A contributor shows identical names also hurt error traces, React DevTools and editor tabs.", + "actorId": "MDQ6VXNlcjQxMTM2NDk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4ALGyE", + "kind": "comment", + "actor": "mikebuilds", + "createdAt": "2022-06-09T07:32:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2911364", + "summary": "A user wishes for optional config-file routing and asks about sharing layouts across sibling routes.", + "actorId": "MDQ6VXNlcjM2MTQ4NDY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALG2z", + "kind": "comment", + "actor": "dstoyanoff", + "createdAt": "2022-06-09T08:21:51Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2911667", + "summary": "A user asks to move API routes out of pages.", + "actorId": "MDQ6VXNlcjUwNzkzMzQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALHym", + "kind": "reply", + "actor": "gaearon", + "createdAt": "2022-06-09T17:04:22Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2915494", + "summary": "A React core member says DevTools could show the folder name for such files.", + "actorId": "MDQ6VXNlcjgxMDQzOA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4ALIc1", + "kind": "reply", + "actor": "tsongas", + "createdAt": "2022-06-10T00:30:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2918197", + "summary": "A user objects to abbreviated type suffixes as hard to read.", + "actorId": "MDQ6VXNlcjIwNzk1OTg=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK5nu" + }, + { + "id": "DC_kwDOBC3Cis4ALKu0", + "kind": "comment", + "actor": "meglio", + "createdAt": "2022-06-11T07:16:35Z", + "editedAt": "2022-06-11T07:17:48Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2927540", + "summary": "A user asks for more naming variants than page.jsx, arguing quick navigation becomes useless.", + "actorId": "MDQ6VXNlcjI4MjE3Nw==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALLBw", + "kind": "reply", + "actor": "vwkd", + "createdAt": "2022-06-11T13:54:27Z", + "editedAt": "2022-06-11T13:55:39Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2928752", + "summary": "A user argues reading the parent folder name is easy and folder names have clear advantages.", + "actorId": "MDQ6VXNlcjMzNDY4MDg5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AKtY7" + }, + { + "id": "DC_kwDOBC3Cis4ALMuL", + "kind": "comment", + "actor": "yf-hk", + "createdAt": "2022-06-13T05:55:28Z", + "editedAt": "2022-06-13T05:55:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2935691", + "summary": "A user asks whether it lands in Next.js 13.", + "actorId": "MDQ6VXNlcjIwMzk4MA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALOgF", + "kind": "comment", + "actor": "alebelcor", + "createdAt": "2022-06-14T01:22:53Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2942981", + "summary": "A user asks for an alternative to next/head for streaming.", + "actorId": "MDQ6VXNlcjg1NjgzOA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALOgk", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-06-14T01:32:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2943012", + "summary": "A core team member says a preview will be released before Next.js 13.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALMuL" + }, + { + "id": "DC_kwDOBC3Cis4ALOh4", + "kind": "comment", + "actor": "mjr", + "createdAt": "2022-06-14T01:54:44Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2943096", + "summary": "A user asks whether CSS can be imported at layout level.", + "actorId": "MDQ6VXNlcjkzMjQ5ODY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALO1x", + "kind": "comment", + "actor": "pheew", + "createdAt": "2022-06-14T06:57:33Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2944369", + "summary": "A user asks about programmatically adding routes via config.", + "actorId": "MDQ6VXNlcjEzNzk5", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALT_N", + "kind": "comment", + "actor": "3lLobo", + "createdAt": "2022-06-16T16:20:15Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2965453", + "summary": "A user asks when it will roll out.", + "actorId": "MDQ6VXNlcjI1MjkwNTY1", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALU_D", + "kind": "comment", + "actor": "tzarger", + "createdAt": "2022-06-17T07:48:17Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2969539", + "summary": "A user asks whether part two is still coming.", + "actorId": "MDQ6VXNlcjE3NTc1ODk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALWTh", + "kind": "comment", + "actor": "yf-hk", + "createdAt": "2022-06-18T01:06:06Z", + "editedAt": "2022-06-21T17:24:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-2974945", + "summary": "A user asks for custom per-language paths.", + "actorId": "MDQ6VXNlcjIwMzk4MA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALlC-", + "kind": "comment", + "actor": "tommyzrce", + "createdAt": "2022-06-27T23:44:53Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3035326", + "summary": "A user asks how this affects a Relay setup.", + "actorId": "U_kgDOBnSotw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALnsl", + "kind": "comment", + "actor": "michaelschufi", + "createdAt": "2022-06-29T07:48:05Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3046181", + "summary": "A user asks to rename or configure the app directory, preferring routes.", + "actorId": "MDQ6VXNlcjI4MDU1OTg=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ALvVs", + "kind": "comment", + "actor": "Code-Victor", + "createdAt": "2022-07-04T11:18:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3077484", + "summary": "A user asks whether it is available in 12.2.", + "actorId": "MDQ6VXNlcjYzNjEzMDc4", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AL8SG", + "kind": "comment", + "actor": "MobinX", + "createdAt": "2022-07-12T15:41:19Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3130502", + "summary": "A user asks when it will roll out.", + "actorId": "MDQ6VXNlcjQ3NjYzMzYw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMCjI", + "kind": "comment", + "actor": "0xc00010ff", + "createdAt": "2022-07-15T11:49:43Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3156168", + "summary": "A user asks how to be notified of a canary.", + "actorId": "MDQ6VXNlcjQ5NTA3Mjk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMD92", + "kind": "comment", + "actor": "laripereira14", + "createdAt": "2022-07-16T12:50:25Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3161974", + "summary": "A user asks for updates.", + "actorId": "MDQ6VXNlcjYzMTk2MTA4", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMGTi", + "kind": "comment", + "actor": "iammarkps", + "createdAt": "2022-07-18T13:00:17Z", + "editedAt": "2022-07-18T13:00:29Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3171554", + "summary": "A user asks how getStaticProps interacts with server components.", + "actorId": "MDQ6VXNlcjEyNDQ1MzI2", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMLkD", + "kind": "comment", + "actor": "leerob", + "createdAt": "2022-07-20T22:12:24Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3193091", + "summary": "A core team member links a progress update posted on social media.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMMNd", + "kind": "comment", + "actor": "Dandrum", + "createdAt": "2022-07-21T08:18:23Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3195741", + "summary": "A user asks how to give different groups of pages entirely different main layouts.", + "actorId": "MDQ6VXNlcjExMDQ3MjYx", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMMTy", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-07-21T09:02:24Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3196146", + "summary": "A core team member previews route groups using parenthesised folders that do not affect the URL, allowing separate layouts and multiple root layouts.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMMNd" + }, + { + "id": "DC_kwDOBC3Cis4AMMXY", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-07-21T09:29:59Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3196376", + "summary": "The core team member notes a typo in the example.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMMNd" + }, + { + "id": "DC_kwDOBC3Cis4AMNed", + "kind": "reply", + "actor": "dgrcode", + "createdAt": "2022-07-21T19:49:41Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3200925", + "summary": "A user likes route groups but still dislikes repeated page.js files and proposes _layout.js with route-named files.", + "actorId": "MDQ6VXNlcjE3NDkzMjAw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMMNd" + }, + { + "id": "DC_kwDOBC3Cis4AMQf6", + "kind": "comment", + "actor": "Nefcanto", + "createdAt": "2022-07-23T17:27:57Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3213306", + "summary": "A user asks for an ETA and notes part two is missing.", + "actorId": "MDQ6VXNlcjEyNzgyMzQ3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AMl7v", + "kind": "reply", + "actor": "TmLev", + "createdAt": "2022-08-01T18:10:18Z", + "editedAt": "2022-08-01T18:11:01Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3301103", + "summary": "A user asks for patience.", + "actorId": "MDQ6VXNlcjIyOTY2NTIz", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMQf6" + }, + { + "id": "DC_kwDOBC3Cis4AMmOK", + "kind": "reply", + "actor": "sillvva", + "createdAt": "2022-08-01T20:52:59Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3302282", + "summary": "A user prefers directory routing over config-based routing.", + "actorId": "MDQ6VXNlcjUxMzgzODQ=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMMNd" + }, + { + "id": "DC_kwDOBC3Cis4AMoG6", + "kind": "reply", + "actor": "tzarger", + "createdAt": "2022-08-02T17:27:18Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3310010", + "summary": "A user says Next.js may not suit everyone.", + "actorId": "MDQ6VXNlcjE3NTc1ODk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AMMNd" + }, + { + "id": "DC_kwDOBC3Cis4AMzFF", + "kind": "comment", + "actor": "ashokkumarsand", + "createdAt": "2022-08-09T05:51:26Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3354949", + "summary": "A user asks for a release date.", + "actorId": "MDQ6VXNlcjM2MjU4NDY=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AM3gV", + "kind": "comment", + "actor": "ChazUK", + "createdAt": "2022-08-11T09:12:54Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3373077", + "summary": "A user looks forward to better nested routing.", + "actorId": "MDQ6VXNlcjc2ODEwOA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AM_rA", + "kind": "comment", + "actor": "habubey", + "createdAt": "2022-08-16T13:14:55Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3406528", + "summary": "A user asks what replaces the pages folder and API routes.", + "actorId": "MDQ6VXNlcjcxMTQwMDk3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANGmK", + "kind": "comment", + "actor": "IrakliK", + "createdAt": "2022-08-19T21:50:55Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3434890", + "summary": "A user asks for a rough timeframe.", + "actorId": "MDQ6VXNlcjYxNzE5MDg=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANTl1", + "kind": "comment", + "actor": "grzechz", + "createdAt": "2022-08-27T06:38:07Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3488117", + "summary": "A user asks for typed routes instead of loosely defined file-system routes.", + "actorId": "MDQ6VXNlcjMyMjA0ODY3", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANbQE", + "kind": "comment", + "actor": "nahianmd", + "createdAt": "2022-08-31T16:19:41Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3519492", + "summary": "A user asks for a release date.", + "actorId": "MDQ6VXNlcjM2NjE2MTky", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANhhy", + "kind": "reply", + "actor": "athammer", + "createdAt": "2022-09-04T03:52:00Z", + "editedAt": "2022-09-08T17:10:24Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3545202", + "summary": "A user predicts a reveal at the Next.js conference and links the part-two update in the 12.3 blog post.", + "actorId": "MDQ6VXNlcjE2MDI3MDM5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANbQE" + }, + { + "id": "DC_kwDOBC3Cis4ANrgW", + "kind": "comment", + "actor": "mmocny", + "createdAt": "2022-09-07T14:55:13Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3586070", + "summary": "A user asks whether part two exists.", + "actorId": "MDQ6VXNlcjQ3NDI4Mg==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANuUa", + "kind": "reply", + "actor": "athammer", + "createdAt": "2022-09-08T17:10:14Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3597594", + "summary": "A user links the part-two update.", + "actorId": "MDQ6VXNlcjE2MDI3MDM5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANrgW" + }, + { + "id": "DC_kwDOBC3Cis4ANued", + "kind": "comment", + "actor": "ttsirkia", + "createdAt": "2022-09-08T18:02:46Z", + "editedAt": "2022-09-08T18:04:28Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3598237", + "summary": "A user notes the page.js naming concern remains unchanged in part two and asks whether an alternative scheme is still possible or the naming is final.", + "actorId": "MDQ6VXNlcjI3OTc3Mjk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANuom", + "kind": "reply", + "actor": "ttsirkia", + "createdAt": "2022-09-08T18:58:26Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3598886", + "summary": "The user says index.js would not fix repeated names.", + "actorId": "MDQ6VXNlcjI3OTc3Mjk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANued" + }, + { + "id": "DC_kwDOBC3Cis4ANuuR", + "kind": "reply", + "actor": "ttsirkia", + "createdAt": "2022-09-08T19:14:36Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3599249", + "summary": "The user repeats the earlier screenshot illustrating repeated names.", + "actorId": "MDQ6VXNlcjI3OTc3Mjk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANued" + }, + { + "id": "DC_kwDOBC3Cis4ANuus", + "kind": "reply", + "actor": "mateuszaliyev", + "createdAt": "2022-09-08T19:18:16Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3599276", + "summary": "A contributor backs type-suffixed names like name.page.js and prefers routes over app.", + "actorId": "MDQ6VXNlcjgyMzkzODE1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANued" + }, + { + "id": "DC_kwDOBC3Cis4ANvQp", + "kind": "comment", + "actor": "milovangudelj", + "createdAt": "2022-09-08T22:05:04Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3601449", + "summary": "A contributor notes intercepting routes suit modal-over-feed patterns.", + "actorId": "MDQ6VXNlcjQ5MjAyNTM4", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANxrF", + "kind": "comment", + "actor": "professorhaseeb", + "createdAt": "2022-09-09T19:28:19Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3611333", + "summary": "A user asks to move the api folder out of pages.", + "actorId": "MDQ6VXNlcjE0OTI4ODg=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANxti", + "kind": "comment", + "actor": "colinclerk", + "createdAt": "2022-09-09T19:54:30Z", + "editedAt": "2022-09-09T19:55:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3611490", + "summary": "A contributor says the intercepting-route DX looks tedious for globally available modals.", + "actorId": "MDQ6VXNlcjUxMTQ0MDMz", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4ANx5n", + "kind": "comment", + "actor": "sviridoff", + "createdAt": "2022-09-09T22:26:22Z", + "editedAt": "2022-09-10T03:20:35Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3612263", + "summary": "A contributor asks whether custom servers will support Server Components.", + "actorId": "MDQ6VXNlcjIyNTc0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AN0Uf", + "kind": "comment", + "actor": "statusunknown418", + "createdAt": "2022-09-12T02:53:22Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3622175", + "summary": "A user asks for an example with a src folder.", + "actorId": "MDQ6VXNlcjc0MzcxMDQ1", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AN0ur", + "kind": "comment", + "actor": "TommySorensen", + "createdAt": "2022-09-12T08:43:38Z", + "editedAt": "2022-09-13T08:46:28Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3623851", + "summary": "A user asks again how CMS-owned URLs fit folder-defined layouts.", + "actorId": "MDQ6VXNlcjQxMzQ0NzM=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AN84K", + "kind": "comment", + "actor": "lucas-overlapinteractive", + "createdAt": "2022-09-15T20:24:16Z", + "editedAt": "2022-09-15T20:27:25Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3657226", + "summary": "A user asks how page-level metadata reaches the head in the root layout.", + "actorId": "MDQ6VXNlcjI2OTczNDk4", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AOHTb", + "kind": "comment", + "actor": "sopuku", + "createdAt": "2022-09-21T13:03:46Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3699931", + "summary": "A user asks for release news.", + "actorId": "MDQ6VXNlcjExMzQ3OTA0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AOHj7", + "kind": "reply", + "actor": "ashokkumarsand", + "createdAt": "2022-09-21T14:28:25Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3700987", + "summary": "A user suggests switching to Remix instead.", + "actorId": "MDQ6VXNlcjM2MjU4NDY=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AOHTb" + }, + { + "id": "DC_kwDOBC3Cis4AOJUn", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-09-22T10:35:39Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3708199", + "summary": "A core team member says he hid two off-topic comments and points to the conference.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AOHTb" + }, + { + "id": "DC_kwDOBC3Cis4AOJ2l", + "kind": "comment", + "actor": "sviridoff", + "createdAt": "2022-09-22T15:08:29Z", + "editedAt": "2022-09-22T15:19:45Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3710373", + "summary": "A contributor asks for a way to render components without wrappers for edge caching.", + "actorId": "MDQ6VXNlcjIyNTc0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AOTIl", + "kind": "comment", + "actor": "gmwill934", + "createdAt": "2022-09-28T04:01:27Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3748389", + "summary": "A user adds excitement.", + "actorId": "MDQ6VXNlcjY1ODI4MjU0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AOvAJ", + "kind": "comment", + "actor": "pjaws", + "createdAt": "2022-10-12T16:49:27Z", + "editedAt": "2022-10-12T16:50:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3862537", + "summary": "A contributor asks how per-page CMS-driven layouts would work.", + "actorId": "MDQ6VXNlcjUzMTU2MDAy", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4AO6GW", + "kind": "comment", + "actor": "leerob", + "createdAt": "2022-10-18T16:45:02Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3907990", + "summary": "A core team member says more will be shared at the conference the following week.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "DC_kwDOBC3Cis4APGFP", + "kind": "comment", + "actor": "dtinth", + "createdAt": "2022-10-25T05:16:32Z", + "url": "https://github.com/vercel/next.js/discussions/37136#discussioncomment-3957071", + "summary": "A contributor quizzes readers on which colocated files are special, warns new special names could break projects, and proposes a reserved prefix as SvelteKit uses.", + "actorId": "MDQ6VXNlcjE5MzEzNg==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4APncx" + }, + { + "id": "D_kwDOBC3Cis4APncx:process:closed:2023-05-07T18:15:54Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2023-05-07T18:15:54Z", + "url": "https://github.com/vercel/next.js/discussions/37136", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOBC3Cis4APncx" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nextjs-forbidden-unauthorized-rfc.json b/evals/datasets/decisions-v1/cases/nextjs-forbidden-unauthorized-rfc.json new file mode 100644 index 000000000..6a79b8524 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nextjs-forbidden-unauthorized-rfc.json @@ -0,0 +1,553 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nextjs-forbidden-unauthorized-rfc", + "title": "Dedicated auth interrupts versus a generic status mechanism", + "source": { + "url": "https://github.com/vercel/next.js/discussions/73753", + "retrievedAt": "2026-10-18T07:20:00.753718+00:00", + "repository": "vercel/next.js", + "number": 73753, + "nodeId": "D_kwDOBC3Cis4AdMQq" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-12-10T19:30:00Z" + }, + { + "id": "c2", + "at": "2024-12-12T23:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOBC3Cis4AdMQq", + "kind": "opening", + "actor": "ztanner", + "createdAt": "2024-12-10T19:01:25Z", + "editedAt": "2024-12-10T20:35:17Z", + "url": "https://github.com/vercel/next.js/discussions/73753", + "summary": "A maintainer proposes experimental `forbidden()` and `unauthorized()` functions, modelled on `notFound()`, that trigger 403 and 401 responses with customisable `forbidden.tsx` and `unauthorized.tsx` pages behind the `authInterrupts` flag, and invites feedback before stabilising.", + "actorId": "MDQ6VXNlcjE5MzkxNDA=", + "actorType": "human" + }, + { + "id": "DC_kwDOBC3Cis4Ar9wD", + "kind": "comment", + "actor": "jonathanhefner", + "createdAt": "2024-12-10T19:38:17Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11525123", + "summary": "A contributor asks whether the common pattern of redirecting to sign-in and back to the original page can work with `unauthorized()`.", + "actorId": "MDQ6VXNlcjc3MTk2OA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar9y5", + "kind": "comment", + "actor": "darthmaim", + "createdAt": "2024-12-10T19:58:52Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11525305", + "summary": "A contributor asks that these error pages, and `not-found.tsx`, be able to export metadata.", + "actorId": "MDQ6VXNlcjI1MTE1NDc=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar9zu", + "kind": "comment", + "actor": "KraKeN-47", + "createdAt": "2024-12-10T20:04:08Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11525358", + "summary": "A user asks for docs on how streaming affects the flow, since the status may end up 200.", + "actorId": "MDQ6VXNlcjUxNzYxNzYw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar-EC", + "kind": "reply", + "actor": "Netail", + "createdAt": "2024-12-10T22:24:02Z", + "editedAt": "2024-12-10T22:37:05Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526402", + "summary": "A contributor notes HTTP 401 has no standard location header, so `redirect()` is the tool for redirecting.", + "actorId": "MDQ6VXNlcjExNjk1NzY5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar9wD" + }, + { + "id": "DC_kwDOBC3Cis4Ar-EY", + "kind": "comment", + "actor": "switz", + "createdAt": "2024-12-10T22:27:31Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526424", + "summary": "A user questions adding named helpers instead of letting developers return any status code, possibly chained with a redirect, and asks why arbitrary codes are not supported.", + "actorId": "MDQ6VXNlcjk5MDE2Ng==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar-FE", + "kind": "reply", + "actor": "Netail", + "createdAt": "2024-12-10T22:33:12Z", + "editedAt": "2024-12-10T22:33:58Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526468", + "summary": "A contributor argues these cover the codes that render distinct pages, and named files are clearer than numeric ones.", + "actorId": "MDQ6VXNlcjExNjk1NzY5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-EY" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Fk", + "kind": "comment", + "actor": "Netail", + "createdAt": "2024-12-10T22:38:58Z", + "editedAt": "2024-12-10T22:40:48Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526500", + "summary": "A contributor suggests passing a payload to the pages, such as a missing scope, and a retry function.", + "actorId": "MDQ6VXNlcjExNjk1NzY5", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar-GO", + "kind": "reply", + "actor": "switz", + "createdAt": "2024-12-10T22:46:37Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526542", + "summary": "The user asks about 500, 503 or 201 from server actions, and says framework-specific conventions instead of web standards are a common criticism.", + "actorId": "MDQ6VXNlcjk5MDE2Ng==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-EY" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Gj", + "kind": "reply", + "actor": "Netail", + "createdAt": "2024-12-10T22:50:16Z", + "editedAt": "2024-12-10T22:51:36Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526563", + "summary": "A contributor says throwing an error already gives a 500 via `error.tsx`, but agrees server actions are awkward.", + "actorId": "MDQ6VXNlcjExNjk1NzY5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-EY" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Go", + "kind": "reply", + "actor": "darthmaim", + "createdAt": "2024-12-10T22:50:53Z", + "editedAt": "2024-12-10T22:57:24Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526568", + "summary": "A contributor points to PR #73665, which adds a cause, though it may only be readable when catching the error.", + "actorId": "MDQ6VXNlcjI1MTE1NDc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-Fk" + }, + { + "id": "DC_kwDOBC3Cis4Ar-G3", + "kind": "reply", + "actor": "darthmaim", + "createdAt": "2024-12-10T22:54:40Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526583", + "summary": "A contributor points to updated docs in that PR showing a redirect on error, which does not return users to the start page.", + "actorId": "MDQ6VXNlcjI1MTE1NDc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar9wD" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Hk", + "kind": "reply", + "actor": "Netail", + "createdAt": "2024-12-10T23:01:53Z", + "editedAt": "2024-12-10T23:03:21Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526628", + "summary": "A contributor suggests encoding data into the error message as a workaround.", + "actorId": "MDQ6VXNlcjExNjk1NzY5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-Fk" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Kq", + "kind": "comment", + "actor": "builderxk", + "createdAt": "2024-12-10T23:40:48Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526826", + "summary": "A user asks how to check authentication globally rather than in every route.", + "actorId": "MDQ6VXNlcjM3MzI2MzU5", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ar-L5", + "kind": "reply", + "actor": "darthmaim", + "createdAt": "2024-12-10T23:53:56Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11526905", + "summary": "A contributor points to the proposed request interceptors PR.", + "actorId": "MDQ6VXNlcjI1MTE1NDc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-Kq" + }, + { + "id": "DC_kwDOBC3Cis4Ar-Oy", + "kind": "reply", + "actor": "builderxk", + "createdAt": "2024-12-11T00:30:53Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11527090", + "summary": "The user asks if that is in canary.", + "actorId": "MDQ6VXNlcjM3MzI2MzU5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-Kq" + }, + { + "id": "DC_kwDOBC3Cis4AsAi5", + "kind": "comment", + "actor": "matthiasfeist", + "createdAt": "2024-12-11T18:42:50Z", + "editedAt": "2024-12-11T18:43:26Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11536569", + "summary": "A user asks for a public way to identify these thrown control-flow errors so catch blocks can rethrow them, noting libraries reach into internals.", + "actorId": "MDQ6VXNlcjE1ODk3NDA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsA5b", + "kind": "reply", + "actor": "darthmaim", + "createdAt": "2024-12-11T21:50:20Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11538011", + "summary": "A contributor points again to PR #73665.", + "actorId": "MDQ6VXNlcjI1MTE1NDc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsAi5" + }, + { + "id": "DC_kwDOBC3Cis4AsBgb", + "kind": "reply", + "actor": "matthiasfeist", + "createdAt": "2024-12-12T06:11:05Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11540507", + "summary": "The user says it does not fully solve the problem.", + "actorId": "MDQ6VXNlcjE1ODk3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsAi5" + }, + { + "id": "DC_kwDOBC3Cis4AsD3S", + "kind": "comment", + "actor": "sawa-ko", + "createdAt": "2024-12-12T22:34:08Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11550162", + "summary": "A user asks why there are helpers for popular statuses rather than a generic function for any status.", + "actorId": "MDQ6VXNlcjU2MDg0OTcw", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsEvN", + "kind": "reply", + "actor": "simoncave", + "createdAt": "2024-12-13T08:26:06Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11553741", + "summary": "A user links their feature request for passing a cause, and asks whether pages will receive it along with a reset function.", + "actorId": "MDQ6VXNlcjMyNzU5MQ==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar-Fk" + }, + { + "id": "DC_kwDOBC3Cis4AsFWZ", + "kind": "reply", + "actor": "simoncave", + "createdAt": "2024-12-13T12:23:50Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11556249", + "summary": "A user shares demos of redirect-to-sign-in and inline sign-in, reporting the inline version stays stuck on the unauthorized page until a hard reload.", + "actorId": "MDQ6VXNlcjMyNzU5MQ==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar9wD" + }, + { + "id": "DC_kwDOBC3Cis4AsGNb", + "kind": "comment", + "actor": "aralroca", + "createdAt": "2024-12-13T17:15:12Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11559771", + "summary": "A contributor questions using these in server components, since streaming forces a 200, and suggests middleware is the better place for auth status.", + "actorId": "MDQ6VXNlcjEzMzEzMDU4", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsGN4", + "kind": "reply", + "actor": "aralroca", + "createdAt": "2024-12-13T17:17:35Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11559800", + "summary": "The contributor answers that generic statuses cannot work once headers have streamed, so these trigger a client-side soft navigation.", + "actorId": "MDQ6VXNlcjEzMzEzMDU4", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsD3S" + }, + { + "id": "DC_kwDOBC3Cis4AsGOR", + "kind": "reply", + "actor": "aralroca", + "createdAt": "2024-12-13T17:19:12Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11559825", + "summary": "The contributor concedes they make sense in server actions.", + "actorId": "MDQ6VXNlcjEzMzEzMDU4", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsGNb" + }, + { + "id": "DC_kwDOBC3Cis4AsJm9", + "kind": "reply", + "actor": "jonathanhefner", + "createdAt": "2024-12-15T18:25:17Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11573693", + "summary": "A contributor refines the requirement as showing sign-in and returning without extra clicks, notes reading the current URL is a known gap, demonstrates a referer-based redirect, and suggests a server-side `refresh()`.", + "actorId": "MDQ6VXNlcjc3MTk2OA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar9wD" + }, + { + "id": "DC_kwDOBC3Cis4AsMMp", + "kind": "comment", + "actor": "colinclerk", + "createdAt": "2024-12-16T17:55:30Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11584297", + "summary": "A contributor from an auth company asks how to implement reverification with these APIs, needing the cause on the client, and asks when throw-based interrupts versus early returns are advised.", + "actorId": "MDQ6VXNlcjUxMTQ0MDMz", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsUYr", + "kind": "comment", + "actor": "jperasmus", + "createdAt": "2024-12-19T14:00:04Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11617835", + "summary": "A user proposes renaming `unauthorized()` to `unauthenticated()`, since 401 actually means not authenticated.", + "actorId": "MDQ6VXNlcjY3ODc0NTI=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsYhq", + "kind": "comment", + "actor": "omermecitoglu", + "createdAt": "2024-12-21T02:16:05Z", + "editedAt": "2024-12-21T02:19:03Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11634794", + "summary": "A user asks whether the page can know where the user came from, to redirect back after sign-in.", + "actorId": "MDQ6VXNlcjUxMjgzNTQ=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AsaQW", + "kind": "comment", + "actor": "marjorg", + "createdAt": "2024-12-22T10:29:14Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11641878", + "summary": "A contributor asks for a mechanism for any HTTP status, or at least SEO-relevant ones like 410, linking older discussions.", + "actorId": "MDQ6VXNlcjU0NDI1NDk=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4AslPk", + "kind": "reply", + "actor": "jonathanhefner", + "createdAt": "2024-12-28T20:35:30Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11686884", + "summary": "A contributor suggests rendering the sign-in form in place so the URL is preserved, leaving open how to refresh afterwards.", + "actorId": "MDQ6VXNlcjc3MTk2OA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsYhq" + }, + { + "id": "DC_kwDOBC3Cis4Ass-I", + "kind": "comment", + "actor": "markspolakovs", + "createdAt": "2025-01-02T16:19:28Z", + "editedAt": "2025-01-02T16:20:11Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11718536", + "summary": "A user describes library errors such as a permissions ForbiddenError thrown from data access, which are treated as ordinary errors and force verbose try/catch wrappers.", + "actorId": "MDQ6VXNlcjI5MDQ0NDA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ass-U", + "kind": "reply", + "actor": "markspolakovs", + "createdAt": "2025-01-02T16:22:02Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11718548", + "summary": "The user floats a config list of error names exposed to error boundaries.", + "actorId": "MDQ6VXNlcjI5MDQ0NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ass-I" + }, + { + "id": "DC_kwDOBC3Cis4AstRk", + "kind": "reply", + "actor": "jonathanhefner", + "createdAt": "2025-01-02T19:03:43Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-11719780", + "summary": "A contributor calls the use case important but finds name matching fragile, suggesting request interceptors that wrap rendering.", + "actorId": "MDQ6VXNlcjc3MTk2OA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ass-I" + }, + { + "id": "DC_kwDOBC3Cis4At0wK", + "kind": "reply", + "actor": "gnoff", + "createdAt": "2025-01-30T23:50:02Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12012554", + "summary": "A maintainer advises reserving interrupts for cases with no recourse, and sketches a protect/protectAction pattern that passes a cause through server actions to client state for recoverable cases like reverification.", + "actorId": "MDQ6VXNlcjI3MTYzNjk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsMMp" + }, + { + "id": "DC_kwDOBC3Cis4At0wL", + "kind": "reply", + "actor": "gnoff", + "createdAt": "2025-01-30T23:50:08Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12012555", + "summary": "The maintainer tags the RFC author.", + "actorId": "MDQ6VXNlcjI3MTYzNjk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsMMp" + }, + { + "id": "DC_kwDOBC3Cis4Au3Tk", + "kind": "comment", + "actor": "benkingcode", + "createdAt": "2025-02-22T11:03:31Z", + "editedAt": "2025-02-22T11:03:47Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12285156", + "summary": "A user says the example reads as if execution continues and asks for an explicit return or throw.", + "actorId": "MDQ6VXNlcjcxMTcwMA==", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Au4W-", + "kind": "reply", + "actor": "jonathanhefner", + "createdAt": "2025-02-23T03:23:48Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12289470", + "summary": "A contributor explains the function has a `never` return type and throws internally.", + "actorId": "MDQ6VXNlcjc3MTk2OA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Au3Tk" + }, + { + "id": "DC_kwDOBC3Cis4Au40m", + "kind": "reply", + "actor": "benkingcode", + "createdAt": "2025-02-23T12:42:27Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12291366", + "summary": "The user restates the concern as one of code readability.", + "actorId": "MDQ6VXNlcjcxMTcwMA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Au3Tk" + }, + { + "id": "DC_kwDOBC3Cis4Au41_", + "kind": "reply", + "actor": "markspolakovs", + "createdAt": "2025-02-23T12:57:32Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12291455", + "summary": "A user notes writing `return forbidden()` is allowed.", + "actorId": "MDQ6VXNlcjI5MDQ0NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Au3Tk" + }, + { + "id": "DC_kwDOBC3Cis4AwZc4", + "kind": "reply", + "actor": "axten", + "createdAt": "2025-04-01T11:06:39Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12687160", + "summary": "A user says the error message shown matters more than the code, and 50x errors cannot be shown properly today.", + "actorId": "MDQ6VXNlcjE0MTI3Nzg=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AsD3S" + }, + { + "id": "DC_kwDOBC3Cis4AwZfP", + "kind": "comment", + "actor": "axten", + "createdAt": "2025-04-01T11:22:29Z", + "editedAt": "2025-04-01T11:31:25Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-12687311", + "summary": "A user proposes replacing the separate functions and pages with one `error(code)` function whose code reaches `error.tsx`.", + "actorId": "MDQ6VXNlcjE0MTI3Nzg=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4Ax71l", + "kind": "comment", + "actor": "emanuel-okroj", + "createdAt": "2025-05-09T12:42:56Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-13090149", + "summary": "A user asks for more status codes or a generic mechanism, citing 410 for SEO.", + "actorId": "U_kgDOCT6BiQ", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4A6qLk", + "kind": "reply", + "actor": "Mayoyo25", + "createdAt": "2025-12-30T19:14:13Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-15377124", + "summary": "A user asks how the interrupts relate to Proxy for route protection and suggests passing context such as the intended destination to `unauthorized.tsx`.", + "actorId": "U_kgDOBfMNmA", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4Ar9wD" + }, + { + "id": "DC_kwDOBC3Cis4A7UXc", + "kind": "comment", + "actor": "coderrshyam", + "createdAt": "2026-01-20T14:36:03Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-15549916", + "summary": "A user complains the feature is still experimental after a long wait.", + "actorId": "U_kgDOCWochA", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4A_2tz", + "kind": "comment", + "actor": "Kvintus", + "createdAt": "2026-04-28T07:16:14Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-16739187", + "summary": "A user wants many distinct forbidden reasons from a backend to render specific in-layout error cards, describing current workarounds and asking for `forbidden()` to accept a reason.", + "actorId": "MDQ6VXNlcjkzODI4NzA=", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + }, + { + "id": "DC_kwDOBC3Cis4A_5J5", + "kind": "comment", + "actor": "heecheon92", + "createdAt": "2026-04-28T23:46:08Z", + "url": "https://github.com/vercel/next.js/discussions/73753#discussioncomment-16749177", + "summary": "A user asks whether this will ever be officially supported.", + "actorId": "MDQ6VXNlcjIyMzU3Njc0", + "actorType": "human", + "parentId": "D_kwDOBC3Cis4AdMQq" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nextjs-global-css-imports-rfc.json b/evals/datasets/decisions-v1/cases/nextjs-global-css-imports-rfc.json new file mode 100644 index 000000000..edb8f5d5e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nextjs-global-css-imports-rfc.json @@ -0,0 +1,902 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nextjs-global-css-imports-rfc", + "title": "RFC to allow global CSS imports from dependencies and pages", + "source": { + "url": "https://github.com/vercel/next.js/discussions/27953", + "retrievedAt": "2026-10-18T07:19:56.113465+00:00", + "repository": "vercel/next.js", + "number": 27953, + "nodeId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-08-11T09:30:00Z" + }, + { + "id": "c2", + "at": "2022-06-04T15:00:00Z" + }, + { + "id": "c3", + "at": "2022-10-27T07:00:00Z" + }, + { + "id": "c4", + "at": "2022-11-04T11:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24zNTEyNjUx", + "kind": "opening", + "actor": "timneutkens", + "createdAt": "2021-08-11T09:22:39Z", + "url": "https://github.com/vercel/next.js/discussions/27953", + "summary": "A maintainer's RFC proposes lifting the rule that global CSS may only be imported in `pages/_app.js`, so pages and `node_modules` packages like react-spectrum can import plain CSS now that webpack 5 tracks entry-point relationships, while noting CSS module imports from packages are unlikely.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE1Nzg0MA==", + "kind": "comment", + "actor": "fabianishere", + "createdAt": "2021-08-11T09:35:58Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1157840", + "summary": "A contributor asks whether server rendering would require running all dependencies through webpack, hurting build speed.", + "actorId": "MDQ6VXNlcjc2NzM1MQ==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE1Nzk0Ng==", + "kind": "comment", + "actor": "agos", + "createdAt": "2021-08-11T10:02:45Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1157946", + "summary": "A user explains CSS module imports from packages would mainly help shared component libraries that would also need transpiling.", + "actorId": "MDQ6VXNlcjExMTQ4Ng==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE1Nzk5Mg==", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2021-08-11T10:17:24Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1157992", + "summary": "The maintainer replies the server would simply ignore CSS imports via a require hook.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE1Nzg0MA==" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE4NTU4OA==", + "kind": "comment", + "actor": "kimgiutae", + "createdAt": "2021-08-14T21:51:28Z", + "editedAt": "2021-08-14T22:07:45Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1185588", + "summary": "A user asks whether all CSS imported in `_app` currently loads on every page.", + "actorId": "MDQ6VXNlcjM3OTg4NzA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE4ODQ4NA==", + "kind": "comment", + "actor": "PsyGik", + "createdAt": "2021-08-16T07:09:40Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1188484", + "summary": "A user asks whether components, not just pages and packages, could import CSS.", + "actorId": "MDQ6VXNlcjU0MzI5MTE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE5MjE2NQ==", + "kind": "comment", + "actor": "evgenymarkov", + "createdAt": "2021-08-16T21:05:24Z", + "editedAt": "2021-08-16T21:07:18Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1192165", + "summary": "A user shares a colleague's plugin workaround built for a UI library.", + "actorId": "MDQ6VXNlcjE2NDQzMjQ4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTIwODk0Mw==", + "kind": "comment", + "actor": "AlbinoGeek", + "createdAt": "2021-08-19T21:29:44Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1208943", + "summary": "A user posts the error from a package and adds support.", + "actorId": "MDQ6VXNlcjE5MTA0NjE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AE0RI", + "kind": "comment", + "actor": "vjxDev", + "createdAt": "2021-09-01T00:12:25Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262664", + "summary": "A user asks for CRA-style global imports from packages and proposes a `` component with scoping, inlining and explicit ordering.", + "actorId": "MDQ6VXNlcjYwNzUzMzQw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AE0RP", + "kind": "comment", + "actor": "AlbinoGeek", + "createdAt": "2021-09-01T00:16:15Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262671", + "summary": "A user, replying by email, suggests looking at styled-components as a model.", + "actorId": "MDQ6VXNlcjE5MTA0NjE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AE0RT", + "kind": "comment", + "actor": "adogg43", + "createdAt": "2021-09-01T00:18:19Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262675", + "summary": "A user posts an unrelated short email reply quoting the previous comment.", + "actorId": "MDQ6VXNlcjc4MDk0Nzg4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AE0Se", + "kind": "reply", + "actor": "vjxDev", + "createdAt": "2021-09-01T01:13:33Z", + "editedAt": "2021-09-01T01:17:16Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262750", + "summary": "The Stylesheet proposer says CSS-in-JS libraries hurt parse time and performance scores.", + "actorId": "MDQ6VXNlcjYwNzUzMzQw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AE0RP" + }, + { + "id": "DC_kwDOBC3Cis4AE0So", + "kind": "reply", + "actor": "AlbinoGeek", + "createdAt": "2021-09-01T01:18:46Z", + "editedAt": "2021-09-01T01:19:09Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262760", + "summary": "The styled-components user says the overhead is near zero for fully static sites, depending on use case.", + "actorId": "MDQ6VXNlcjE5MTA0NjE=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AE0RP" + }, + { + "id": "DC_kwDOBC3Cis4AE0TP", + "kind": "reply", + "actor": "kimgiutae", + "createdAt": "2021-09-01T01:44:58Z", + "editedAt": "2021-09-01T01:48:34Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1262799", + "summary": "A user points to build-time CSS-in-JS libraries such as Linaria.", + "actorId": "MDQ6VXNlcjM3OTg4NzA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AE0RP" + }, + { + "id": "DC_kwDOBC3Cis4AE4TS", + "kind": "comment", + "actor": "blvdmitry", + "createdAt": "2021-09-03T22:54:46Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1279186", + "summary": "A library author welcomes the RFC because pre-bundled CSS defeats style tree-shaking, and asks whether global styles must be split into separate files.", + "actorId": "MDQ6VXNlcjg4NzM3OQ==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AFAXs", + "kind": "comment", + "actor": "lunelson", + "createdAt": "2021-09-12T11:10:25Z", + "editedAt": "2021-09-12T12:51:45Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1312236", + "summary": "A user asks that global Sass imports be allowed too, since Sass libraries are configured at build time.", + "actorId": "MDQ6VXNlcjEyNDI4NjQ=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AFPch", + "kind": "comment", + "actor": "yantakus", + "createdAt": "2021-09-23T10:36:51Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1373985", + "summary": "A user says the restriction blocks their monorepo migration and asks for updates.", + "actorId": "MDQ6VXNlcjIxNzk3MjY=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AFgTx", + "kind": "comment", + "actor": "natterstefan", + "createdAt": "2021-10-07T15:05:09Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1443057", + "summary": "A user says it blocks Cypress component testing and asks maintainers for updates.", + "actorId": "MDQ6VXNlcjEwNDM2Njg=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AFhaX", + "kind": "comment", + "actor": "pooyarm", + "createdAt": "2021-10-08T10:55:30Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1447575", + "summary": "A user says per-component global LESS imports keep them from upgrading.", + "actorId": "MDQ6VXNlcjM3NDkw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AFi1s", + "kind": "comment", + "actor": "stopyransky", + "createdAt": "2021-10-09T19:25:37Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1453420", + "summary": "A user notes the same issue in Nx monorepos with shared UI libraries.", + "actorId": "MDQ6VXNlcjk1MjEwNDE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AGAXo", + "kind": "reply", + "actor": "pooyarm", + "createdAt": "2021-11-02T07:44:07Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1574376", + "summary": "A user argues allowing global imports everywhere would help more than harm.", + "actorId": "MDQ6VXNlcjM3NDkw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AFi1s" + }, + { + "id": "DC_kwDOBC3Cis4AGRj2", + "kind": "comment", + "actor": "hyfdev", + "createdAt": "2021-11-15T13:50:34Z", + "editedAt": "2021-11-15T14:07:38Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1644790", + "summary": "An author of a compile-time atomic CSS library explains it needs to emit global CSS imports from any file.", + "actorId": "MDQ6VXNlcjQ5NTAyMTcw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AHkaX", + "kind": "comment", + "actor": "timothyjoh", + "createdAt": "2022-01-17T15:09:05Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1984151", + "summary": "A user describes an Nx layout where a shared theme package imports global CSS.", + "actorId": "MDQ6VXNlcjE1NjY=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AHmgr", + "kind": "comment", + "actor": "andres-dejesus", + "createdAt": "2022-01-18T19:18:13Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1992747", + "summary": "A user asks for a workaround under their control.", + "actorId": "MDQ6VXNlcjU3ODAzMDYz", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AHmkg", + "kind": "reply", + "actor": "benkingcode", + "createdAt": "2022-01-18T20:01:52Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-1992992", + "summary": "A user recommends the next-global-css plugin.", + "actorId": "MDQ6VXNlcjcxMTcwMA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AHoTT", + "kind": "reply", + "actor": "timothyjoh", + "createdAt": "2022-01-19T18:41:25Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2000083", + "summary": "A user asks whether that only works with webpack, not SWC.", + "actorId": "MDQ6VXNlcjE1NjY=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AHoTW", + "kind": "reply", + "actor": "benkingcode", + "createdAt": "2022-01-19T18:42:21Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2000086", + "summary": "The user confirms it requires webpack for now.", + "actorId": "MDQ6VXNlcjcxMTcwMA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AH2sh", + "kind": "reply", + "actor": "marek-hanzal", + "createdAt": "2022-01-27T14:12:31Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2059041", + "summary": "A user asks about SVGs referenced from package CSS.", + "actorId": "MDQ6VXNlcjEzODU1MTI2", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AIVxG", + "kind": "comment", + "actor": "cseas", + "createdAt": "2022-02-16T06:38:53Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2186310", + "summary": "A user asks for a recommended workaround because this blocks their move to Next.js.", + "actorId": "MDQ6VXNlcjI5Njg2ODY2", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AIWaC", + "kind": "reply", + "actor": "benkingcode", + "createdAt": "2022-02-16T14:15:48Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2188930", + "summary": "A user points to the earlier plugin suggestion.", + "actorId": "MDQ6VXNlcjcxMTcwMA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AIVxG" + }, + { + "id": "DC_kwDOBC3Cis4AJSdX", + "kind": "reply", + "actor": "xyy94813", + "createdAt": "2022-03-25T04:14:53Z", + "editedAt": "2022-03-25T04:16:32Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2434903", + "summary": "A user reports the plugin fails on Next 12.1.", + "actorId": "MDQ6VXNlcjE3OTcxMzUy", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AJety", + "kind": "reply", + "actor": "medihack", + "createdAt": "2022-04-01T11:12:08Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2485106", + "summary": "Another user confirms and links an issue on the plugin.", + "actorId": "MDQ6VXNlcjEyMDYyNg==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AJ8XO", + "kind": "comment", + "actor": "VadimGut", + "createdAt": "2022-04-21T06:36:32Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2606542", + "summary": "A user shares a workaround that reads the stylesheet in `_document` and inlines it.", + "actorId": "MDQ6VXNlcjE2NzEyMjU=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AKKIj", + "kind": "comment", + "actor": "robertasRobotas", + "createdAt": "2022-04-29T17:06:56Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2662947", + "summary": "A user says they are leaving Next.js for plain React because of this.", + "actorId": "MDQ6VXNlcjI1Njg2ODI0", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AK_cL", + "kind": "comment", + "actor": "YGKtech", + "createdAt": "2022-06-03T23:41:43Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2881291", + "summary": "A user asks why nothing has happened despite no counter-arguments and requests at least documentation guidance.", + "actorId": "MDQ6VXNlcjMxMDc1ODA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AK_dr", + "kind": "reply", + "actor": "brianjenkins94", + "createdAt": "2022-06-04T00:16:19Z", + "editedAt": "2022-06-04T00:17:21Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2881387", + "summary": "A user asks whether the inlining workaround could load different global sheets per page.", + "actorId": "MDQ6VXNlcjkzOTg0NzQ=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AJ8XO" + }, + { + "id": "DC_kwDOBC3Cis4AK_oE", + "kind": "reply", + "actor": "alebelcor", + "createdAt": "2022-06-04T06:58:16Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2882052", + "summary": "A user suggests next-transpile-modules as a workaround.", + "actorId": "MDQ6VXNlcjg1NjgzOA==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4AK_pR", + "kind": "reply", + "actor": "VadimGut", + "createdAt": "2022-06-04T07:30:28Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2882129", + "summary": "The inlining workaround author says per-page loading is possible but hacky.", + "actorId": "MDQ6VXNlcjE2NzEyMjU=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AJ8XO" + }, + { + "id": "DC_kwDOBC3Cis4AK_6T", + "kind": "comment", + "actor": "leerob", + "createdAt": "2022-06-04T15:11:12Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2883219", + "summary": "A maintainer says the team is exploring solving this through the Layouts RFC, where a root layout replaces `_app`.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4ALAFj", + "kind": "reply", + "actor": "brianjenkins94", + "createdAt": "2022-06-04T18:31:26Z", + "editedAt": "2022-06-04T18:37:51Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2883939", + "summary": "A user hopes it will work with static HTML export.", + "actorId": "MDQ6VXNlcjkzOTg0NzQ=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK_6T" + }, + { + "id": "DC_kwDOBC3Cis4ALAGm", + "kind": "reply", + "actor": "leerob", + "createdAt": "2022-06-04T19:00:35Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2884006", + "summary": "The maintainer confirms Layouts will support `next export`.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AK_6T" + }, + { + "id": "DC_kwDOBC3Cis4ALWyZ", + "kind": "reply", + "actor": "shifengdiy", + "createdAt": "2022-06-18T14:45:32Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-2976921", + "summary": "A user asks about LESS files.", + "actorId": "MDQ6VXNlcjEzMDM0NjU5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AHmgr" + }, + { + "id": "DC_kwDOBC3Cis4ALhmj", + "kind": "comment", + "actor": "msdrigg", + "createdAt": "2022-06-25T04:31:17Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3021219", + "summary": "A user asks for the feature behind an off-by-default config flag since workarounds fail with SWC.", + "actorId": "MDQ6VXNlcjQ1MTg5Mzgx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4ALhnP", + "kind": "reply", + "actor": "agusterodin", + "createdAt": "2022-06-25T04:48:48Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3021263", + "summary": "A user suggests a script that strips CSS import lines from chosen packages.", + "actorId": "MDQ6VXNlcjEwMjQ4Mzk1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALhmj" + }, + { + "id": "DC_kwDOBC3Cis4ALhnQ", + "kind": "reply", + "actor": "agusterodin", + "createdAt": "2022-06-25T04:49:19Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3021264", + "summary": "The user adds that it beats staying on Create React App.", + "actorId": "MDQ6VXNlcjEwMjQ4Mzk1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALhmj" + }, + { + "id": "DC_kwDOBC3Cis4ALiF7", + "kind": "reply", + "actor": "msdrigg", + "createdAt": "2022-06-25T16:21:02Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3023227", + "summary": "The flag requester thanks them and will try it.", + "actorId": "MDQ6VXNlcjQ1MTg5Mzgx", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALhmj" + }, + { + "id": "DC_kwDOBC3Cis4ALiHW", + "kind": "reply", + "actor": "agusterodin", + "createdAt": "2022-06-25T16:50:34Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3023318", + "summary": "The user gives tips for writing the strip script and clearing the build cache.", + "actorId": "MDQ6VXNlcjEwMjQ4Mzk1", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALhmj" + }, + { + "id": "DC_kwDOBC3Cis4AMybR", + "kind": "reply", + "actor": "anavgagneja", + "createdAt": "2022-08-08T19:32:34Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3352273", + "summary": "A user points to a plugin that removes such imports.", + "actorId": "MDQ6VXNlcjc5Njc3MTc=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ALhmj" + }, + { + "id": "DC_kwDOBC3Cis4ANyHQ", + "kind": "comment", + "actor": "ScriptedAlchemy", + "createdAt": "2022-09-10T05:33:07Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3613136", + "summary": "A webpack contributor says transpiling packages slows builds a lot and describes shipping pre-processed CSS as a workaround.", + "actorId": "MDQ6VXNlcjI1Mjc0NzAw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4ANy16", + "kind": "comment", + "actor": "leerob", + "createdAt": "2022-09-10T20:37:22Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3616122", + "summary": "A maintainer quotes the 12.3 release post: support is being explored in the new app directory.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4ANy6T", + "kind": "reply", + "actor": "ScriptedAlchemy", + "createdAt": "2022-09-10T22:00:25Z", + "editedAt": "2022-09-10T22:03:48Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3616403", + "summary": "The webpack contributor asks whether moving to the app folder would allow global CSS anywhere and stresses build-time costs.", + "actorId": "MDQ6VXNlcjI1Mjc0NzAw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4ANy16" + }, + { + "id": "DC_kwDOBC3Cis4AN6Zq", + "kind": "comment", + "actor": "gaithoben", + "createdAt": "2022-09-14T17:30:00Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3647082", + "summary": "A user says it is a major blocker.", + "actorId": "MDQ6VXNlcjg5NTExODI=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AOQWY", + "kind": "comment", + "actor": "tobzy", + "createdAt": "2022-09-26T19:09:24Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3736984", + "summary": "A user is watching.", + "actorId": "MDQ6VXNlcjE4Njg4NjE4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AObQp", + "kind": "reply", + "actor": "GrantGryczan", + "createdAt": "2022-10-02T14:00:13Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3781673", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjE0MDU2ODk5", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE4ODQ4NA==" + }, + { + "id": "DC_kwDOBC3Cis4APDHf", + "kind": "comment", + "actor": "felipenmoura", + "createdAt": "2022-10-23T17:29:22Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3944927", + "summary": "A user argues the framework is too opinionated about which packages work.", + "actorId": "MDQ6VXNlcjM0NzM4Nw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4APFXm", + "kind": "reply", + "actor": "parkerforrest", + "createdAt": "2022-10-24T19:05:51Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3954150", + "summary": "A user thanks someone for a workaround that fixed a library.", + "actorId": "MDQ6VXNlcjIzNTA5NDcx", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE5MjE2NQ==" + }, + { + "id": "DC_kwDOBC3Cis4APLVt", + "kind": "comment", + "actor": "leerob", + "createdAt": "2022-10-27T07:15:02Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-3978605", + "summary": "A maintainer announces Next.js 13's beta `app/` directory, where any layout or page can import CSS including from packages, and says this solves the RFC.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4APd72", + "kind": "reply", + "actor": "hooper-hc", + "createdAt": "2022-11-04T08:47:11Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4054774", + "summary": "A user reports the error persists.", + "actorId": "MDQ6VXNlcjExNDIwMzc0", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4APeGt", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-11-04T10:18:10Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4055469", + "summary": "The RFC author explains it only works in `app`, because `pages` still cannot load CSS correctly on route changes.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4APo01", + "kind": "reply", + "actor": "chrispuska", + "createdAt": "2022-11-09T17:18:46Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4099381", + "summary": "A user confirms it works in `app` with the experimental flag.", + "actorId": "MDQ6VXNlcjUzNjI2NTI=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4APtAK", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-11-11T10:45:27Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4116490", + "summary": "The RFC author thanks them.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AQJ76", + "kind": "comment", + "actor": "twinsant", + "createdAt": "2022-11-25T08:01:39Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4235002", + "summary": "A user is still blocked with Monaco Editor.", + "actorId": "MDQ6VXNlcjI5OTU4Ng==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "DC_kwDOBC3Cis4AQVuU", + "kind": "reply", + "actor": "BossBele", + "createdAt": "2022-12-01T13:21:09Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4283284", + "summary": "A user says it worked for them.", + "actorId": "MDQ6VXNlcjI4OTYzMTY1", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE5MjE2NQ==" + }, + { + "id": "DC_kwDOBC3Cis4AQaU5", + "kind": "reply", + "actor": "mrcampbell", + "createdAt": "2022-12-04T06:10:01Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4302137", + "summary": "A user agrees.", + "actorId": "MDQ6VXNlcjkwMjA3ODk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AQJ76" + }, + { + "id": "DC_kwDOBC3Cis4AQarH", + "kind": "reply", + "actor": "timneutkens", + "createdAt": "2022-12-04T14:21:40Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4303559", + "summary": "The RFC author asks whether the failing user is in `app`.", + "actorId": "MDQ6VXNlcjYzMjQxOTk=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AQJ76" + }, + { + "id": "DC_kwDOBC3Cis4ARZCq", + "kind": "reply", + "actor": "chaitanya71998", + "createdAt": "2022-12-31T05:07:51Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4559018", + "summary": "A user asks how the Monaco issue was solved.", + "actorId": "MDQ6VXNlcjQ2MzUzNTQ5", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AQJ76" + }, + { + "id": "DC_kwDOBC3Cis4ASRTN", + "kind": "reply", + "actor": "cseas", + "createdAt": "2023-01-26T16:38:33Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4789453", + "summary": "A user warns the app directory did not yet support static export.", + "actorId": "MDQ6VXNlcjI5Njg2ODY2", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4ASRyf", + "kind": "reply", + "actor": "leerob", + "createdAt": "2023-01-26T21:02:26Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4791455", + "summary": "A maintainer links the app directory roadmap.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4ASvjR", + "kind": "reply", + "actor": "surgieboi", + "createdAt": "2023-02-09T02:29:48Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4913361", + "summary": "A user asks for updates.", + "actorId": "MDQ6VXNlcjQyNDQzOTYz", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4ATCt8", + "kind": "reply", + "actor": "akhilalekha", + "createdAt": "2023-02-16T05:51:38Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-4991868", + "summary": "A user asks whether anyone solved the Monaco case.", + "actorId": "MDQ6VXNlcjE3OTY0MDIw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AQJ76" + }, + { + "id": "DC_kwDOBC3Cis4ATi6c", + "kind": "reply", + "actor": "medihack", + "createdAt": "2023-02-27T14:52:42Z", + "editedAt": "2023-02-27T14:55:44Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5123740", + "summary": "A user shares a webpack config tweak that allows Monaco's CSS without the app directory.", + "actorId": "MDQ6VXNlcjEyMDYyNg==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4AQJ76" + }, + { + "id": "DC_kwDOBC3Cis4AT40P", + "kind": "reply", + "actor": "linus-jansson", + "createdAt": "2023-03-06T09:22:20Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5213455", + "summary": "A user asks why `pages` cannot get this until the app directory is stable.", + "actorId": "MDQ6VXNlcjMwODYyNjYy", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AUQCU", + "kind": "reply", + "actor": "Jairwin-L", + "createdAt": "2023-03-14T14:46:55Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5308564", + "summary": "A user asks for LESS support.", + "actorId": "MDQ6VXNlcjMyNTcwOTYw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AU1Mn", + "kind": "reply", + "actor": "Atrus619", + "createdAt": "2023-03-29T03:18:08Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5460775", + "summary": "A user also wants LESS.", + "actorId": "MDQ6VXNlcjIwOTM1NTQw", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AVWjf", + "kind": "reply", + "actor": "zatarain", + "createdAt": "2023-04-12T21:21:59Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5597407", + "summary": "A user also wants LESS.", + "actorId": "MDQ6VXNlcjUzOTc4Mw==", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AVirZ", + "kind": "reply", + "actor": "jeprecated", + "createdAt": "2023-04-18T09:50:33Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5647065", + "summary": "A user agrees.", + "actorId": "MDQ6VXNlcjE0NzEzNTA=", + "actorType": "human", + "parentId": "DC_kwDOBC3Cis4APLVt" + }, + { + "id": "DC_kwDOBC3Cis4AWPs2", + "kind": "comment", + "actor": "leerob", + "createdAt": "2023-05-07T18:14:41Z", + "editedAt": "2023-05-07T18:15:08Z", + "url": "https://github.com/vercel/next.js/discussions/27953#discussioncomment-5831478", + "summary": "A maintainer announces the App Router is stable in 13.4 with CSS importable in any layout or page, including from packages.", + "actorId": "MDQ6VXNlcjkxMTM3NDA=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + }, + { + "id": "MDEwOkRpc2N1c3Npb24zNTEyNjUx:process:closed:2023-05-07T18:14:41Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2023-05-07T18:14:41Z", + "url": "https://github.com/vercel/next.js/discussions/27953", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "MDEwOkRpc2N1c3Npb24zNTEyNjUx" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nextjs-strict-csp-support.json b/evals/datasets/decisions-v1/cases/nextjs-strict-csp-support.json new file mode 100644 index 000000000..2c9122fcd --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nextjs-strict-csp-support.json @@ -0,0 +1,1461 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nextjs-strict-csp-support", + "title": "Built-in strict CSP support in Next.js", + "source": { + "url": "https://github.com/vercel/next.js/pull/4943", + "retrievedAt": "2026-10-18T07:23:20.800105+00:00", + "repository": "vercel/next.js", + "number": 4943 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-08-11T10:00:00Z" + }, + { + "id": "c2", + "at": "2018-12-04T23:00:00Z" + }, + { + "id": "c3", + "at": "2019-01-11T10:50:00Z" + }, + { + "id": "c4", + "at": "2019-05-29T12:00:00Z" + } + ], + "events": [ + { + "id": "next-js-4943:pr:4943", + "kind": "opening", + "actor": "dav-is", + "createdAt": "2018-08-10T17:21:27Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "A contributor proposes making Next.js work under the strictest Content Security Policy by removing inline scripts and styles, moving server data into a JSON script tag, adding style nonces, and a contentSecurityPolicy config option that emits a header or meta tag.", + "actorId": 11590024, + "actorType": "human" + }, + { + "id": "next-js-4943:review-comment:209419184", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-11T07:13:49Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209419184", + "summary": "A contributor asks whether another element could carry the app state, worrying some browsers treat a JSON script tag as inline script.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:209419188", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-11T07:13:56Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209419188", + "summary": "A contributor notes the change still adds an inline script, defeating the purpose.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:209419192", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-11T07:14:05Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209419192", + "summary": "A contributor wants the extra bootstrap request discussed first and would rather fold the code into an existing bundle.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:209420901", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T08:32:07Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209420901", + "summary": "The author replies that a JSON script tag is standard and CSP only governs executable JavaScript.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419184" + }, + { + "id": "next-js-4943:review-comment:209420973", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T08:35:02Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209420973", + "summary": "The author explains pages load asynchronously, so a small separate bootstrap file must run first.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419192" + }, + { + "id": "next-js-4943:review-comment:209421023", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T08:37:42Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209421023", + "summary": "The author argues the bootstrap file can be cached long-term, saving bytes overall, especially over HTTP/2.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419192" + }, + { + "id": "next-js-4943:review-comment:209421050", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T08:39:09Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209421050", + "summary": "The author repeats that non-JavaScript script tags are ignored by CSP.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419188" + }, + { + "id": "next-js-4943:review-comment:209421758", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-11T09:15:51Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209421758", + "summary": "The contributor doubts all browsers comply and suggests a data attribute on head instead.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419184" + }, + { + "id": "next-js-4943:review-comment:209421765", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-11T09:16:00Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209421765", + "summary": "The contributor points out the tag in question has no type attribute and asks whether a strict policy was tested.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419188" + }, + { + "id": "next-js-4943:review-comment:209421828", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T09:20:05Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209421828", + "summary": "The author says that inline script is temporary until webpack can define it.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419188" + }, + { + "id": "next-js-4943:review-comment:209422012", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-11T09:30:06Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r209422012", + "summary": "The author cites Drupal using the same JSON technique.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:209419184" + }, + { + "id": "next-js-4943:process:renamed:2018-08-28T03:31:43Z", + "kind": "process", + "actor": "dav-is", + "createdAt": "2018-08-28T03:31:43Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The author retitles the PR around moving the inline script into a bootstrap file.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416439817", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-28T03:32:39Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416439817", + "summary": "The author marks the PR ready for review.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213197208", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-28T06:32:01Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213197208", + "summary": "A contributor calls recommending unsafe-inline a bad idea and suggests hashes for the remaining inline script.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213197793", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-28T06:35:08Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213197793", + "summary": "A contributor says the test change weakens the existing policy and favours hashes or nonces.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213231736", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T08:52:01Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213231736", + "summary": "A maintainer asks whether the bootstrap logic could live in the client entry.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213232263", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T08:53:44Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213232263", + "summary": "A maintainer wonders whether a workaround is still needed with current webpack.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213286214", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T12:07:13Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213286214", + "summary": "The author clarifies the unsafe-inline note concerns styles, which need special handling.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213197208" + }, + { + "id": "next-js-4943:review-comment:213286968", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T12:10:11Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213286968", + "summary": "The author explains page registration functions must exist before any async page script loads.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213231736" + }, + { + "id": "next-js-4943:review-comment:213287059", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T12:10:38Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213287059", + "summary": "The author says removing the workaround breaks everything.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213232263" + }, + { + "id": "next-js-4943:review-comment:213287785", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T12:13:21Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213287785", + "summary": "The author shows the existing test policy already allowed inline styles.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213197793" + }, + { + "id": "next-js-4943:review-comment:213301998", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-28T12:57:50Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213301998", + "summary": "The contributor concedes he misread the rule.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213197793" + }, + { + "id": "next-js-4943:review-comment:213303740", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-28T13:03:19Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213303740", + "summary": "A contributor asks whether the extra script request was agreed or the code can be bundled.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213304219", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-28T13:04:44Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213304219", + "summary": "A contributor asks for an example with a custom document and strict policy.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213304960", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T13:06:54Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213304960", + "summary": "The author thinks an example is unnecessary since setup is now just a header.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213304219" + }, + { + "id": "next-js-4943:review-comment:213305964", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T13:09:38Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213305964", + "summary": "The author says script order cannot be guaranteed and putting it in the webpack runtime was too complex.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213303740" + }, + { + "id": "next-js-4943:review-comment:213335961", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T14:26:29Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213335961", + "summary": "The author plans automatic CSP support, including nonces for generated styles.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213197208" + }, + { + "id": "next-js-4943:review-comment:213343166", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T14:43:04Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213343166", + "summary": "A maintainer clarifies he only meant reading the server data could move.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213231736" + }, + { + "id": "next-js-4943:review-comment:213372691", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T15:54:37Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213372691", + "summary": "The author says the data is needed immediately afterwards.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213231736" + }, + { + "id": "next-js-4943:review-comment:213397727", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T17:09:53Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213397727", + "summary": "A maintainer questions why the pathname is escaped separately.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:renamed:2018-08-28T17:53:22Z", + "kind": "process", + "actor": "dav-is", + "createdAt": "2018-08-28T17:53:22Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The author marks the PR as work in progress again.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213414520", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-28T17:59:18Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213414520", + "summary": "The author explains he escaped early to avoid bundling an escaping library.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213397727" + }, + { + "id": "next-js-4943:comment:416692992", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-28T18:30:10Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416692992", + "summary": "The author notes a dependency on a styled-jsx nonce PR.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213428102", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T18:39:48Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213428102", + "summary": "A maintainer asks to use nanoid instead of a just-removed package.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:renamed:2018-08-28T22:28:41Z", + "kind": "process", + "actor": "dav-is", + "createdAt": "2018-08-28T22:28:41Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The author retitles the PR Strong CSP Support.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416761939", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-28T22:30:49Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416761939", + "summary": "The author asks for review, saying unsafe-inline is no longer needed for styles and setup takes three lines of config.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416772531", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T23:25:41Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416772531", + "summary": "A maintainer shares how to run single tests.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213504797", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-08-28T23:33:20Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213504797", + "summary": "A maintainer asks to move nonce handling into render methods so custom servers also benefit.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416852108", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-08-29T07:22:47Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416852108", + "summary": "A contributor asks whether the config also covers static exports.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416930956", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-29T12:15:06Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416930956", + "summary": "The author says nonces cannot work for static pages since they are per request.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213661939", + "kind": "review-comment", + "actor": "dbo", + "createdAt": "2018-08-29T12:48:52Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213661939", + "summary": "A contributor asks what a csp-nonce meta tag is for.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:416940812", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-08-29T12:50:40Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-416940812", + "summary": "A contributor would prefer the config to cover static exports without a custom document.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:213856907", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-08-29T22:40:51Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r213856907", + "summary": "The author says the meta tag passes the nonce to the CSS-in-JS library.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213661939" + }, + { + "id": "next-js-4943:comment:417131321", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-29T22:45:39Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417131321", + "summary": "The author says static hosts must set the header themselves and allow inline styles or extract them.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417203189", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-08-30T06:21:12Z", + "editedAt": "2018-08-30T06:37:35Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417203189", + "summary": "The contributor notes most exporters use CDNs and asks for a meta tag emitted from config.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417403669", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-30T17:35:10Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417403669", + "summary": "The author adds a config option to put the policy in a meta tag.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417627280", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-08-31T10:48:28Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417627280", + "summary": "The contributor questions the unsafeCSPMeta name and proposes separate header and meta options.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417695998", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-31T15:14:21Z", + "editedAt": "2018-08-31T15:14:51Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417695998", + "summary": "The author defends the name because meta delivery is weaker than headers and says one policy suffices.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417707470", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-08-31T15:51:24Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417707470", + "summary": "The contributor disagrees that meta delivery is unsafe and wants the config name to state the mechanism.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:417719160", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-08-31T16:32:19Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-417719160", + "summary": "The author says he will document it in code instead.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:214927352", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-09-04T14:06:01Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r214927352", + "summary": "A maintainer notes a stale name in the README.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:214928327", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-09-04T14:08:10Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r214928327", + "summary": "The author explains flaky tests.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:214927352" + }, + { + "id": "next-js-4943:process:cross-referenced:2018-09-04T14:46:03Z", + "kind": "process", + "actor": "timneutkens", + "createdAt": "2018-09-04T14:46:03Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "A maintainer links his PR removing module.exports from client bundles.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:214946490", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-09-04T14:51:42Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r214946490", + "summary": "A maintainer says that PR fixes the bootstrap workaround.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:review-comment:213232263" + }, + { + "id": "next-js-4943:comment:418436421", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-04T16:39:37Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-418436421", + "summary": "The author notes a failing test until styled-jsx is released.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:418802664", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-05T16:53:25Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-418802664", + "summary": "The author reports error pages are not processed by styled-jsx.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:419226305", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-06T20:14:55Z", + "editedAt": "2018-09-26T15:26:38Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-419226305", + "summary": "The author shows the warning and documents that CSP needs a custom error page.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:419932148", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-10T14:26:07Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-419932148", + "summary": "The author says only a styled-jsx release is missing.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:422432032", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-18T15:07:40Z", + "editedAt": "2018-09-26T15:27:35Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-422432032", + "summary": "The author asks for a release, later noting it shipped.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:renamed:2018-09-18T19:55:28Z", + "kind": "process", + "actor": "dav-is", + "createdAt": "2018-09-18T19:55:28Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The author adds a request for maintainer attention to the title.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:423941244", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-24T11:13:38Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-423941244", + "summary": "A contributor warns that relaxing style and script rules in development but not production will cause confusing failures.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:423995364", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-24T14:30:54Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-423995364", + "summary": "The author says hot reloading requires the relaxation and recommends testing production builds for violations.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424019816", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-24T15:36:49Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424019816", + "summary": "The contributor traces eval to a DLL plugin and inline styles to the error overlay, and would rather disable the overlay than allow unsafe-inline in development.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424101377", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-24T19:47:34Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424101377", + "summary": "The author asks for a fix and plans to extract the overlay's styles.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424481131", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-25T20:01:10Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424481131", + "summary": "The author notes the overlay may run in an iframe.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:renamed:2018-09-26T15:03:21Z", + "kind": "process", + "actor": "dav-is", + "createdAt": "2018-09-26T15:03:21Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The author removes the attention request from the title.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424948950", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-27T03:44:23Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424948950", + "summary": "The author finds Proxy cannot be used because IE11 lacks it.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424978285", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-09-27T06:50:49Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424978285", + "summary": "A contributor offers his Proxy shim.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:424980818", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-27T07:02:37Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-424980818", + "summary": "The author declines a third-party shim in route loading and keeps an array push approach.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425013933", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-27T08:57:30Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425013933", + "summary": "The contributor explains he removed the DLL plugin.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425023235", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-27T09:27:13Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425023235", + "summary": "The contributor notes the overlay applies inline styles to the iframe itself.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425155321", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-27T16:21:20Z", + "editedAt": "2018-09-27T16:21:49Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425155321", + "summary": "The author plans to drop the DLL plugin, suggests a fix upstream in the overlay, and plans automatic policy generation.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425383926", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-28T09:48:29Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425383926", + "summary": "The contributor asks a maintainer to confirm the plugin overlap and offers to help upstream.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425438998", + "kind": "comment", + "actor": "cherniavskii", + "createdAt": "2018-09-28T13:40:50Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425438998", + "summary": "The contributor finds the overlay also runs an inline script and that strict-dynamic in development helps.", + "actorId": 13808724, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:425490323", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-09-28T16:24:13Z", + "editedAt": "2018-09-28T16:25:56Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-425490323", + "summary": "The author prefers a proper overlay fix over strict-dynamic, which would diverge from production.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:222735114", + "kind": "review-comment", + "actor": "joaogranado", + "createdAt": "2018-10-04T16:13:51Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r222735114", + "summary": "A contributor suggests a shorter README name.", + "actorId": 4417998, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:222736733", + "kind": "review-comment", + "actor": "joaogranado", + "createdAt": "2018-10-04T16:17:59Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r222736733", + "summary": "A contributor notes Proxy breaks IE11.", + "actorId": 4417998, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:222737909", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-10-04T16:21:28Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r222737909", + "summary": "The author links his earlier comment on that.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:222736733" + }, + { + "id": "next-js-4943:review-comment:222738682", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-10-04T16:23:35Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r222738682", + "summary": "The author agrees and plans a README rewrite.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:222735114" + }, + { + "id": "next-js-4943:process:cross-referenced:2018-11-03T00:47:14Z", + "kind": "process", + "actor": "timneutkens", + "createdAt": "2018-11-03T00:47:14Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "A maintainer links his PR removing registration code from initial markup.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:230540338", + "kind": "review-comment", + "actor": "timneutkens", + "createdAt": "2018-11-03T01:03:42Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r230540338", + "summary": "A maintainer asks what a string replace is for.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:cross-referenced:2018-11-03T01:08:18Z", + "kind": "process", + "actor": "timneutkens", + "createdAt": "2018-11-03T01:08:18Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "A maintainer links his PR moving server data into a JSON script tag.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:435615756", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-03T19:48:21Z", + "editedAt": "2018-11-03T19:51:22Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-435615756", + "summary": "The author explains escaping only the closing script tag suffices for JSON and apologises for slow progress.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:review-comment:230565886", + "kind": "review-comment", + "actor": "dav-is", + "createdAt": "2018-11-03T19:49:01Z", + "editedAt": "2018-12-13T19:21:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#discussion_r230565886", + "summary": "The author points to that explanation.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:review-comment:230540338" + }, + { + "id": "next-js-4943:comment:435618486", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2018-11-03T20:30:10Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-435618486", + "summary": "A maintainer says he kept the existing escaping and has already landed the JSON tag, route registration and error page parts, suggesting a fresh PR for the rest.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:441850251", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-11-27T00:19:59Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-441850251", + "summary": "A contributor asks whether removing nonces breaks the strict CSP example.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:441850540", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-27T00:21:39Z", + "editedAt": "2018-11-27T00:25:33Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-441850540", + "summary": "The author says nonces are no longer needed for scripts and the example will become a config option.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442132589", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-11-27T16:51:50Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442132589", + "summary": "The contributor asks whether third-party scripts must be allowlisted by domain and strict-dynamic is lost.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442141595", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-27T17:15:48Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442141595", + "summary": "The author says allowlisting by domain is the point of CSP.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442148187", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-11-27T17:34:34Z", + "editedAt": "2018-11-27T17:34:54Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442148187", + "summary": "The contributor cites Google research recommending strict-dynamic over allowlists.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442156760", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-27T17:59:49Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442156760", + "summary": "The author plans automatic allowlisting but finds the point interesting.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442157893", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-11-27T18:03:03Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442157893", + "summary": "The contributor shares a talk and explains his stake, having contributed the strict-dynamic example.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442165476", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-27T18:27:04Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442165476", + "summary": "The author notes strict-dynamic cannot work for static sites but agrees to keep the nonce option.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442167734", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-11-27T18:34:01Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442167734", + "summary": "The contributor asks to keep both examples and notes scripts like tag managers defeat automatic allowlisting.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:442174206", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-11-27T18:53:21Z", + "editedAt": "2018-11-27T19:02:18Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-442174206", + "summary": "The author suggests automation be opt-in and hopes built-in support replaces the examples.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444237638", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-04T20:01:29Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444237638", + "summary": "The author opens a PR upstream to stop the error overlay using inline styles.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444244535", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-04T20:23:17Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444244535", + "summary": "The author argues allowlists better block rogue npm packages and suggests encouraging them where possible.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444278490", + "kind": "comment", + "actor": "novascreen", + "createdAt": "2018-12-04T22:10:39Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444278490", + "summary": "The contributor accepts the point and is glad both options stay.", + "actorId": 1596280, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444322496", + "kind": "comment", + "actor": "rauchg", + "createdAt": "2018-12-05T01:23:15Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444322496", + "summary": "A maintainer urges landing the PR soon.", + "actorId": 13041, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444402637", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-12-05T08:36:24Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444402637", + "summary": "A contributor asks whether the inline-script hash helper still works.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444532437", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-05T15:46:09Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444532437", + "summary": "The author says inline scripts are gone so the helper is unnecessary, but keeps it to avoid a breaking change.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444536713", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-12-05T15:56:59Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444536713", + "summary": "The contributor thanks him.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444538195", + "kind": "comment", + "actor": "dbo", + "createdAt": "2018-12-05T16:00:40Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444538195", + "summary": "The contributor still sees script tags on canary.", + "actorId": 172634, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:444546284", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-05T16:21:33Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-444546284", + "summary": "The author says JSON script tags do not execute.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446019754", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2018-12-10T23:53:02Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446019754", + "summary": "A maintainer asks the author to message him privately on Spectrum.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446036956", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-11T01:20:45Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446036956", + "summary": "The author finds the error overlay's iframe script needs unsafe-inline and wonders about a custom Next.js overlay.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446145917", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2018-12-11T10:10:59Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446145917", + "summary": "A maintainer tags the create-react-app maintainers.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446243596", + "kind": "comment", + "actor": "Timer", + "createdAt": "2018-12-11T15:29:28Z", + "editedAt": "2018-12-11T15:30:23Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446243596", + "summary": "A create-react-app maintainer offers to make the overlay CSP-compatible, dislikes the proposed upstream PR, and asks for a default-friendly approach.", + "actorId": 616428, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446247541", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-11T15:40:10Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446247541", + "summary": "The author explains the inline iframe styles and why a separate iframe page would be needed.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446249476", + "kind": "comment", + "actor": "Timer", + "createdAt": "2018-12-11T15:45:14Z", + "editedAt": "2018-12-11T15:45:57Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446249476", + "summary": "The overlay maintainer asks whether injected style tags or class names would work.", + "actorId": 616428, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446292237", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-11T17:38:09Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446292237", + "summary": "The author says styles must be external or nonce-tagged and inline scripts are harder.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:446350258", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2018-12-11T20:28:35Z", + "editedAt": "2018-12-12T17:01:25Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-446350258", + "summary": "The author builds a demo of a CSP-safe iframe setup and argues strict policy in development catches issues early.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:renamed:2018-12-20T15:57:40Z", + "kind": "process", + "actor": "timneutkens", + "createdAt": "2018-12-20T15:57:40Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "A maintainer marks the PR as work in progress.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:453474507", + "kind": "comment", + "actor": "Jero786", + "createdAt": "2019-01-11T10:38:00Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-453474507", + "summary": "A user asks for an update.", + "actorId": 1815487, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:453482010", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2019-01-11T11:01:20Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-453482010", + "summary": "A maintainer says it will not land before v8 and will be revisited later.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:465020046", + "kind": "comment", + "actor": "baldurh", + "createdAt": "2019-02-19T07:38:43Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-465020046", + "summary": "A user asks whether CSP can be added manually now that v8 removed inline JavaScript.", + "actorId": 1823617, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:465145970", + "kind": "comment", + "actor": "dav-is", + "createdAt": "2019-02-19T14:20:04Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-465145970", + "summary": "The author says production works but development still raises errors.", + "actorId": 11590024, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:496889754", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2019-05-29T11:02:11Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-496889754", + "summary": "A maintainer closes the PR as outdated, noting the author has joined the Next.js team.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:process:closed:2019-05-29T11:02:12Z", + "kind": "process", + "actor": "timneutkens", + "createdAt": "2019-05-29T11:02:12Z", + "url": "https://github.com/vercel/next.js/pull/4943", + "summary": "The PR is closed unmerged.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:651412532", + "kind": "comment", + "actor": "monokrome", + "createdAt": "2020-06-29T23:00:38Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-651412532", + "summary": "A user asks for the follow-up PR.", + "actorId": 242997, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:654067775", + "kind": "comment", + "actor": "ghost", + "createdAt": "2020-07-06T07:34:45Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-654067775", + "summary": "A user asks for news or docs.", + "actorId": 10137, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:654091907", + "kind": "comment", + "actor": "timneutkens", + "createdAt": "2020-07-06T08:26:02Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-654091907", + "summary": "A maintainer points to the strict CSP example and releases that removed inline JavaScript.", + "actorId": 6324199, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:679593184", + "kind": "comment", + "actor": "javidjamae", + "createdAt": "2020-08-25T04:26:47Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-679593184", + "summary": "A user notes custom headers arrived in Next.js 9.5.", + "actorId": 355931, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + }, + { + "id": "next-js-4943:comment:682123437", + "kind": "comment", + "actor": "rogerweb", + "createdAt": "2020-08-27T18:41:40Z", + "url": "https://github.com/vercel/next.js/pull/4943#issuecomment-682123437", + "summary": "A user asks about nonce support for other CSS-in-JS libraries, which was never finished.", + "actorId": 19805605, + "actorType": "human", + "parentId": "next-js-4943:pr:4943" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/node-incomingmessage-autodestroy.json b/evals/datasets/decisions-v1/cases/node-incomingmessage-autodestroy.json new file mode 100644 index 000000000..71780800d --- /dev/null +++ b/evals/datasets/decisions-v1/cases/node-incomingmessage-autodestroy.json @@ -0,0 +1,1473 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "node-incomingmessage-autodestroy", + "title": "autoDestroy for http.IncomingMessage", + "source": { + "url": "https://github.com/nodejs/node/pull/33035", + "retrievedAt": "2026-10-18T07:26:02.258094+00:00", + "repository": "nodejs/node", + "number": 33035 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-06-03T07:30:00Z" + }, + { + "id": "c2", + "at": "2020-12-09T13:00:00Z" + }, + { + "id": "c3", + "at": "2020-12-17T11:00:00Z" + }, + { + "id": "c4", + "at": "2020-12-27T19:30:00Z" + } + ], + "events": [ + { + "id": "node-33035:pr:33035", + "kind": "opening", + "actor": "dnlup", + "createdAt": "2020-04-24T07:08:04Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A contributor proposes turning on autoDestroy for IncomingMessage and replacing manual destroy and close handling in the HTTP client and server with the standard stream destroy.", + "actorId": 15520377, + "actorType": "human" + }, + { + "id": "node-33035:comment:622100742", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-04-30T20:44:36Z", + "editedAt": "2020-04-30T20:44:52Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-622100742", + "summary": "A maintainer says IncomingMessage's custom destroy override blocks this and must be fixed first.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:622323099", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-05-01T09:46:48Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-622323099", + "summary": "The opener agrees to look into it and notes keep-alive sockets must not be destroyed.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:624450268", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-05-06T05:32:38Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-624450268", + "summary": "The opener reports that removing the override fixes resets but causes double close events and hangs.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:ready_for_review:2020-05-20T06:36:56Z", + "kind": "process", + "actor": "dnlup", + "createdAt": "2020-05-20T06:36:56Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "The opener marks the PR ready for review.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:631283945", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-05-20T07:13:55Z", + "editedAt": "2020-05-20T07:14:37Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-631283945", + "summary": "The opener notes the change overrides a maintainer's recent work and is unsure the approach is best.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:633154227", + "kind": "comment", + "actor": "BridgeAR", + "createdAt": "2020-05-23T23:36:24Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-633154227", + "summary": "A maintainer pings a colleague to review.", + "actorId": 8822573, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:431615260", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-05-28T06:46:04Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r431615260", + "summary": "A maintainer says the destroy callback must always be called or state gets corrupted.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review:419819319" + }, + { + "id": "node-33035:review:419819319", + "kind": "review", + "actor": "ronag", + "createdAt": "2020-05-28T06:46:57Z", + "url": "https://github.com/nodejs/node/pull/33035#pullrequestreview-419819319", + "summary": "A maintainer requests changes, asking to remove all manual destroyed and close handling rather than keep a hybrid.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:635168400", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-05-28T07:36:07Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-635168400", + "summary": "The opener agrees and asks whether he may change the server code.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:637995119", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-06-03T06:50:33Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-637995119", + "summary": "The opener asks whether existing abort behaviour must be kept, suggests a custom destroy rather than the shared one, and proposes an abort method.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:638004030", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-06-03T07:11:26Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-638004030", + "summary": "A maintainer says to keep the behaviour inside a regular destroy, rejects a custom implementation, and rejects an abort method since abort was just deprecated on requests.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:638022568", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-06-03T07:44:54Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-638022568", + "summary": "The opener agrees and notes the only difference is that errors are emitted only when listeners exist.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:638025115", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-06-03T07:49:32Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-638025115", + "summary": "A maintainer offers to help and suggests commenting out tests that depend on that behaviour for now.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:437164485", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-06-09T06:25:11Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r437164485", + "summary": "The opener moves abort logic into destroy with a readableEnded check.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:437165064", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-06-09T06:26:40Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r437165064", + "summary": "The opener notes a client code path may be unnecessary after the change.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:437166355", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-06-09T06:29:58Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r437166355", + "summary": "The opener says the change breaks a test for aborted behaviour and asks which way to go.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:437170697", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-06-09T06:40:53Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r437170697", + "summary": "The opener wonders whether the standard destroy could regress performance.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:641124262", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-06-09T08:32:40Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-641124262", + "summary": "The opener reports excluding tests that rely on the error-event behaviour and moving aborted emission into destroy.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:641129204", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-06-09T08:41:09Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-641129204", + "summary": "A maintainer praises progress and promises help later.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:652818333", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-07-02T06:48:57Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-652818333", + "summary": "The opener asks whether to keep emitting errors only when listeners exist or to change tests for a breaking change.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:459872597", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-24T06:27:10Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r459872597", + "summary": "The opener says he chose to preserve the old behaviour.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:459873769", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-24T06:31:25Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r459873769", + "summary": "The opener shows a failing test and asks whether that is acceptable or a custom destroy is needed.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:459872597" + }, + { + "id": "node-33035:comment:663369789", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-07-24T06:36:21Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-663369789", + "summary": "The opener lists a third option: a custom destroy that emits errors only when listeners are attached.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:460059795", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-24T13:42:39Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460059795", + "summary": "The opener clarifies he is asking whether the test can be changed.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:459872597" + }, + { + "id": "node-33035:review-comment:460074201", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-07-24T14:06:31Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460074201", + "summary": "A maintainer firmly rejects swallowing errors that way.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:459872597" + }, + { + "id": "node-33035:review-comment:460086640", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-24T14:26:10Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460086640", + "summary": "The opener agrees to write a destroy that keeps the server's previous logic.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:459872597" + }, + { + "id": "node-33035:review-comment:460666733", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-27T06:12:35Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460666733", + "summary": "The opener explains the new approach is backward compatible but checks listeners on every error, not only on early termination.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:460667940", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-07-27T06:16:18Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460667940", + "summary": "The opener asks which benchmark to run.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:437170697" + }, + { + "id": "node-33035:review-comment:460716332", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-07-27T08:07:41Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r460716332", + "summary": "A maintainer says destroy performance is not a concern.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:437170697" + }, + { + "id": "node-33035:comment:711010555", + "kind": "comment", + "actor": "codecov-io", + "createdAt": "2020-10-17T14:14:57Z", + "editedAt": "2020-10-18T15:50:26Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-711010555", + "summary": "A bot posts a coverage report.", + "actorId": 8655789, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:711207907", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-10-18T15:09:00Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-711207907", + "summary": "The opener asks whether the work is on the right track.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review:533199733", + "kind": "review", + "actor": "ronag", + "createdAt": "2020-11-18T08:23:34Z", + "url": "https://github.com/nodejs/node/pull/33035#pullrequestreview-533199733", + "summary": "A maintainer says it looks good and asks if it is ready.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:729585790", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-11-18T10:27:57Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-729585790", + "summary": "The opener says it is ready apart from one open doubt and a new macOS failure.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:526028143", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-11-18T11:52:30Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526028143", + "summary": "A maintainer suggests doing the listener check inside the branch that emits aborted.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:460666733" + }, + { + "id": "node-33035:process:labeled:2020-11-18T11:56:14Z", + "kind": "process", + "actor": "ronag", + "createdAt": "2020-11-18T11:56:14Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer labels the PR semver-major.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:729631394", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-11-18T11:56:37Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-729631394", + "summary": "A maintainer says the slight timing change makes it semver-major.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:526031148", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-11-18T11:57:45Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526031148", + "summary": "A maintainer asks whether the socket should only be destroyed on abort and wants a comment.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:526033589", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-11-18T12:02:03Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526033589", + "summary": "A maintainer sketches a destroy implementation that waits for the socket to finish.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:526056236", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-11-18T12:41:19Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526056236", + "summary": "The opener asks why the callback should wait for the socket.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:526060426", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-11-18T12:48:48Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526060426", + "summary": "A maintainer says waiting is best practice but optional.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:526063456", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-11-18T12:53:59Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526063456", + "summary": "The opener thanks him.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:526621693", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-11-19T06:26:34Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r526621693", + "summary": "The opener reports the sketch breaks tests that destroy without an error and one where the finished callback never fires, and shares a variant.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:528510945", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-11-23T07:36:23Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r528510945", + "summary": "The opener debugs why the finished callback never runs on the client.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:529303684", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-11-24T08:54:19Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r529303684", + "summary": "The opener checks for an already destroyed socket and asks for review.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:526033589" + }, + { + "id": "node-33035:review-comment:539193642", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T10:36:14Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539193642", + "summary": "A maintainer says the destroyed check should be unnecessary.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:539193933", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T10:36:40Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539193933", + "summary": "A maintainer suggests a variable rename.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:539216546", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-09T11:10:27Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539216546", + "summary": "The opener explains a test hits an already destroyed socket.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:539193642" + }, + { + "id": "node-33035:review-comment:539220242", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T11:16:11Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539220242", + "summary": "A maintainer suggests the finished helper may need fixing.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:539193642" + }, + { + "id": "node-33035:review-comment:539220618", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T11:16:45Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539220618", + "summary": "A maintainer asks for an explanatory comment.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:741707973", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-09T11:20:08Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-741707973", + "summary": "A maintainer asks about test status.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:539246992", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-09T11:58:51Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539246992", + "summary": "The opener agrees.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:539220618" + }, + { + "id": "node-33035:comment:741728830", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-09T12:04:58Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-741728830", + "summary": "The opener reports all tests pass with unchanged behaviour apart from timing.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:741729233", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-09T12:05:53Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-741729233", + "summary": "The opener notes no tests needed changing.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review:548124728", + "kind": "review", + "actor": "ronag", + "createdAt": "2020-12-09T12:17:30Z", + "url": "https://github.com/nodejs/node/pull/33035#pullrequestreview-548124728", + "summary": "A maintainer approves.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-09T12:17:42Z", + "kind": "process", + "actor": "ronag", + "createdAt": "2020-12-09T12:17:42Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer requests CI.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:741735447", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-09T12:19:01Z", + "editedAt": "2020-12-09T12:19:08Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-741735447", + "summary": "A maintainer proposes landing on v15 but not v14 and asks the HTTP team and TSC for views.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:539260599", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T12:20:49Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539260599", + "summary": "A maintainer asks whether destroy could always default to an aborted error.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-09T12:31:20Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-12-09T12:31:20Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A bot clears the CI request label.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:741741414", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2020-12-09T12:31:39Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-741741414", + "summary": "A bot posts the CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:539270978", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-09T12:36:50Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539270978", + "summary": "The opener says tests expect no error event when destroy gets no error.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:539260599" + }, + { + "id": "node-33035:review-comment:539281108", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-09T12:52:29Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r539281108", + "summary": "A maintainer defers that to a possible future major.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:539260599" + }, + { + "id": "node-33035:review:548169285", + "kind": "review", + "actor": "mcollina", + "createdAt": "2020-12-09T13:14:44Z", + "url": "https://github.com/nodejs/node/pull/33035#pullrequestreview-548169285", + "summary": "A second maintainer approves and agrees.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-09T13:15:16Z", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-09T13:15:16Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer labels it not to land on v14.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-09T13:15:16Z+", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-09T13:15:16Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer labels it not to land on v12.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-09T13:15:16Z++", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-09T13:15:16Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer labels it not to land on v10.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-09T13:15:19Z", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-09T13:15:19Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer removes the semver-major label.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-09T13:15:32Z", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-09T13:15:32Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer relabels it semver-minor.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:540936386", + "kind": "review-comment", + "actor": "Trott", + "createdAt": "2020-12-11T13:11:25Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r540936386", + "summary": "A maintainer flags a stray whitespace change as non-blocking.", + "actorId": 718899, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review:550084831", + "kind": "review", + "actor": "Trott", + "createdAt": "2020-12-11T13:12:11Z", + "url": "https://github.com/nodejs/node/pull/33035#pullrequestreview-550084831", + "summary": "A maintainer approves.", + "actorId": 718899, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:540948834", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-11T13:32:34Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r540948834", + "summary": "The opener will fix it.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:540936386" + }, + { + "id": "node-33035:review-comment:541071172", + "kind": "review-comment", + "actor": "wa-Nadoo", + "createdAt": "2020-12-11T16:30:35Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541071172", + "summary": "An outside reviewer says the listener check now swallows all errors, not only abort errors, and suggests a narrower condition.", + "actorId": 1248501, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:541073867", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-11T16:34:30Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541073867", + "summary": "The opener agrees to the stricter check.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:541075463", + "kind": "review-comment", + "actor": "wa-Nadoo", + "createdAt": "2020-12-11T16:36:52Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541075463", + "summary": "The outside reviewer suggests conventional argument order.", + "actorId": 1248501, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:541078380", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-11T16:41:09Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541078380", + "summary": "The opener agrees.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541075463" + }, + { + "id": "node-33035:review-comment:541091631", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-11T17:00:44Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541091631", + "summary": "The opener says the old code was not that strict and asks for a pointer.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:541199718", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-11T19:32:22Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541199718", + "summary": "A maintainer sides with the outside reviewer.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:541200155", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-11T19:32:52Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541200155", + "summary": "A maintainer says destroying with an error and no listener should be an uncaught exception.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:541203761", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-11T19:36:43Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541203761", + "summary": "A maintainer asks for a test.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:541212969", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-11T19:46:09Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r541212969", + "summary": "The opener concedes and will fix and test it.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:process:labeled:2020-12-13T14:25:06Z", + "kind": "process", + "actor": "Trott", + "createdAt": "2020-12-13T14:25:06Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer requests CI.", + "actorId": 718899, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-13T14:34:49Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-12-13T14:34:49Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A bot clears the CI request label.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:744016568", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2020-12-13T14:35:11Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-744016568", + "summary": "A bot posts the CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:542164386", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-14T07:28:48Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r542164386", + "summary": "The opener reports the fix.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:review-comment:542165040", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-14T07:30:14Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r542165040", + "summary": "The opener asks about testing that the process crashes.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:542185907", + "kind": "review-comment", + "actor": "ronag", + "createdAt": "2020-12-14T08:13:10Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r542185907", + "summary": "A maintainer suggests an uncaught exception handler.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:review-comment:542165040" + }, + { + "id": "node-33035:review-comment:542264719", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-14T10:13:31Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r542264719", + "summary": "The opener thanks him.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:542165040" + }, + { + "id": "node-33035:review-comment:543109670", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-15T07:33:14Z", + "editedAt": "2020-12-16T07:40:39Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r543109670", + "summary": "The opener finds error propagation on this branch differs from the current release and shows output.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:542165040" + }, + { + "id": "node-33035:comment:745851068", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-16T07:46:30Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-745851068", + "summary": "The opener notes destroy no longer always emits an abort error and needs fixing.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:review-comment:544853889", + "kind": "review-comment", + "actor": "dnlup", + "createdAt": "2020-12-17T06:57:08Z", + "url": "https://github.com/nodejs/node/pull/33035#discussion_r544853889", + "summary": "The opener reopens the thread, arguing the old code only emitted errors in abort paths and errors did not bubble from response to request, and adds tests.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:review-comment:541071172" + }, + { + "id": "node-33035:process:labeled:2020-12-17T08:56:43Z", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-17T08:56:43Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer requests CI.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-17T08:57:10Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-12-17T08:57:10Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A bot clears the CI request label.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:747304993", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2020-12-17T08:57:32Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-747304993", + "summary": "A bot posts the CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-17T10:00:11Z", + "kind": "process", + "actor": "mcollina", + "createdAt": "2020-12-17T10:00:11Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer adds the commit-queue label.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-17T10:31:01Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-12-17T10:31:01Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A bot removes the commit-queue label.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:747354221", + "kind": "comment", + "actor": "github-actions[bot]", + "createdAt": "2020-12-17T10:31:16Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-747354221", + "summary": "A bot reports the commits landed.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:closed:2020-12-17T10:31:17Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-12-17T10:31:17Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A bot closes the PR after landing.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:747356499", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-17T10:35:27Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-747356499", + "summary": "A maintainer celebrates the fix.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:747412053", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-17T12:32:39Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-747412053", + "summary": "The opener thanks everyone.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2020-12-22T08:33:51Z", + "kind": "process", + "actor": "targos", + "createdAt": "2020-12-22T08:33:51Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer links the v15.5.0 release that included it.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751476367", + "kind": "comment", + "actor": "kanongil", + "createdAt": "2020-12-27T14:51:15Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751476367", + "summary": "A framework author reports it breaks hapi by emitting close on the request before the response is sent, and says this contradicts docs and is semver-major.", + "actorId": 753512, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751480377", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-27T15:25:32Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751480377", + "summary": "A maintainer says the docs were wrong but agrees early close is breaking even if more correct.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751480507", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-27T15:26:37Z", + "editedAt": "2020-12-27T15:26:53Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751480507", + "summary": "A maintainer suggests reverting on v15 and asks the opener for a regression test on close ordering.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751480972", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T15:30:40Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751480972", + "summary": "The opener agrees to write the test.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751482764", + "kind": "comment", + "actor": "kanongil", + "createdAt": "2020-12-27T15:45:59Z", + "editedAt": "2020-12-27T15:48:48Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751482764", + "summary": "The framework author agrees it is more correct but breaking, and explains why tests missed it.", + "actorId": 753512, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751484869", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T16:03:27Z", + "editedAt": "2020-12-27T16:22:23Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751484869", + "summary": "The opener proposes an existing test file and asks about expected ordering.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751489998", + "kind": "comment", + "actor": "kanongil", + "createdAt": "2020-12-27T16:47:41Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751489998", + "summary": "The framework author says that test misses the case and gives a reproduction.", + "actorId": 753512, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751491228", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T16:58:50Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751491228", + "summary": "The opener sees the difference.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751494523", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2020-12-27T17:30:55Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751494523", + "summary": "A maintainer says it should be reverted in v15.", + "actorId": 52195, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751496190", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T17:45:01Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751496190", + "summary": "The opener apologises.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-27T17:46:17Z", + "kind": "process", + "actor": "targos", + "createdAt": "2020-12-27T17:46:17Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A release maintainer relabels it semver-major.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:unlabeled:2020-12-27T17:46:23Z", + "kind": "process", + "actor": "targos", + "createdAt": "2020-12-27T17:46:23Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A release maintainer removes the semver-minor label.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751496388", + "kind": "comment", + "actor": "targos", + "createdAt": "2020-12-27T17:47:06Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751496388", + "summary": "A release maintainer asks for a revert PR on the v15 staging branch.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751498454", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-27T18:06:29Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751498454", + "summary": "A maintainer reassures the opener.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2020-12-27T18:06:44Z", + "kind": "process", + "actor": "dnlup", + "createdAt": "2020-12-27T18:06:44Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "The opener links a PR adding a close-ordering test.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751502849", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-27T18:48:18Z", + "editedAt": "2020-12-27T18:48:30Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751502849", + "summary": "A maintainer asks the opener to open the revert.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751503021", + "kind": "comment", + "actor": "ronag", + "createdAt": "2020-12-27T18:49:58Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751503021", + "summary": "A maintainer asks releasers to note the change in v16 release notes.", + "actorId": 3065230, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751504025", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T19:00:56Z", + "editedAt": "2020-12-27T19:01:19Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751504025", + "summary": "The opener agrees and asks how to revert the commits.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:labeled:2020-12-27T19:01:36Z", + "kind": "process", + "actor": "targos", + "createdAt": "2020-12-27T19:01:36Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A release maintainer adds the notable-change label.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2020-12-27T19:38:04Z", + "kind": "process", + "actor": "dnlup", + "createdAt": "2020-12-27T19:38:04Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "The opener links a first revert PR.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2020-12-27T20:03:27Z", + "kind": "process", + "actor": "dnlup", + "createdAt": "2020-12-27T20:03:27Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "The opener links the revert PR for v15.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:751510123", + "kind": "comment", + "actor": "dnlup", + "createdAt": "2020-12-27T20:04:04Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-751510123", + "summary": "The opener posts the revert PR link.", + "actorId": 15520377, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2021-01-23T07:33:55Z", + "kind": "process", + "actor": "devinivy", + "createdAt": "2021-01-23T07:33:55Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A hapi maintainer links a hapi change to rely on response close for Node 16.", + "actorId": 3150233, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2022-03-30T12:36:59Z", + "kind": "process", + "actor": "ShogunPanda", + "createdAt": "2022-03-30T12:36:59Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A maintainer links a later PR documenting the breaking change.", + "actorId": 201101, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:process:cross-referenced:2024-01-14T05:58:12Z", + "kind": "process", + "actor": "wh0", + "createdAt": "2024-01-14T05:58:12Z", + "url": "https://github.com/nodejs/node/pull/33035", + "summary": "A user links a later doc fix on HTTP event order.", + "actorId": 382796, + "actorType": "human", + "parentId": "node-33035:pr:33035" + }, + { + "id": "node-33035:comment:5063182491", + "kind": "comment", + "actor": "simhnna", + "createdAt": "2026-07-23T20:38:18Z", + "url": "https://github.com/nodejs/node/pull/33035#issuecomment-5063182491", + "summary": "A user asks years later how client aborts were meant to be detected after this change and whether to document the current way or restore the abort event.", + "actorId": 33220646, + "actorType": "human", + "parentId": "node-33035:pr:33035" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/node-rm-windows-eperm.json b/evals/datasets/decisions-v1/cases/node-rm-windows-eperm.json new file mode 100644 index 000000000..da0c5ad90 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/node-rm-windows-eperm.json @@ -0,0 +1,1204 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "node-rm-windows-eperm", + "title": "Stop fs.rm chmod-retry on Windows EPERM", + "source": { + "url": "https://github.com/nodejs/node/pull/38810", + "retrievedAt": "2026-10-18T07:25:53.244474+00:00", + "repository": "nodejs/node", + "number": 38810 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-05-26T14:10:00Z" + }, + { + "id": "c2", + "at": "2021-06-18T16:12:00Z" + }, + { + "id": "c3", + "at": "2022-03-18T06:00:00Z" + }, + { + "id": "c4", + "at": "2022-03-18T07:00:00Z" + } + ], + "events": [ + { + "id": "node-38810:pr:38810", + "kind": "opening", + "actor": "RaisinTen", + "createdAt": "2021-05-25T15:29:23Z", + "url": "https://github.com/nodejs/node/pull/38810", + "summary": "A Node.js collaborator opens a PR to stop the internal rimraf used by `fs.rm` from changing permissions and retrying when it hits EPERM on Windows, arguing `rm -rf` never changes permissions, and makes the test tmpdir helper chmod and retry instead.", + "actorId": 42526976, + "actorType": "human" + }, + { + "id": "node-38810:comment:848289148", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-05-25T21:49:57Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848289148", + "summary": "A collaborator asks what semver level the change should carry.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:848790151", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-05-26T13:54:50Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848790151", + "summary": "The opener says it is not an API change; it changes behaviour so could be minor, but he sees it as a fix aligning with docs that describe rm as modelled on POSIX.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:639756982", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-05-26T14:01:42Z", + "editedAt": "2021-05-26T14:05:24Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r639756982", + "summary": "In review, the collaborator suggests keeping the throw inside an if block.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:669061963" + }, + { + "id": "node-38810:review-comment:639757134", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-05-26T14:01:53Z", + "editedAt": "2021-05-26T14:05:24Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r639757134", + "summary": "The collaborator suggests deleting a line.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:669061963" + }, + { + "id": "node-38810:review:669061963", + "kind": "review", + "actor": "aduh95", + "createdAt": "2021-05-26T14:05:24Z", + "url": "https://github.com/nodejs/node/pull/38810#pullrequestreview-669061963", + "summary": "The collaborator approves, pleased that many lines are deleted, with a small style nit.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:848810209", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2021-05-26T14:19:52Z", + "editedAt": "2021-05-26T14:20:32Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848810209", + "summary": "A contributor asks for tests, including fixing earlier rmSync tests that tolerated deletion.", + "actorId": 763605, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:848829708", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-26T14:44:02Z", + "editedAt": "2021-06-02T13:35:31Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848829708", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:848857643", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-05-26T15:16:28Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848857643", + "summary": "A maintainer pings the fs team.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:848912452", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-26T16:20:40Z", + "editedAt": "2021-06-02T13:35:40Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-848912452", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:849754647", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-27T16:03:09Z", + "editedAt": "2021-05-27T16:03:48Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-849754647", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:849754661", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-27T16:03:10Z", + "editedAt": "2021-06-02T13:35:51Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-849754661", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850416121", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-28T13:23:19Z", + "editedAt": "2021-06-02T13:36:01Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850416121", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850438123", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-05-28T13:57:13Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850438123", + "summary": "A maintainer suspects the PR's CI runs are leaving undeletable directories on Windows hosts.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850445064", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-05-28T14:08:08Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850445064", + "summary": "The opener agrees and asks how to fix it.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850446164", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-05-28T14:09:44Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850446164", + "summary": "The maintainer pings the build infrastructure team.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850491737", + "kind": "comment", + "actor": "richardlau", + "createdAt": "2021-05-28T15:18:03Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850491737", + "summary": "A build team member explains a cleanup job exists and has run it.", + "actorId": 5445507, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850831025", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-29T13:08:43Z", + "editedAt": "2021-06-02T13:36:15Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850831025", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:641950824", + "kind": "review-comment", + "actor": "bl-ue", + "createdAt": "2021-05-29T15:23:34Z", + "editedAt": "2021-05-29T15:24:01Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r641950824", + "summary": "A contributor suggests clearer wording for a test comment about Windows read-only folders.", + "actorId": 54780737, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:641951123", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-05-29T15:26:52Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r641951123", + "summary": "The opener applies it.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:641950824" + }, + { + "id": "node-38810:comment:850853603", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-29T15:42:44Z", + "editedAt": "2021-06-02T13:36:27Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850853603", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850856863", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-05-29T16:04:48Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850856863", + "summary": "The opener reports he broke the Windows hosts again and asks why the cleanup job is not run after every CI run.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:641972643", + "kind": "review-comment", + "actor": "Trott", + "createdAt": "2021-05-29T18:53:58Z", + "editedAt": "2021-05-29T18:53:59Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r641972643", + "summary": "A maintainer suggests an optional catch binding.", + "actorId": 718899, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850896207", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-05-29T20:44:45Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850896207", + "summary": "The collaborator notes non-Windows CI is now failing in test-fs-rm too.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:642044013", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-05-30T08:55:14Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r642044013", + "summary": "The opener says it is already fixed.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:641972643" + }, + { + "id": "node-38810:comment:850966020", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-05-30T08:58:48Z", + "editedAt": "2021-05-30T08:59:50Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850966020", + "summary": "The opener plans to split the chmod-and-rm tests into separate files with manual cleanup.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:850979963", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2021-05-30T10:54:42Z", + "editedAt": "2021-05-30T10:56:04Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-850979963", + "summary": "A contributor suggests the tmpdir exit hook chmod undeletable files and retry.", + "actorId": 763605, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:851002247", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-05-30T13:41:09Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851002247", + "summary": "The opener updates tmpdir that way.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:642079400", + "kind": "review-comment", + "actor": "richardlau", + "createdAt": "2021-05-30T13:47:47Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r642079400", + "summary": "A build team member asks whether the chmod could touch directories outside tmpdir.", + "actorId": 5445507, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:642081507", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-05-30T14:04:15Z", + "editedAt": "2021-05-30T14:04:16Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r642081507", + "summary": "The opener explains the error path always lies inside tmpdir.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:642079400" + }, + { + "id": "node-38810:comment:851472469", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-31T12:55:47Z", + "editedAt": "2021-06-02T13:36:39Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851472469", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:851495171", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-31T13:32:54Z", + "editedAt": "2021-06-02T13:36:49Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851495171", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:851575832", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-05-31T16:01:12Z", + "editedAt": "2021-06-02T13:36:57Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851575832", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:851578356", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-05-31T16:06:17Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851578356", + "summary": "The collaborator notes Windows GitHub Actions builds fail on every PR since a commit here.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:851579781", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-05-31T16:09:24Z", + "editedAt": "2021-05-31T16:13:32Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-851579781", + "summary": "A maintainer traces that to a Visual Studio update on the runners and reproduces it.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:852186823", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-01T14:47:27Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-852186823", + "summary": "The opener rebases so the Windows build passes.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:852199801", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-01T15:03:53Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-852199801", + "summary": "The opener notes that Windows ought to report EACCES for read-only folder removal, and opens a libuv PR for it.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:852205015", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-01T15:10:32Z", + "editedAt": "2021-06-02T13:34:49Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-852205015", + "summary": "The opener asks whether to drop the change-log header comment in rimraf.js (comment later hidden as resolved).", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:853032762", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-06-02T13:34:36Z", + "editedAt": "2021-06-02T15:10:50Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-853032762", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:853110246", + "kind": "comment", + "actor": "nodejs-github-bot", + "createdAt": "2021-06-02T15:10:18Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-853110246", + "summary": "A bot posts a CI run link.", + "actorId": 18269663, + "actorType": "bot", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644099455", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T15:52:34Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644099455", + "summary": "The collaborator explains where that header came from and does not object to removing it.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review-comment:644101175", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T15:54:33Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644101175", + "summary": "The collaborator suggests removing an empty call.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review-comment:644106849", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T16:01:15Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644106849", + "summary": "The collaborator proposes a simpler ternary for the test's valid-state check.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review-comment:644107952", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T16:02:38Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644107952", + "summary": "The collaborator repeats the same suggestion at another spot.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review-comment:644109728", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T16:04:50Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644109728", + "summary": "The collaborator suggests a variant with a TODO tied to the libuv PR.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review-comment:644110109", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-02T16:05:19Z", + "editedAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644110109", + "summary": "The collaborator repeats that variant at another spot.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review:674386347" + }, + { + "id": "node-38810:review:674386347", + "kind": "review", + "actor": "aduh95", + "createdAt": "2021-06-02T16:10:11Z", + "url": "https://github.com/nodejs/node/pull/38810#pullrequestreview-674386347", + "summary": "The collaborator asks for repeated test code to be pulled into a function.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644828997", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T14:12:51Z", + "editedAt": "2021-06-03T14:12:52Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644828997", + "summary": "The opener argues the header is redundant with git history.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:644099455" + }, + { + "id": "node-38810:review-comment:644848503", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644848503", + "summary": "The opener explains his use of negation in the check but offers to change it.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:644106849" + }, + { + "id": "node-38810:review-comment:644849582", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T14:36:34Z", + "editedAt": "2021-06-03T14:36:35Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644849582", + "summary": "The opener says the same reasoning applies.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:644107952" + }, + { + "id": "node-38810:comment:853950365", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T15:18:00Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-853950365", + "summary": "The opener adds the suggestions in separate commits.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644885976", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T15:19:35Z", + "editedAt": "2021-06-03T15:19:36Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644885976", + "summary": "The collaborator still prefers a ternary, weakly, and repeats the deduplication request.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review-comment:644106849" + }, + { + "id": "node-38810:review-comment:644888822", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T15:22:47Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644888822", + "summary": "The opener switches to an indented ternary.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:644106849" + }, + { + "id": "node-38810:review-comment:644891872", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T15:26:38Z", + "editedAt": "2021-06-03T15:32:46Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644891872", + "summary": "The collaborator suggests one-line try/catch chmod calls.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644893663", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T15:28:46Z", + "editedAt": "2021-06-03T15:32:46Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644893663", + "summary": "The collaborator repeats that nit elsewhere.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644894392", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T15:29:39Z", + "editedAt": "2021-06-03T15:32:46Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644894392", + "summary": "The collaborator repeats that nit again.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644895948", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T15:31:33Z", + "editedAt": "2021-06-03T15:32:46Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644895948", + "summary": "The collaborator notes a condition is repeated needlessly.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644903073", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T15:38:53Z", + "editedAt": "2021-06-03T15:38:54Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644903073", + "summary": "The opener proposes the one-line form.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:644905483", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T15:40:53Z", + "editedAt": "2021-06-03T15:40:54Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r644905483", + "summary": "The opener applies the same form in tmpdir.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:853978988", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-03T15:55:48Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-853978988", + "summary": "The opener reports the updates.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645038404", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T18:34:10Z", + "editedAt": "2021-06-03T18:40:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645038404", + "summary": "The collaborator suggests restructuring the tmpdir retry loop.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645038859", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T18:34:55Z", + "editedAt": "2021-06-03T18:40:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645038859", + "summary": "The collaborator suggests removing a line.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645038934", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-03T18:35:02Z", + "editedAt": "2021-06-03T18:40:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645038934", + "summary": "The collaborator suggests a simpler rethrow.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645569618", + "kind": "review-comment", + "actor": "bl-ue", + "createdAt": "2021-06-04T13:26:41Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645569618", + "summary": "A contributor relays a linter suggestion to use assert.ifError.", + "actorId": 54780737, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645579761", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-04T13:40:59Z", + "editedAt": "2021-06-04T13:41:00Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645579761", + "summary": "The opener objects that it wraps the error and proposes a strict null check.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:645569618" + }, + { + "id": "node-38810:review-comment:645591441", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T13:56:49Z", + "editedAt": "2021-06-04T13:56:50Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645591441", + "summary": "The collaborator notes the error cannot be null there.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review-comment:645569618" + }, + { + "id": "node-38810:comment:854743914", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-04T13:58:46Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-854743914", + "summary": "The opener reports the change and the reason for avoiding assert.ifError.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645605337", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-04T14:15:35Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645605337", + "summary": "The opener agrees and updates.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:645569618" + }, + { + "id": "node-38810:review-comment:645611046", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:21:57Z", + "editedAt": "2021-06-04T14:35:16Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645611046", + "summary": "The collaborator asks about an EISDIR handling change and whether tests cover it.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645612592", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:23:59Z", + "editedAt": "2021-06-04T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645612592", + "summary": "The collaborator suggests inlining a single-use function.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645614232", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:26:09Z", + "editedAt": "2021-06-04T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645614232", + "summary": "The collaborator notes the thrown error could be null and suggests an Error with a cause.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645614557", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:26:34Z", + "editedAt": "2021-06-04T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645614557", + "summary": "The collaborator repeats that at another spot.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645614909", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:27:02Z", + "editedAt": "2021-06-04T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645614909", + "summary": "The collaborator repeats that again.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645615571", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-04T14:27:47Z", + "editedAt": "2021-06-04T14:35:17Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645615571", + "summary": "The collaborator repeats that a fourth time.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:645997802", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-05T14:33:35Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r645997802", + "summary": "The opener says the EISDIR change only mirrors the async version and explains why it cannot be tested.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:645611046" + }, + { + "id": "node-38810:comment:855253764", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-05T15:12:41Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-855253764", + "summary": "The opener updates with an InvalidStateError class.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:646147320", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-06T15:18:51Z", + "editedAt": "2021-06-06T15:18:52Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r646147320", + "summary": "The opener asks how to avoid logging an error twice in tmpdir.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:646149971", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2021-06-06T15:40:52Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r646149971", + "summary": "The collaborator suggests a logical-or assignment and an explanatory comment.", + "actorId": 14309773, + "actorType": "human", + "parentId": "node-38810:review-comment:646147320" + }, + { + "id": "node-38810:review-comment:646150579", + "kind": "review-comment", + "actor": "bl-ue", + "createdAt": "2021-06-06T15:46:06Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r646150579", + "summary": "A contributor notes that operator is a syntax error on the current LTS.", + "actorId": 54780737, + "actorType": "human", + "parentId": "node-38810:review-comment:646147320" + }, + { + "id": "node-38810:comment:855422434", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-06-06T16:08:53Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-855422434", + "summary": "A maintainer asks whether the amount of test rework needed suggests the change would be too disruptive for users.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:855972999", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-07T14:22:31Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-855972999", + "summary": "The opener concedes it may be disruptive and offers to mark it semver-minor.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review-comment:646644166", + "kind": "review-comment", + "actor": "RaisinTen", + "createdAt": "2021-06-07T14:31:49Z", + "editedAt": "2021-06-07T14:31:50Z", + "url": "https://github.com/nodejs/node/pull/38810#discussion_r646644166", + "summary": "The opener reverts the operator because the docs build fails.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:review-comment:646147320" + }, + { + "id": "node-38810:comment:857732174", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-09T14:15:43Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-857732174", + "summary": "The opener now leans toward semver-patch, since only reliance on incorrect behaviour would break.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:857735832", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-06-09T14:20:10Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-857735832", + "summary": "The maintainer disputes that the behaviour is incorrect; it merely differs from the docs.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review:679724472", + "kind": "review", + "actor": "targos", + "createdAt": "2021-06-09T14:20:56Z", + "url": "https://github.com/nodejs/node/pull/38810#pullrequestreview-679724472", + "summary": "The maintainer requests changes and asks for review by the tooling team.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:858164614", + "kind": "comment", + "actor": "bcoe", + "createdAt": "2021-06-09T23:25:28Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-858164614", + "summary": "A tooling member asks the original rimraf author why the behaviour exists.", + "actorId": 194609, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:858446961", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-10T09:01:25Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-858446961", + "summary": "The opener quotes the rimraf author's old note that Windows users wanted read-only dirs removed.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:862187719", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-16T09:04:25Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-862187719", + "summary": "The opener asks whether to keep waiting for that author.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:862194507", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-06-16T09:14:15Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-862194507", + "summary": "The maintainer wants approval from someone on the tooling team.", + "actorId": 2352663, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:862198617", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-16T09:20:18Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-862198617", + "summary": "The opener pings the tooling team again.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:864128362", + "kind": "comment", + "actor": "bcoe", + "createdAt": "2021-06-18T15:46:12Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-864128362", + "summary": "The tooling member worries the battle-tested behaviour is relied on, since Node's own CI started leaving files behind, and asks whether the change is wanted.", + "actorId": 194609, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:864140997", + "kind": "comment", + "actor": "isaacs", + "createdAt": "2021-06-18T16:07:51Z", + "editedAt": "2021-06-18T16:08:59Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-864140997", + "summary": "The rimraf author explains Windows and POSIX differ on read-only files, the workaround reproduces POSIX `rm -rf` results, and removing it would stop Windows users deleting `.git` folders.", + "actorId": 9287, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:864142700", + "kind": "comment", + "actor": "bcoe", + "createdAt": "2021-06-18T16:10:48Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-864142700", + "summary": "The tooling member suggests instead adding a test that deletes a fresh git repo and documenting the reasoning in code.", + "actorId": 194609, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:864143987", + "kind": "comment", + "actor": "isaacs", + "createdAt": "2021-06-18T16:13:04Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-864143987", + "summary": "The rimraf author asks what problem the patch solves and suggests updating the docs to match long-standing behaviour.", + "actorId": 9287, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:review:687651409", + "kind": "review", + "actor": "boneskull", + "createdAt": "2021-06-18T18:35:37Z", + "url": "https://github.com/nodejs/node/pull/38810#pullrequestreview-687651409", + "summary": "A tooling maintainer requests changes, opposing a user-breaking change for a consistency that does not exist, and favours a docs update.", + "actorId": 924465, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:864381041", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2021-06-19T09:21:39Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-864381041", + "summary": "The opener argues any chmod-and-retry belongs in rmdir or libuv for consistency, and that Windows users can chmod first or a recursive chmod could be added.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:865464838", + "kind": "comment", + "actor": "bcoe", + "createdAt": "2021-06-22T02:06:14Z", + "editedAt": "2021-07-06T19:59:42Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-865464838", + "summary": "The tooling member replies that recursive removal is an opt-in to aggressive deletion, test authors should not need Windows-only chmod steps, upstreaming to libuv is welcome, and Node's own breakage shows this is breaking.", + "actorId": 194609, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:1072072686", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-03-18T06:31:40Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-1072072686", + "summary": "Nine months later the opener says the change is no longer worth the breakage.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:process:closed:2022-03-18T06:31:40Z", + "kind": "process", + "actor": "RaisinTen", + "createdAt": "2022-03-18T06:31:40Z", + "url": "https://github.com/nodejs/node/pull/38810", + "summary": "The opener closes the PR unmerged.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:1073152001", + "kind": "comment", + "actor": "bcoe", + "createdAt": "2022-03-20T02:32:22Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-1073152001", + "summary": "The tooling member thanks him and suggests still adding a `.git` deletion test.", + "actorId": 194609, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:process:cross-referenced:2022-03-20T15:08:26Z", + "kind": "process", + "actor": "RaisinTen", + "createdAt": "2022-03-20T15:08:26Z", + "url": "https://github.com/nodejs/node/pull/38810", + "summary": "The opener links PR #42410 adding fs.rm tests for .git directories.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + }, + { + "id": "node-38810:comment:1073271307", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-03-20T15:09:23Z", + "url": "https://github.com/nodejs/node/pull/38810#issuecomment-1073271307", + "summary": "The opener confirms he sent that test PR.", + "actorId": 42526976, + "actorType": "human", + "parentId": "node-38810:pr:38810" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nodejs-remove-primordials.json b/evals/datasets/decisions-v1/cases/nodejs-remove-primordials.json new file mode 100644 index 000000000..37430d942 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nodejs-remove-primordials.json @@ -0,0 +1,834 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nodejs-remove-primordials", + "title": "Proposal to remove primordials from Node.js core", + "source": { + "url": "https://github.com/nodejs/TSC/issues/1438", + "retrievedAt": "2026-10-18T07:33:15.072420+00:00", + "repository": "nodejs/TSC", + "number": 1438 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-09-11T17:30:00Z" + }, + { + "id": "c2", + "at": "2023-09-11T23:30:00Z" + }, + { + "id": "c3", + "at": "2023-09-13T06:00:00Z" + }, + { + "id": "c4", + "at": "2023-09-26T18:30:00Z" + } + ], + "events": [ + { + "id": "tsc-1438:issue:1438", + "kind": "opening", + "actor": "anonrig", + "createdAt": "2023-09-11T17:00:47Z", + "url": "https://github.com/nodejs/TSC/issues/1438", + "summary": "A TSC member proposes removing all primordials from Node.js internals, recalling the 2022 TSC vote to use them in error paths only absent big regressions, and listing costs: V8 performance pitfalls, constant benchmarking, a long contributor guide, and a security rationale the bounty programme does not honour; he asks for thumbs up or down.", + "actorId": 1935246, + "actorType": "human" + }, + { + "id": "tsc-1438:process:labeled:2023-09-11T17:00:58Z", + "kind": "process", + "actor": "anonrig", + "createdAt": "2023-09-11T17:00:58Z", + "url": "https://github.com/nodejs/TSC/issues/1438", + "summary": "The opener adds the tsc-agenda label.", + "actorId": 1935246, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714326520", + "kind": "comment", + "actor": "RafaelGSS", + "createdAt": "2023-09-11T17:46:59Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714326520", + "summary": "A maintainer asks for a draft PR to quantify the performance gain.", + "actorId": 26234614, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714329144", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-11T17:48:52Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714329144", + "summary": "A prolific collaborator rejects the proposal as unreasonable, says primordials serve reliability not security and rarely cost performance, rebuts several listed cons, and says any proposal must respect the earlier vote.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714349379", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-11T18:04:17Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714349379", + "summary": "A TSC member wants primordials kept for web-standard APIs and error paths that must never throw, but removed elsewhere because of their contribution burden, and notes the TSC can change its mind.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714353834", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-11T18:07:53Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714353834", + "summary": "A member says a platform that breaks under ordinary prototype changes would be embarrassing, and that dropping protection without an alternative is unacceptable.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714357451", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-11T18:10:43Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714357451", + "summary": "The collaborator says overriding a TSC vote is unprecedented and asks for a proposal compatible with it.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714369357", + "kind": "comment", + "actor": "ronag", + "createdAt": "2023-09-11T18:19:53Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714369357", + "summary": "A member calls that an opinion, thinks the costs outweigh benefits, but finds the current error-path rule tolerable.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714369464", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-11T18:19:58Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714369464", + "summary": "The TSC member defends revisiting decisions, cites the old promises debate, and asks for concrete arguments, while criticising the embarrassment framing.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714371084", + "kind": "comment", + "actor": "ronag", + "createdAt": "2023-09-11T18:21:14Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714371084", + "summary": "A member agrees.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714371233", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-11T18:21:21Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714371233", + "summary": "The member says his own packages use primordial-like caching and asks how better to signal his concern.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714382772", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-11T18:30:00Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714382772", + "summary": "The TSC member asks how that works and suggests stating concrete harms with evidence.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714390905", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-11T18:36:15Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714390905", + "summary": "The member explains first-run caching via his libraries and argues zero-dependency and test-runner uses need robustness.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714396961", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-11T18:41:00Z", + "editedAt": "2023-09-11T18:41:19Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714396961", + "summary": "The collaborator says TSC decisions must be somewhat final to make progress, and personally finds primordials more helpful than burdensome.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714415734", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-11T18:55:10Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714415734", + "summary": "The TSC member argues the guarantee only matters if it covers user code, which belongs in ECMAScript, and says eighteen months is long enough to revisit a vote.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714418088", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-11T18:56:53Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714418088", + "summary": "The member agrees TC39 should solve it but wants Node to keep the protection meanwhile.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714418297", + "kind": "comment", + "actor": "JakobJingleheimer", + "createdAt": "2023-09-11T18:57:02Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714418297", + "summary": "A member would love to drop primordials but sees their function as too important without an alternative.", + "actorId": 3012099, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714524740", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-11T20:22:46Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714524740", + "summary": "A TSC member is surprised the rule was error paths only, having believed primordials were required everywhere.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714539881", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2023-09-11T20:34:25Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714539881", + "summary": "A TSC member corrects the opener: prototype pollution caused by core is in the threat model, but hardening against pre-existing pollution is not.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714672450", + "kind": "comment", + "actor": "isaacs", + "createdAt": "2023-09-11T22:31:43Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714672450", + "summary": "A well-known user frames primordials as a least-bad local maximum and lists alternatives: a transpiler, a V8 or TC39 feature, benchmark-driven criteria in CI, or simply dropping them.", + "actorId": 9287, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714687441", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-11T22:50:16Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714687441", + "summary": "The member says he is pursuing TC39 proposals motivated partly by primordials and wants them kept until those land.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714698733", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-11T23:00:18Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714698733", + "summary": "The collaborator doubts a transpiler is feasible, notes TC39 resistance, and sees benchmark criteria as contradictory but welcomes clarity.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714776964", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-12T00:09:42Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714776964", + "summary": "A TSC member argues that partial coverage makes the protection pointless.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714778875", + "kind": "comment", + "actor": "anonrig", + "createdAt": "2023-09-12T00:12:27Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714778875", + "summary": "The opener agrees.", + "actorId": 1935246, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714814400", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-12T01:02:55Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714814400", + "summary": "The member agrees all parts should be covered.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1714832529", + "kind": "comment", + "actor": "Qard", + "createdAt": "2023-09-12T01:31:22Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1714832529", + "summary": "A member suggests cheaper primordial forms, such as calling originals via ReflectApply or freezing exposed objects instead of Safe types.", + "actorId": 205482, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715078442", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2023-09-12T06:35:49Z", + "editedAt": "2023-09-12T06:37:25Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715078442", + "summary": "A contributor says some areas are more sensitive than others and trade-offs should be left to reviewers' judgement.", + "actorId": 763605, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715095767", + "kind": "comment", + "actor": "ronag", + "createdAt": "2023-09-12T06:44:30Z", + "editedAt": "2023-09-12T08:49:54Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715095767", + "summary": "A member stresses contributor ergonomics and warns Node may lose contributors to alternatives like Bun and Deno.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715116812", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2023-09-12T07:02:01Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715116812", + "summary": "A TSC member summarises: full coverage is too costly, would not widen threat-model guarantees, and few collaborators like primordials.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715120640", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2023-09-12T07:05:09Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715120640", + "summary": "A member doubts full removal is realistic and proposes case-by-case removal backed by benchmarks, with reviewers guiding newcomers.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715130612", + "kind": "comment", + "actor": "targos", + "createdAt": "2023-09-12T07:12:03Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715130612", + "summary": "A TSC member agrees, comparing it to the harder C++ code nobody would remove.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715184037", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2023-09-12T07:49:55Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715184037", + "summary": "A TSC member suggests first settling whether primordials are for security and how they rank against the contributor barrier.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715211813", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2023-09-12T08:06:49Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715211813", + "summary": "The contributor argues primordial code looks unlike normal JavaScript and that late review churn deters contributors, while agreeing case-by-case is the consensus.", + "actorId": 763605, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715217283", + "kind": "comment", + "actor": "targos", + "createdAt": "2023-09-12T08:10:02Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715217283", + "summary": "The TSC member proposes no longer asking contributors to add primordials beyond what the linter flags.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715293616", + "kind": "comment", + "actor": "ronag", + "createdAt": "2023-09-12T08:53:18Z", + "editedAt": "2023-09-12T09:25:10Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715293616", + "summary": "A member says the issue is that some people simply do not want to write primordial code.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715314182", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2023-09-12T09:04:53Z", + "editedAt": "2023-09-12T17:15:43Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715314182", + "summary": "The TSC member who introduced primordials gives their history, says Turbofan handles them well so performance is case-by-case, and names readability as the real cost, favouring weaker enforcement.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715314620", + "kind": "comment", + "actor": "ronag", + "createdAt": "2023-09-12T09:05:09Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715314620", + "summary": "A member says removal is technically easy but politically unlikely.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715325748", + "kind": "comment", + "actor": "JakobJingleheimer", + "createdAt": "2023-09-12T09:11:58Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715325748", + "summary": "A member describes the late-review burden and confusion primordials impose on newcomers as worse than the performance cost.", + "actorId": 3012099, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715332817", + "kind": "comment", + "actor": "targos", + "createdAt": "2023-09-12T09:16:25Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715332817", + "summary": "A TSC member responds to a C++ suggestion by valuing the debuggability of JavaScript internals.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715366243", + "kind": "comment", + "actor": "Qard", + "createdAt": "2023-09-12T09:37:30Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715366243", + "summary": "A member suggests accepting PRs without primordials and adding them later as good-first issues.", + "actorId": 205482, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715468617", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2023-09-12T10:32:40Z", + "editedAt": "2023-09-12T10:34:10Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715468617", + "summary": "A TSC member counters that C++ crashes do give useful stack traces and good tooling.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715754309", + "kind": "comment", + "actor": "isaacs", + "createdAt": "2023-09-12T13:43:38Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715754309", + "summary": "The well-known user reframes the trade-off as platform breakage versus lost contributions, saying he rarely contributes because of primordials.", + "actorId": 9287, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715823614", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-12T14:21:23Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715823614", + "summary": "The collaborator notes case-by-case was also the earlier conclusion but defining exempt modules is hard because modules depend on each other, and suggests measuring contribution trends.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1715993792", + "kind": "comment", + "actor": "anonrig", + "createdAt": "2023-09-12T15:53:04Z", + "editedAt": "2023-09-12T15:55:30Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1715993792", + "summary": "The opener argues the ongoing effort is not worth it and suggests C++ if protection is wanted.", + "actorId": 1935246, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716043623", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-12T16:24:18Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716043623", + "summary": "The collaborator says the TSC cannot mandate rewrites; primordials came from contributors and only a review deadlock goes to the TSC.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716081997", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-12T16:40:53Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716081997", + "summary": "A TSC member sees consensus that primordials make contribution harder and argues partial coverage yields no benefit.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716094590", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-12T16:50:06Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716094590", + "summary": "The collaborator repeats that primordials are not a security feature and rejects the all-or-nothing view.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716097837", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-12T16:52:38Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716097837", + "summary": "The TSC member asks what benefit they provide if not security.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716123640", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-12T17:12:00Z", + "editedAt": "2023-09-12T17:13:02Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716123640", + "summary": "The collaborator points to the earlier history comment framing them as a best-effort user experience aid.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716133342", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-12T17:19:44Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716133342", + "summary": "The TSC member doubts that use case matters and asks whether anyone ever complained before primordials.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716150123", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2023-09-12T17:33:01Z", + "editedAt": "2023-09-12T17:37:31Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716150123", + "summary": "The TSC member who introduced them links earlier issues showing such complaints and the comparison with Chrome's robustness.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716311601", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-12T19:39:45Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716311601", + "summary": "The TSC member gives an error-path example where primordials preserve a useful stack trace and notes web standards require them.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716323298", + "kind": "comment", + "actor": "anonrig", + "createdAt": "2023-09-12T19:49:14Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716323298", + "summary": "The opener would accept keeping them only for web-standard requirements but opposes case-by-case rules as open to interpretation.", + "actorId": 1935246, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716334244", + "kind": "comment", + "actor": "cjihrig", + "createdAt": "2023-09-12T19:54:52Z", + "editedAt": "2023-09-12T20:00:53Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716334244", + "summary": "A collaborator names the test runner as benefiting from primordials.", + "actorId": 2512748, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716351569", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2023-09-12T20:07:42Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716351569", + "summary": "The collaborator adds console.log and the ESM loader as places needing them.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716360792", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-12T20:14:13Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716360792", + "summary": "The member believes removing them would expose internals to security issues.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716395761", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2023-09-12T20:39:00Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716395761", + "summary": "The contributor notes popular packages have no such protection, so most apps would remain exposed.", + "actorId": 763605, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716401484", + "kind": "comment", + "actor": "cjihrig", + "createdAt": "2023-09-12T20:42:02Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716401484", + "summary": "A collaborator doubts such access alone would count as a vulnerability under the threat model.", + "actorId": 2512748, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716402153", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-12T20:42:40Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716402153", + "summary": "The member says the platform deserves a higher bar than userland.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716403043", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2023-09-12T20:43:21Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716403043", + "summary": "The member thinks an audit would likely find real security leaks.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716480031", + "kind": "comment", + "actor": "Linkgoron", + "createdAt": "2023-09-12T21:32:09Z", + "editedAt": "2023-09-12T21:34:26Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716480031", + "summary": "The contributor argues JavaScript itself breaks under such tampering and the platform needs targeted, not all-or-nothing, protection.", + "actorId": 763605, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1716997545", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-13T06:02:26Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1716997545", + "summary": "The TSC member proposes a strategic initiative: write tests for flows that must be guarded, use web platform tests for standards, agree not to add primordials elsewhere, update docs, and have the TSC approve each step within a month or two.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1717002310", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-13T06:08:03Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1717002310", + "summary": "The TSC member links the new initiative issue TSC#1439.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1717493822", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2023-09-13T12:02:17Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1717493822", + "summary": "A TSC member recalls the same arguments years ago and notes newer security features like policies and permissions depend on integrity.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1717588937", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-13T13:01:24Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1717588937", + "summary": "The TSC member replies that policies make no tamper guarantee, but agrees permission code should use primordials and be audited.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1722074944", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2023-09-16T00:20:12Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1722074944", + "summary": "A user notes the default constructor breakage is a known V8 bug against the spec.", + "actorId": 1653598, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1726894549", + "kind": "comment", + "actor": "bnoordhuis", + "createdAt": "2023-09-20T04:05:40Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1726894549", + "summary": "A long-time maintainer confirms that users repeatedly hit REPL and core breakage from prototype tampering since 2010.", + "actorId": 275871, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:process:unlabeled:2023-09-20T20:03:40Z", + "kind": "process", + "actor": "GeoffreyBooth", + "createdAt": "2023-09-20T20:03:40Z", + "url": "https://github.com/nodejs/TSC/issues/1438", + "summary": "A TSC member removes the tsc-agenda label.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1735721041", + "kind": "comment", + "actor": "muescha", + "createdAt": "2023-09-26T14:59:13Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1735721041", + "summary": "A user suggests an integrity check users could run to detect prototype changes if primordials go.", + "actorId": 184316, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1735974924", + "kind": "comment", + "actor": "mhofman", + "createdAt": "2023-09-26T17:24:35Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1735974924", + "summary": "A user asks how such a check would distinguish legitimate polyfills.", + "actorId": 86499, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:comment:1736031265", + "kind": "comment", + "actor": "benjamingr", + "createdAt": "2023-09-26T18:04:55Z", + "url": "https://github.com/nodejs/TSC/issues/1438#issuecomment-1736031265", + "summary": "The TSC member closes the issue and redirects discussion to a new primordials-use-cases repository.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + }, + { + "id": "tsc-1438:process:closed:2023-09-26T18:04:55Z", + "kind": "process", + "actor": "benjamingr", + "createdAt": "2023-09-26T18:04:55Z", + "url": "https://github.com/nodejs/TSC/issues/1438", + "summary": "The TSC member closes the issue.", + "actorId": 1315533, + "actorType": "human", + "parentId": "tsc-1438:issue:1438" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/nodejs-tsc-yarn-corepack-vote.json b/evals/datasets/decisions-v1/cases/nodejs-tsc-yarn-corepack-vote.json new file mode 100644 index 000000000..689457124 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/nodejs-tsc-yarn-corepack-vote.json @@ -0,0 +1,704 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "nodejs-tsc-yarn-corepack-vote", + "title": "TSC vote on bundling Yarn or Corepack", + "source": { + "url": "https://github.com/nodejs/TSC/issues/1012", + "retrievedAt": "2026-10-18T07:33:11.421003+00:00", + "repository": "nodejs/TSC", + "number": 1012 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-04-09T20:00:00Z" + }, + { + "id": "c2", + "at": "2021-04-15T00:30:00Z" + }, + { + "id": "c3", + "at": "2021-04-22T21:00:00Z" + }, + { + "id": "c4", + "at": "2021-04-28T22:00:00Z" + } + ], + "events": [ + { + "id": "tsc-1012:issue:1012", + "kind": "opening", + "actor": "mhdawson", + "createdAt": "2021-04-08T23:01:43Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "A TSC member says the meeting agreed to call a vote on the PR bundling Yarn versus the Corepack PR, and drafts ballot options including conditional preferences and two flavours of no, asking the full TSC for objections and edits.", + "actorId": 9373002, + "actorType": "human" + }, + { + "id": "tsc-1012:process:cross-referenced:2021-04-09T19:59:17Z", + "kind": "process", + "actor": "arcanis", + "createdAt": "2021-04-09T19:59:17Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "The Yarn bundling PR #37277 is linked.", + "actorId": 1037931, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:816935543", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-04-09T20:00:59Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-816935543", + "summary": "A TSC member approves the options and supports voting.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:816989418", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-09T21:47:45Z", + "editedAt": "2021-04-09T21:50:14Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-816989418", + "summary": "A TSC member agrees but wants the wording to say the vote targets landing a PR, so it is not read as code review approval.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:816991613", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-09T21:53:08Z", + "editedAt": "2021-04-09T21:53:35Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-816991613", + "summary": "The same member suggests an explicit abstain choice.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817049988", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-04-10T01:35:13Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817049988", + "summary": "A TSC member supports moving to a vote.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817103363", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-04-10T08:54:21Z", + "editedAt": "2021-04-10T10:09:04Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817103363", + "summary": "A contributor suggests a Condorcet ranked vote and proposes seven options combining keeping or unbundling npm with Yarn and Corepack.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817146778", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-04-10T14:39:24Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817146778", + "summary": "A TSC member asks whether removing npm is even being considered.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817147283", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2021-04-10T14:43:29Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817147283", + "summary": "A TSC member says removing npm was not discussed in the meeting.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817176029", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-04-10T17:36:02Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817176029", + "summary": "The contributor clarifies they meant no longer bundling npm by default and that their main point was the Condorcet method.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817176815", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2021-04-10T17:42:00Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817176815", + "summary": "A TSC member backs Condorcet.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817235922", + "kind": "comment", + "actor": "DerekNonGeneric", + "createdAt": "2021-04-11T02:21:11Z", + "editedAt": "2021-04-11T05:53:18Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817235922", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 17770407, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817237096", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-11T02:36:41Z", + "editedAt": "2021-04-11T02:52:16Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817237096", + "summary": "A TSC member explains Condorcet is a family of methods built on rankings and argues against forbidding tied ranks.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:817247599", + "kind": "comment", + "actor": "nschonni", + "createdAt": "2021-04-11T04:53:08Z", + "editedAt": "2021-04-11T05:53:26Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-817247599", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 1297909, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818003138", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-12T17:45:54Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818003138", + "summary": "The opener asks whether Condorcet is worth the setup delay and how it handles conditional preferences.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818011633", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-12T17:59:31Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818011633", + "summary": "The opener asks whether Condorcet is used for decisions rather than elections.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818024430", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-04-12T18:17:50Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818024430", + "summary": "The contributor says it works for any choice and lets voters rank conditional options without splitting the vote, offering to help with tooling.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818029271", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-12T18:24:50Z", + "editedAt": "2021-04-12T18:25:59Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818029271", + "summary": "A TSC member notes the previous TSC vote used San Francisco RCV on OpaVote successfully.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818064285", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2021-04-12T19:10:49Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818064285", + "summary": "A TSC member says they liked that approach.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:818087218", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-12T19:44:48Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-818087218", + "summary": "The opener favours reusing RCV and suggests documenting a standard voting setup.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819022366", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-13T20:13:11Z", + "editedAt": "2021-04-13T20:19:49Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819022366", + "summary": "A TSC member argues for collecting per-option scores, showing with a worked table that pick-one, Condorcet and utility maximisation can pick different winners.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819026904", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-13T20:21:13Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819026904", + "summary": "A TSC member asks whether that member objects to RCV.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819696017", + "kind": "comment", + "actor": "DeeDeeG", + "createdAt": "2021-04-14T17:37:27Z", + "editedAt": "2021-04-14T20:54:32Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819696017", + "summary": "A non-member voting enthusiast backs RCV, Condorcet or approval voting as anything better than pick-one, while urging the thread not to derail.", + "actorId": 20157115, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819823245", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-14T20:50:52Z", + "editedAt": "2021-04-14T21:06:37Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819823245", + "summary": "The scoring advocate argues RCV shares Condorcet's flaw of ignoring intensity of preference and asks for 0 to 20 ratings, acknowledging the scale is hard to define.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819843928", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-14T21:25:11Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819843928", + "summary": "A TSC member backs RCV to avoid weeks of debate over methods, saying scales are error-prone, and suggests documenting a general method later.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819930012", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-15T00:15:26Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819930012", + "summary": "The opener proposes RCV for this vote next week and asks whether to include npm options, sketching a five-option and a three-option ballot.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819933749", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-15T00:26:09Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819933749", + "summary": "A TSC member agrees to use RCV now and discuss future methods separately.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:819940268", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-15T00:46:44Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-819940268", + "summary": "That member volunteers to set up the OpaVote ballot.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820029537", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-04-15T03:26:08Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820029537", + "summary": "A TSC member again asks whether npm removal should be on the ballot at all.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820461653", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-15T14:23:23Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820461653", + "summary": "A TSC member prefers the three-option ballot, saying moving npm behind Corepack would be a separate semver-major choice best made after seeing Corepack in use.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820463741", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-15T14:26:05Z", + "editedAt": "2021-04-15T14:27:11Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820463741", + "summary": "The same member says listing npm removal would wrongly signal it is a realistic outcome.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820466196", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-04-15T14:29:26Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820466196", + "summary": "A TSC member admits favouring npm removal but accepts being in the minority, and notes Corepack does not depend on npm.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820469871", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-15T14:33:40Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820469871", + "summary": "The previous member distinguishes unbundling npm via Corepack from outright removal, calling the latter off the table.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820476633", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-04-15T14:36:52Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820476633", + "summary": "The minority member agrees removal should not be on the ballot.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820480492", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-15T14:38:52Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820480492", + "summary": "A TSC member asks how npm removal would work without Corepack.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820489170", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-04-15T14:49:19Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820489170", + "summary": "The minority member declines to discuss it in the thread.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820529066", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-15T15:40:29Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820529066", + "summary": "The opener thanks the volunteer for running the vote.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820532403", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-15T15:43:43Z", + "editedAt": "2021-04-15T15:44:06Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820532403", + "summary": "The opener settles on a three-option ballot of add Corepack, add Yarn, or leave as is, keeping the outcome semver-minor.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820565076", + "kind": "comment", + "actor": "MylesBorins", + "createdAt": "2021-04-15T16:30:04Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820565076", + "summary": "A TSC member abstains because of employment at GitHub and npm work, and asks that the npm team be consulted before any vote touching npm.", + "actorId": 498775, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820567346", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-04-15T16:33:33Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820567346", + "summary": "A TSC member notes Corepack installing npm would require the npm team's own work anyway.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820684689", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-15T19:39:44Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820684689", + "summary": "The vote organiser asks whether newly nominated members should vote.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820688927", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-15T19:47:57Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820688927", + "summary": "The vote organiser shares a preview of the ballot and its settings for review.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:820729542", + "kind": "comment", + "actor": "ChALkeR", + "createdAt": "2021-04-15T21:04:48Z", + "editedAt": "2021-04-15T21:10:51Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-820729542", + "summary": "The scoring advocate shows the ballot they would have preferred but accepts RCV and asks to move the meta discussion elsewhere.", + "actorId": 291301, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:825188254", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-22T21:11:00Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-825188254", + "summary": "The vote organiser opens the seven-day vote by email and asks abstainers to submit blank ballots.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:825843802", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-23T18:31:18Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-825843802", + "summary": "The organiser reports 14 of 22 have voted.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:826128422", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-24T17:45:52Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-826128422", + "summary": "The organiser reports 17 votes.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:826220590", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-04-25T02:22:17Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-826220590", + "summary": "A TSC member stresses that voting for Corepack or Yarn endorses a direction, not any particular PR.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:826381378", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-25T20:00:43Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-826381378", + "summary": "The organiser reports 20 votes.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:827065740", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-26T18:48:14Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-827065740", + "summary": "The organiser reports 21 votes.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:827144243", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-26T21:01:22Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-827144243", + "summary": "The opener confirms from meeting minutes that the vote is on direction and PRs still need review.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:827906857", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-27T20:26:31Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-827906857", + "summary": "The organiser sends a final reminder to the last voter and will close in a day.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:828776990", + "kind": "comment", + "actor": "mmarchini", + "createdAt": "2021-04-28T21:00:45Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-828776990", + "summary": "The organiser reports Corepack won with 12 first choices and 18 after transfers, so the Yarn PR will not proceed and the Corepack PR will be revisited.", + "actorId": 4048656, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:828813386", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-28T22:09:13Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-828813386", + "summary": "The opener thanks the organiser.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:comment:829342708", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-04-29T15:36:02Z", + "url": "https://github.com/nodejs/TSC/issues/1012#issuecomment-829342708", + "summary": "The opener closes the Yarn PR and this issue.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:closed:2021-04-29T15:36:02Z", + "kind": "process", + "actor": "mhdawson", + "createdAt": "2021-04-29T15:36:02Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "The opener closes the issue.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:cross-referenced:2021-06-13T14:43:06Z", + "kind": "process", + "actor": "arcanis", + "createdAt": "2021-06-13T14:43:06Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "The Corepack experiments PR #35398 is linked.", + "actorId": 1037931, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:cross-referenced:2021-07-31T13:09:19Z", + "kind": "process", + "actor": "arcanis", + "createdAt": "2021-07-31T13:09:19Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "The PR adding Corepack to Node, #39608, is linked.", + "actorId": 1037931, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:cross-referenced:2024-02-29T01:05:10Z", + "kind": "process", + "actor": "GeoffreyBooth", + "createdAt": "2024-02-29T01:05:10Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "A 2024 PR proposing a distribution policy references this vote.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:cross-referenced:2024-03-03T17:22:11Z", + "kind": "process", + "actor": "aduh95", + "createdAt": "2024-03-03T17:22:11Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "A 2024 PR that would turn on the Corepack shims for Yarn and pnpm out of the box references this vote.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + }, + { + "id": "tsc-1012:process:cross-referenced:2024-03-17T12:17:26Z", + "kind": "process", + "actor": "GeoffreyBooth", + "createdAt": "2024-03-17T12:17:26Z", + "url": "https://github.com/nodejs/TSC/issues/1012", + "summary": "A 2024 PR on placeholder executables references this vote.", + "actorId": 456802, + "actorType": "human", + "parentId": "tsc-1012:issue:1012" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/outline-database-board-views.json b/evals/datasets/decisions-v1/cases/outline-database-board-views.json new file mode 100644 index 000000000..e0d2c21f2 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/outline-database-board-views.json @@ -0,0 +1,511 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "outline-database-board-views", + "title": "Whether Outline should offer Notion-style database, board and table views", + "source": { + "url": "https://github.com/outline/outline/discussions/3440", + "retrievedAt": "2026-10-18T07:20:31.420671+00:00", + "repository": "outline/outline", + "number": 3440, + "nodeId": "D_kwDOA4rpZM4APXXO" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-04-22T17:00:00Z" + }, + { + "id": "c2", + "at": "2023-06-06T10:40:00Z" + }, + { + "id": "c3", + "at": "2023-06-06T13:00:00Z" + }, + { + "id": "c4", + "at": "2023-09-22T09:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOA4rpZM4APXXO", + "kind": "opening", + "actor": "MDXDave", + "createdAt": "2022-04-22T16:11:09Z", + "editedAt": "2023-03-23T22:24:33Z", + "url": "https://github.com/outline/outline/discussions/3440", + "summary": "The opener asks for data sources that can be shown as a Kanban board or table, as Notion does, with screenshots.", + "actorId": "MDQ6VXNlcjYwOTk5NzY=", + "actorType": "human" + }, + { + "id": "DC_kwDOA4rpZM4AN4Ph", + "kind": "comment", + "actor": "ecker00", + "createdAt": "2022-09-13T19:12:05Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-3638241", + "summary": "A user adds support, calling it their favourite Notion feature.", + "actorId": "MDQ6VXNlcjEzMzE3NjA=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AOLYD", + "kind": "comment", + "actor": "Gwemox", + "createdAt": "2022-09-23T11:45:33Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-3716611", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjk0MzI3Mjc=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4APRXh", + "kind": "comment", + "actor": "inf0matics", + "createdAt": "2022-10-29T09:40:25Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-4003297", + "summary": "A user adds a vote.", + "actorId": "MDQ6VXNlcjMzMjc2Njc=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AP5h9", + "kind": "comment", + "actor": "corysus", + "createdAt": "2022-11-17T14:11:13Z", + "editedAt": "2022-11-17T14:11:48Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-4167805", + "summary": "A user says board and table views are the one thing missing and that Focalboard is a weaker alternative.", + "actorId": "MDQ6VXNlcjk3ODMyOQ==", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4ARDf6", + "kind": "comment", + "actor": "julianbrennum", + "createdAt": "2022-12-21T20:33:16Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-4470778", + "summary": "A user says this is the only missing feature for them.", + "actorId": "MDQ6VXNlcjk2OTkyNDY=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4ATwrN", + "kind": "comment", + "actor": "dsmrs", + "createdAt": "2023-03-02T15:36:03Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-5180109", + "summary": "A user suggests tying board columns to tags and links a related tags discussion.", + "actorId": "MDQ6VXNlcjEyMjAzMjIx", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AUU9K", + "kind": "comment", + "actor": "almereyda", + "createdAt": "2023-03-16T02:41:49Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-5328714", + "summary": "A user suggests integrating with external no-code database tools instead, to avoid bloating Outline.", + "actorId": "MDQ6VXNlcjE2NDUzMDg=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AUVIU", + "kind": "comment", + "actor": "SonnTakuu", + "createdAt": "2023-03-16T05:00:09Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-5329428", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjU2NDY1NTQz", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AUpJG", + "kind": "comment", + "actor": "s4l4x", + "createdAt": "2023-03-23T21:20:32Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-5411398", + "summary": "A user adds support for a native database or board view.", + "actorId": "MDQ6VXNlcjk5NjA2", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AWO9D", + "kind": "comment", + "actor": "sergi0g", + "createdAt": "2023-05-07T11:47:43Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-5828419", + "summary": "A user notes this is the most upvoted discussion and says they may switch to AppFlowy without it.", + "actorId": "MDQ6VXNlcjc3NTMwNTQ5", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AXRIC", + "kind": "comment", + "actor": "NicolasRitouet", + "createdAt": "2023-06-06T10:25:31Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6099458", + "summary": "A user asks the lead maintainer whether it is planned, since it would ease migration from Notion.", + "actorId": "MDQ6VXNlcjIwNTEzNA==", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AXRKV", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2023-06-06T10:46:32Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6099605", + "summary": "The lead maintainer says there are no plans to build it.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AXRQ5", + "kind": "reply", + "actor": "corysus", + "createdAt": "2023-06-06T11:39:35Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6100025", + "summary": "A user predicts people needing it will move to AFFiNE.", + "actorId": "MDQ6VXNlcjk3ODMyOQ==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AXRTQ", + "kind": "reply", + "actor": "ovizii", + "createdAt": "2023-06-06T11:56:51Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6100176", + "summary": "Another user notes AFFiNE is local-only, not a web app.", + "actorId": "MDQ6VXNlcjgzNzkwMg==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AXRYJ", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2023-06-06T12:40:11Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6100489", + "summary": "The lead maintainer says people should use whatever fits, and that Outline is not meant to move into task management.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AXSI6", + "kind": "reply", + "actor": "corysus", + "createdAt": "2023-06-06T18:10:32Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6103610", + "summary": "A user regrets the decision but says they still use Outline daily.", + "actorId": "MDQ6VXNlcjk3ODMyOQ==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AXjis", + "kind": "reply", + "actor": "herzkerl", + "createdAt": "2023-06-14T13:14:47Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6174892", + "summary": "A user asks instead for a simple overview of unchecked task-list items across documents and offers to sponsor it.", + "actorId": "MDQ6VXNlcjI5Njg2ODQz", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AYDdd", + "kind": "reply", + "actor": "ArcticXWolf", + "createdAt": "2023-06-28T14:27:48Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6305629", + "summary": "A contributor argues table views are not just task management, giving a tabletop campaign wiki as an example of organising notes by fields.", + "actorId": "MDQ6VXNlcjU4MTIyMTU=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AYDez", + "kind": "reply", + "actor": "ArcticXWolf", + "createdAt": "2023-06-28T14:35:45Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6305715", + "summary": "The contributor reframes the request as grouping similar pages, adding structured fields to pages, and multiple views over them.", + "actorId": "MDQ6VXNlcjU4MTIyMTU=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AYD-X", + "kind": "reply", + "actor": "ciekawy", + "createdAt": "2023-06-28T18:12:37Z", + "editedAt": "2023-06-28T18:13:47Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6307735", + "summary": "A user says simple data tables are essential and links React table libraries.", + "actorId": "MDQ6VXNlcjI4NDc5NTI=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AYERm", + "kind": "reply", + "actor": "problem", + "createdAt": "2023-06-28T21:05:38Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6308966", + "summary": "A user restates the minimum as tags on documents, querying by tag and showing results in a table, while keeping project management out.", + "actorId": "MDQ6VXNlcjMxNDM=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AYET0", + "kind": "reply", + "actor": "almereyda", + "createdAt": "2023-06-28T21:27:31Z", + "editedAt": "2023-06-28T21:27:50Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6309108", + "summary": "A user agrees Outline should stay a team wiki and suggests folding a tag-filtered table into existing related proposals.", + "actorId": "MDQ6VXNlcjE2NDUzMDg=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4Aabli", + "kind": "comment", + "actor": "fvsion", + "createdAt": "2023-09-06T17:49:55Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6928738", + "summary": "A user adds support, noting competitors already have it, and argues it would not make Outline a project management tool.", + "actorId": "MDQ6VXNlcjczNTQ5Mzkz", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AabtU", + "kind": "comment", + "actor": "almereyda", + "createdAt": "2023-09-06T18:41:45Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-6929236", + "summary": "A user surveys low-code and database tools and the Block Protocol, warning the feature would put Outline in a very different market.", + "actorId": "MDQ6VXNlcjE2NDUzMDg=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4Aa0Sf", + "kind": "comment", + "actor": "zeekhuge", + "createdAt": "2023-09-18T04:26:44Z", + "editedAt": "2023-09-18T04:28:35Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7029919", + "summary": "A user proposes deep integrations with Trello or Airtable via OAuth and asks whether the maintainer would accept backend-backed integrations.", + "actorId": "MDQ6VXNlcjg3MTEyMTg=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4Aa1WM", + "kind": "reply", + "actor": "sergi0g", + "createdAt": "2023-09-18T12:31:52Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7034252", + "summary": "A user suggests Focalboard as an integration target.", + "actorId": "MDQ6VXNlcjc3NTMwNTQ5", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4Aa0Sf" + }, + { + "id": "DC_kwDOA4rpZM4Aa1o6", + "kind": "comment", + "actor": "ArcticXWolf", + "createdAt": "2023-09-18T14:17:44Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7035450", + "summary": "The contributor suggests splitting the request into smaller organising features: grouped pages with enforced templates, page metadata, then an overview.", + "actorId": "MDQ6VXNlcjU4MTIyMTU=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AbASy", + "kind": "reply", + "actor": "zeekhuge", + "createdAt": "2023-09-22T08:24:08Z", + "editedAt": "2023-09-22T08:46:35Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7079090", + "summary": "A user now argues data sources should be built in, and proposes a community microservice plus one UI component, asking about licensing.", + "actorId": "MDQ6VXNlcjg3MTEyMTg=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4Aa1o6" + }, + { + "id": "DC_kwDOA4rpZM4AbATZ", + "kind": "reply", + "actor": "zeekhuge", + "createdAt": "2023-09-22T08:28:54Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7079129", + "summary": "The user notes this would need the planned move to JSON-based documents.", + "actorId": "MDQ6VXNlcjg3MTEyMTg=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4Aa1o6" + }, + { + "id": "DC_kwDOA4rpZM4AbAUr", + "kind": "reply", + "actor": "patzm", + "createdAt": "2023-09-22T08:38:24Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-7079211", + "summary": "A user agrees an external solution defeats Outline's purpose but supports the maintainer's focus.", + "actorId": "MDQ6VXNlcjUyMTk3MjY=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4Aa1o6" + }, + { + "id": "DC_kwDOA4rpZM4AlIhr", + "kind": "comment", + "actor": "Snuupy", + "createdAt": "2024-06-11T05:05:48Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-9734251", + "summary": "A user notes this is the most requested feature.", + "actorId": "MDQ6VXNlcjk2NDUzOA==", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4AoWOy", + "kind": "comment", + "actor": "uxodb", + "createdAt": "2024-09-07T12:16:26Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-10576818", + "summary": "A user asks for any update after two years.", + "actorId": "MDQ6VXNlcjIwNTM1MjQ2", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4Aor_T", + "kind": "reply", + "actor": "keithschacht", + "createdAt": "2024-09-17T03:37:46Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-10665939", + "summary": "A user points back to the maintainer's earlier reply.", + "actorId": "MDQ6VXNlcjM1MDYx", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AoWOy" + }, + { + "id": "DC_kwDOA4rpZM4Arx2O", + "kind": "comment", + "actor": "g-nardiello", + "createdAt": "2024-12-05T17:51:24Z", + "editedAt": "2024-12-05T17:52:33Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-11476366", + "summary": "A user describes sharing one data table across documents with tag filters and argues for a native component.", + "actorId": "U_kgDOBlBr_w", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4Ar6u7", + "kind": "reply", + "actor": "wforte88", + "createdAt": "2024-12-09T20:28:24Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-11512763", + "summary": "A user argues filtered database views would enable richer taxonomies beyond task management.", + "actorId": "MDQ6VXNlcjIxMzMzNjEy", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXRIC" + }, + { + "id": "DC_kwDOA4rpZM4AurNz", + "kind": "comment", + "actor": "ghost", + "createdAt": "2025-02-18T11:15:38Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-12235635", + "summary": "A user links a new discussion with mockups for structured data in Outline.", + "actorType": "unknown", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4A0KcG", + "kind": "comment", + "actor": "bvandevliet", + "createdAt": "2025-07-06T13:51:01Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-13674246", + "summary": "A user asks for a native board, or at least embeds from a self-hosted Planka instance.", + "actorId": "MDQ6VXNlcjM1NDU0MDEx", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4BCMft", + "kind": "comment", + "actor": "tsutsurocket", + "createdAt": "2026-06-18T14:01:50Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-17352685", + "summary": "A user shares a board they built over the public API, storing status and assignee as tags in document titles.", + "actorId": "MDQ6VXNlcjMzNzU3NjEz", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4BCOdU", + "kind": "reply", + "actor": "bvandevliet", + "createdAt": "2026-06-19T05:48:06Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-17360724", + "summary": "A user suggests front matter for metadata and asks about open-sourcing it.", + "actorId": "MDQ6VXNlcjM1NDU0MDEx", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4BCMft" + }, + { + "id": "DC_kwDOA4rpZM4BCTT8", + "kind": "comment", + "actor": "T-Herrmann-WI", + "createdAt": "2026-06-21T09:52:45Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-17380604", + "summary": "A user adds support.", + "actorId": "U_kgDOBj4rfg", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + }, + { + "id": "DC_kwDOA4rpZM4BClQ9", + "kind": "reply", + "actor": "tsutsurocket", + "createdAt": "2026-06-27T12:17:26Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-17454141", + "summary": "The board builder says they lack metadata access on self-hosted community code.", + "actorId": "MDQ6VXNlcjMzNzU3NjEz", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4BCMft" + }, + { + "id": "DC_kwDOA4rpZM4BEG86", + "kind": "comment", + "actor": "Plinsboorg", + "createdAt": "2026-07-31T13:26:51Z", + "url": "https://github.com/outline/outline/discussions/3440#discussioncomment-17854266", + "summary": "A user links a draft PR implementing document databases and asks if maintainers might accept it.", + "actorId": "MDQ6VXNlcjQyMzAwMzM5", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APXXO" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/outline-document-tags.json b/evals/datasets/decisions-v1/cases/outline-document-tags.json new file mode 100644 index 000000000..db9d6a00e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/outline-document-tags.json @@ -0,0 +1,360 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "outline-document-tags", + "title": "Tags for documents in Outline", + "source": { + "url": "https://github.com/outline/outline/discussions/2256", + "retrievedAt": "2026-10-18T07:20:28.529082+00:00", + "repository": "outline/outline", + "number": 2256, + "nodeId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-06-27T12:00:00Z" + }, + { + "id": "c2", + "at": "2021-06-27T19:00:00Z" + }, + { + "id": "c3", + "at": "2025-08-21T16:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24zNDMyODg3", + "kind": "opening", + "actor": "iamaravindh", + "createdAt": "2021-06-27T11:36:43Z", + "url": "https://github.com/outline/outline/discussions/2256", + "summary": "A user asks for document tags, since folder-based organisation makes it hard to search and filter when several areas share the same folder.", + "actorId": "MDQ6VXNlcjQyMjM5MzU4", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50OTI4OTUw", + "kind": "comment", + "actor": "tommoor", + "createdAt": "2021-06-27T18:18:21Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-928950", + "summary": "A maintainer points to an older tags issue and says the team is holding off in favour of better search, because every extra organising step makes the product harder and the hierarchy already asks a lot; they invite concrete examples where tags would beat search.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4AKXLt", + "kind": "reply", + "actor": "sudoexec", + "createdAt": "2022-05-09T17:09:42Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-2716397", + "summary": "A user replies that tags help when you do not know the right search word or want everything on a topic, likening them to blog tags.", + "actorId": "MDQ6VXNlcjI3NzcwOTIw", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50OTI4OTUw" + }, + { + "id": "DC_kwDOA4rpZM4ALeS0", + "kind": "comment", + "actor": "BRogers80", + "createdAt": "2022-06-23T06:45:39Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-3007668", + "summary": "A user with five collections and a ticketing-system bridge explains that fixed tags would let API searches reliably find guides that live in different collections.", + "actorId": "MDQ6VXNlcjczMjI1Nzgx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4ATwra", + "kind": "comment", + "actor": "dsmrs", + "createdAt": "2023-03-02T15:37:24Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-5180122", + "summary": "A user argues tags are about filtering rather than search and could also power other features such as a Kanban view, linking another discussion.", + "actorId": "MDQ6VXNlcjEyMjAzMjIx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4AUHfh", + "kind": "reply", + "actor": "danfoxley", + "createdAt": "2023-03-11T02:51:18Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-5273569", + "summary": "A user adds that tags work best from a controlled vocabulary and asks whether an integration could provide them.", + "actorId": "MDQ6VXNlcjIwNzQwMzg=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4ATwra" + }, + { + "id": "DC_kwDOA4rpZM4AU9lI", + "kind": "comment", + "actor": "retiarylime", + "createdAt": "2023-04-01T04:55:56Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-5495112", + "summary": "A user upvotes, saying tags matter for sorting and categorising documents.", + "actorId": "MDQ6VXNlcjgzOTcwNjg1", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4ArAji", + "kind": "comment", + "actor": "atandy", + "createdAt": "2024-11-15T22:19:36Z", + "editedAt": "2024-11-15T22:20:13Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-11274466", + "summary": "A user wants a to-do style tag to find every document still missing a video, instead of keeping a separate list of links.", + "actorId": "MDQ6VXNlcjc5NTgyMw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4As9QV", + "kind": "comment", + "actor": "juliocoelho", + "createdAt": "2025-01-09T10:57:55Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-11785237", + "summary": "A user proposes smart collections that include or exclude documents by tag, for example an onboarding set that skips drafts.", + "actorId": "MDQ6VXNlcjEwMzEzODk=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4AtXH6", + "kind": "comment", + "actor": "McFlyPartages", + "createdAt": "2025-01-20T14:20:35Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-11891194", + "summary": "A user notes the request has been open since 2021 and calls tags a core gap for documentation tools.", + "actorId": "MDQ6VXNlcjQ0NTMwMjUy", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4Auh4Z", + "kind": "comment", + "actor": "baditaflorin", + "createdAt": "2025-02-14T07:58:24Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-12197401", + "summary": "A user asks for inline hashtags that link to a list of every document using them.", + "actorId": "MDQ6VXNlcjIzMzA5OTk=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A0k_L", + "kind": "comment", + "actor": "swinis", + "createdAt": "2025-07-16T21:45:10Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-13782987", + "summary": "A user adds support.", + "actorId": "U_kgDOBrTdJw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A1Jfk", + "kind": "comment", + "actor": "Brukkil", + "createdAt": "2025-07-30T09:35:41Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-13932516", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjM4MzIxNzk3", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A1tkG", + "kind": "comment", + "actor": "pavelcdn", + "createdAt": "2025-08-12T08:50:28Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-14080262", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjEwMTg4MDc3", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A1uJK", + "kind": "comment", + "actor": "DavidDieguezCodex", + "createdAt": "2025-08-12T13:18:56Z", + "editedAt": "2025-08-12T13:19:08Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-14082634", + "summary": "A user evaluating Outline for their company says the missing tags make them choose another tool.", + "actorId": "U_kgDOBY3Gdw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A2F-t", + "kind": "comment", + "actor": "NeptunedGmbH", + "createdAt": "2025-08-21T15:17:55Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-14180269", + "summary": "A user wants tags to mark the departments involved in a process and, as an alternative, Workflowy-style mirrored documents.", + "actorId": "U_kgDOC_9IAw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A7FKD", + "kind": "comment", + "actor": "CanalWood", + "createdAt": "2026-01-13T16:31:04Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-15487619", + "summary": "A user adds support, wanting to filter related documents, and asks whether any implementation is planned.", + "actorId": "MDQ6VXNlcjYzMjQ2MDAz", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A7YH6", + "kind": "comment", + "actor": "hdinguyen", + "createdAt": "2026-01-22T00:49:08Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-15565306", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjMyMTY4NTU=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A8ohR", + "kind": "comment", + "actor": "defcon1702", + "createdAt": "2026-02-23T09:13:43Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-15894609", + "summary": "A user supports tags for better interplay with Obsidian and note systems such as PARA or Zettelkasten.", + "actorId": "MDQ6VXNlcjYyNjUwMzE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A83lf", + "kind": "comment", + "actor": "defcon1702", + "createdAt": "2026-02-28T17:19:40Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-15956319", + "summary": "The same user links a newer discussion about tags.", + "actorId": "MDQ6VXNlcjYyNjUwMzE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A9o-t", + "kind": "comment", + "actor": "MystikReasons", + "createdAt": "2026-03-16T12:19:45Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-16158637", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjE4MzMzMDQ4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4A91fu", + "kind": "comment", + "actor": "julbdx", + "createdAt": "2026-03-19T14:32:51Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-16209902", + "summary": "A user adds support.", + "actorId": "U_kgDOBaONLQ", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BAUr_", + "kind": "comment", + "actor": "thomaslc08", + "createdAt": "2026-05-09T12:00:15Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-16861951", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjU0NDM5MDc4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BAU3U", + "kind": "comment", + "actor": "pavelcdn", + "createdAt": "2026-05-09T14:20:11Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-16862676", + "summary": "A user asks whether tags are on the 2026 roadmap and when they might land.", + "actorId": "MDQ6VXNlcjEwMTg4MDc3", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BAU-v", + "kind": "reply", + "actor": "defcon1702", + "createdAt": "2026-05-09T15:49:47Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-16863151", + "summary": "A user replies that two community pull requests for tags exist but have had no response, so the timeline is unclear.", + "actorId": "MDQ6VXNlcjYyNjUwMzE=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4BAU3U" + }, + { + "id": "DC_kwDOA4rpZM4BB0sY", + "kind": "comment", + "actor": "jammin88", + "createdAt": "2026-06-10T19:27:30Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-17255192", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjI0NjUzMzQ4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BF5mv", + "kind": "comment", + "actor": "thaibinhindex", + "createdAt": "2026-09-07T03:08:50Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-18323887", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjE4ODkwMTE=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BGIp2", + "kind": "comment", + "actor": "JanJK2011", + "createdAt": "2026-09-10T11:32:10Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-18385526", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjI0Mzg3MjM4", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BGItU", + "kind": "comment", + "actor": "kameleon1er", + "createdAt": "2026-09-10T11:53:05Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-18385748", + "summary": "A user adds support, hoping tags would line up with Obsidian properties.", + "actorId": "MDQ6VXNlcjM2NDc2OTA5", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + }, + { + "id": "DC_kwDOA4rpZM4BHNPD", + "kind": "comment", + "actor": "websafe", + "createdAt": "2026-09-29T21:19:01Z", + "url": "https://github.com/outline/outline/discussions/2256#discussioncomment-18666435", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjQxMjAxMw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24zNDMyODg3" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/outline-raw-markdown-mode.json b/evals/datasets/decisions-v1/cases/outline-raw-markdown-mode.json new file mode 100644 index 000000000..26ac9dbc9 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/outline-raw-markdown-mode.json @@ -0,0 +1,341 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "outline-raw-markdown-mode", + "title": "Raw Markdown editing mode", + "source": { + "url": "https://github.com/outline/outline/discussions/3326", + "retrievedAt": "2026-10-18T07:11:50.222678+00:00", + "repository": "outline/outline", + "number": 3326, + "nodeId": "D_kwDOA4rpZM4APMEb" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-04-02T05:30:00Z" + }, + { + "id": "c2", + "at": "2022-04-02T06:00:00Z" + }, + { + "id": "c3", + "at": "2023-12-15T00:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOA4rpZM4APMEb", + "kind": "opening", + "actor": "wohenbushuang", + "createdAt": "2022-04-02T05:07:09Z", + "editedAt": "2022-04-02T05:44:47Z", + "url": "https://github.com/outline/outline/discussions/3326", + "summary": "The opener asks for switchable editor modes, including raw Markdown, a split preview with synced scrolling, and the current WYSIWYG, because editing at the edges of marks is awkward and raw text would ease future LaTeX and diagram support.", + "actorId": "MDQ6VXNlcjE1NjEzMTg0", + "actorType": "human" + }, + { + "id": "DC_kwDOA4rpZM4AJf49", + "kind": "comment", + "actor": "tommoor", + "createdAt": "2022-04-02T05:46:24Z", + "editedAt": "2022-04-02T05:46:47Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-2489917", + "summary": "A maintainer declines a raw Markdown editor, saying the project is investing in collaboration, mentions, comments and embeds that plain Markdown cannot express, and suggests the mark-editing pain can be fixed directly.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4AMJ7y", + "kind": "comment", + "actor": "wohenbushuang", + "createdAt": "2022-07-20T06:35:18Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-3186418", + "summary": "The opener, now a daily user, shows a list-editing glitch and shifts the ask: restore a full formatting toolbar or context menu, since the floating toolbar exposes too few options.", + "actorId": "MDQ6VXNlcjE1NjEzMTg0", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4AXg81", + "kind": "comment", + "actor": "socketpair", + "createdAt": "2023-06-13T14:20:08Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-6164277", + "summary": "A user argues programmers prefer typing Markdown while managers prefer WYSIWYG, and pleads for raw Markdown editing.", + "actorId": "MDQ6VXNlcjExNTc0MTI=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4AcjQS", + "kind": "reply", + "actor": "senpro-ingwersenk", + "createdAt": "2023-11-06T07:55:36Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7484434", + "summary": "A user asks how Markdown-based Outline really is if the source cannot be viewed, wanting it to debug odd heading behaviour.", + "actorId": "U_kgDOCJpyEQ", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AJf49" + }, + { + "id": "DC_kwDOA4rpZM4Ad-gI", + "kind": "reply", + "actor": "threema-lenny", + "createdAt": "2023-12-14T21:51:10Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7858184", + "summary": "A user says they would accept proprietary extensions or an experimental mode just to get source editing, and calls the Markdown claim misleading.", + "actorId": "U_kgDOBzIDDg", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXg81" + }, + { + "id": "DC_kwDOA4rpZM4Ad-na", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2023-12-14T23:14:31Z", + "editedAt": "2023-12-14T23:16:32Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7858650", + "summary": "The maintainer explains Markdown cannot represent embeds, table column widths, comments or multiplayer state, doubts both can be supported, but says he is open to a strong solution.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXg81" + }, + { + "id": "DC_kwDOA4rpZM4Ad_nq", + "kind": "reply", + "actor": "threema-lenny", + "createdAt": "2023-12-15T10:56:52Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7862762", + "summary": "The user replies that editing an extended-Markdown storage format would be acceptable even without collaboration in that mode.", + "actorId": "U_kgDOBzIDDg", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXg81" + }, + { + "id": "DC_kwDOA4rpZM4AeO2u", + "kind": "reply", + "actor": "wohenbushuang", + "createdAt": "2023-12-22T07:29:50Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7925166", + "summary": "The opener suggests a hidden, devtools-like source panel for power users to fix editor bugs.", + "actorId": "MDQ6VXNlcjE1NjEzMTg0", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXg81" + }, + { + "id": "DC_kwDOA4rpZM4AePFY", + "kind": "reply", + "actor": "socketpair", + "createdAt": "2023-12-22T09:32:44Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-7926104", + "summary": "A user cites GitHub's own direct Markdown editing as precedent and asks again for a raw text area.", + "actorId": "MDQ6VXNlcjExNTc0MTI=", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AXg81" + }, + { + "id": "DC_kwDOA4rpZM4AjMVC", + "kind": "comment", + "actor": "socketpair", + "createdAt": "2024-04-25T13:40:28Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-9225538", + "summary": "A user pings the maintainer to look at the request.", + "actorId": "MDQ6VXNlcjExNTc0MTI=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4AnaB_", + "kind": "comment", + "actor": "matthijskooijman", + "createdAt": "2024-08-13T20:31:29Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330239", + "summary": "A user adds that pasting Markdown source inserts literal list markers, so a raw mode would make pasting reliable.", + "actorId": "MDQ6VXNlcjE5NDQ5MQ==", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4AnaGb", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2024-08-13T21:12:37Z", + "editedAt": "2024-08-13T21:12:51Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330523", + "summary": "The maintainer explains HTML on the clipboard takes priority and recommends paste-and-match-style to force Markdown detection.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AnaII", + "kind": "reply", + "actor": "matthijskooijman", + "createdAt": "2024-08-13T21:32:47Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330632", + "summary": "The user says that option is missing on Firefox for Linux and repeats that a raw mode, even non-collaborative or lossy, would avoid source-dependent paste issues.", + "actorId": "MDQ6VXNlcjE5NDQ5MQ==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AnaIb", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2024-08-13T21:36:17Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330651", + "summary": "The maintainer says paste-without-formatting is the Linux equivalent.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AnaKc", + "kind": "reply", + "actor": "matthijskooijman", + "createdAt": "2024-08-13T21:51:47Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330780", + "summary": "The user reports that this still yields literal dashes rather than a list.", + "actorId": "MDQ6VXNlcjE5NDQ5MQ==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AnaKz", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2024-08-13T21:56:19Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330803", + "summary": "The maintainer suspects a Linux-specific difference.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AnaLS", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2024-08-13T22:03:36Z", + "editedAt": "2024-08-13T22:03:52Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-10330834", + "summary": "The maintainer suggests inspecting the clipboard contents to debug.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4AnaB_" + }, + { + "id": "DC_kwDOA4rpZM4AshaM", + "kind": "comment", + "actor": "chulucninh09", + "createdAt": "2024-12-26T21:04:00Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-11671180", + "summary": "A user wants Markdown support for an AI workflow where Markdown is copied around and importing is slow.", + "actorId": "MDQ6VXNlcjQzOTA2MTcw", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4A0pQ1", + "kind": "comment", + "actor": "DaxtonD", + "createdAt": "2025-07-18T03:29:02Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-13800501", + "summary": "A user says Outline's non-Markdown feel is why they chose it, and asks that any Markdown mode stay optional.", + "actorId": "U_kgDOBcOoUA", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4A0qjo", + "kind": "reply", + "actor": "threema-lenny", + "createdAt": "2025-07-18T12:43:00Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-13805800", + "summary": "A user replies that an optional raw mode is all most requesters want, citing fiddly tables and paste behaviour.", + "actorId": "U_kgDOBzIDDg", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4A0pQ1" + }, + { + "id": "DC_kwDOA4rpZM4A0rZa", + "kind": "reply", + "actor": "wohenbushuang", + "createdAt": "2025-07-18T17:16:51Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-13809242", + "summary": "The opener retorts that WYSIWYG users also have alternatives and that the request is to add a view, not replace one.", + "actorId": "MDQ6VXNlcjE1NjEzMTg0", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4A0pQ1" + }, + { + "id": "DC_kwDOA4rpZM4A0sU2", + "kind": "reply", + "actor": "DaxtonD", + "createdAt": "2025-07-18T23:48:47Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-13813046", + "summary": "The WYSIWYG-preferring user asks for a respectful tone and accepts an optional raw view or developer tool as a compromise.", + "actorId": "U_kgDOBcOoUA", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4A0pQ1" + }, + { + "id": "DC_kwDOA4rpZM4A1PBR", + "kind": "comment", + "actor": "atomlab", + "createdAt": "2025-08-01T06:30:15Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-13955153", + "summary": "A user wants raw editing to add front matter for documents exported via the API to a static site.", + "actorId": "MDQ6VXNlcjEyMjI0NDk=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4A1pgM", + "kind": "comment", + "actor": "strangerinusall", + "createdAt": "2025-08-10T11:38:24Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-14063628", + "summary": "A user suggests a hidden button or hotkey toggling a raw view that would not affect people who never use it.", + "actorId": "MDQ6VXNlcjk5NDU0MTQ=", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4A9bqn", + "kind": "comment", + "actor": "saxtron3000", + "createdAt": "2026-03-12T20:41:24Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-16104103", + "summary": "A user wants raw Markdown to work around trouble applying H5 and H6 headings.", + "actorId": "MDQ6VXNlcjgwMDY4OTk3", + "actorType": "human", + "parentId": "D_kwDOA4rpZM4APMEb" + }, + { + "id": "DC_kwDOA4rpZM4A9bw_", + "kind": "reply", + "actor": "tommoor", + "createdAt": "2026-03-12T21:16:50Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-16104511", + "summary": "The maintainer says those levels are omitted on purpose because deep heading nesting is discouraged and they render like H4.", + "actorId": "MDQ6VXNlcjM4MDkxNA==", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4A9bqn" + }, + { + "id": "DC_kwDOA4rpZM4A9hGH", + "kind": "reply", + "actor": "saxtron3000", + "createdAt": "2026-03-14T02:06:32Z", + "url": "https://github.com/outline/outline/discussions/3326#discussioncomment-16126343", + "summary": "The user asks why they are disabled rather than merely discouraged, citing a PDF tool that needs them.", + "actorId": "MDQ6VXNlcjgwMDY4OTk3", + "actorType": "human", + "parentId": "DC_kwDOA4rpZM4A9bqn" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/penpot-desktop-app.json b/evals/datasets/decisions-v1/cases/penpot-desktop-app.json new file mode 100644 index 000000000..058a53b79 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/penpot-desktop-app.json @@ -0,0 +1,607 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "penpot-desktop-app", + "title": "Whether and how Penpot should ship a desktop app", + "source": { + "url": "https://github.com/penpot/penpot/discussions/475", + "retrievedAt": "2026-10-18T07:20:27.035518+00:00", + "repository": "penpot/penpot", + "number": 475, + "nodeId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-01-21T11:00:00Z" + }, + { + "id": "c2", + "at": "2022-03-11T16:00:00Z" + }, + { + "id": "c3", + "at": "2022-09-22T19:00:00Z" + }, + { + "id": "c4", + "at": "2022-09-22T21:00:00Z" + } + ], + "events": [ + { + "id": "MDEwOkRpc2N1c3Npb24xOTI0NTg5", + "kind": "opening", + "actor": "blinovartem", + "createdAt": "2021-01-21T10:17:43Z", + "url": "https://github.com/penpot/penpot/discussions/475", + "summary": "The opener asks whether Penpot could run as a desktop program on Windows, Mac and Linux, ideally offline.", + "actorId": "MDQ6VXNlcjI0NDU4MjMy", + "actorType": "human" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50Mjk4NTkx", + "kind": "comment", + "actor": "niwinz", + "createdAt": "2021-01-21T10:29:43Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-298591", + "summary": "A maintainer says a desktop port via Electron or similar is likely possible and will be evaluated, while offline work is not planned though not impossible given the request abstraction layer.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzMwODIw", + "kind": "reply", + "actor": "Manueljlin", + "createdAt": "2021-02-02T13:05:23Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-330820", + "summary": "A user welcomes the idea, mainly to stop Alt opening browser menus while measuring.", + "actorId": "MDQ6VXNlcjExMjc1NTcz", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50Mjk4NTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzM0ODE2", + "kind": "reply", + "actor": "garrett", + "createdAt": "2021-02-03T13:37:51Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-334816", + "summary": "A user explains a Firefox config change that stops Alt opening the menu, with its limits.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "MDE3OkRpc2N1c3Npb25Db21tZW50Mjk4NTkx" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MzQxMTc3", + "kind": "comment", + "actor": "vir-gomez", + "createdAt": "2021-02-05T11:35:34Z", + "editedAt": "2021-02-05T11:38:19Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-341177", + "summary": "A user wants a desktop version for use with a graphics tablet, comparing it to Excalidraw.", + "actorId": "MDQ6VXNlcjU5Nzc0OTAx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "MDE3OkRpc2N1c3Npb25Db21tZW50MTE0MTE1Mw==", + "kind": "comment", + "actor": "KiranWells", + "createdAt": "2021-08-06T22:27:05Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-1141153", + "summary": "A user supports a desktop port for performance and suggests Tauri, noting the network layer as the main hurdle.", + "actorId": "MDQ6VXNlcjY0OTM1MTg0", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AF9kX", + "kind": "comment", + "actor": "hansnolte", + "createdAt": "2021-10-30T12:56:42Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-1562903", + "summary": "A user notes the FAQ promised an Electron app later that year, asks for news, and says being web-only is what keeps them away.", + "actorId": "MDQ6VXNlcjc5MjI2Mjc=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AF9sD", + "kind": "reply", + "actor": "jre10", + "createdAt": "2021-10-30T16:08:39Z", + "editedAt": "2021-10-30T16:10:06Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-1563395", + "summary": "A user doubts a desktop app should be a priority, preferring Figma-like features, while noting Figma has no Linux desktop app.", + "actorId": "MDQ6VXNlcjg2ODcyNTM4", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AF9kX" + }, + { + "id": "DC_kwDOAugo2c4AHziB", + "kind": "comment", + "actor": "ktryndchrs", + "createdAt": "2022-01-25T20:33:26Z", + "editedAt": "2022-01-25T20:33:40Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2046081", + "summary": "A user wants a desktop version mainly so shortcuts stop clashing with the browser, and uses Nativefier meanwhile.", + "actorId": "MDQ6VXNlcjQxNjQ2Mg==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AI5t6", + "kind": "reply", + "actor": "vintprox", + "createdAt": "2022-03-10T17:44:30Z", + "editedAt": "2022-03-10T17:45:36Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2333562", + "summary": "A contributor describes browser shortcuts such as Ctrl+D overriding Penpot's and missing desktop conventions like F2 to rename.", + "actorId": "MDQ6VXNlcjU3MDg4MTk=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AHziB" + }, + { + "id": "DC_kwDOAugo2c4AI7Px", + "kind": "comment", + "actor": "lublak", + "createdAt": "2022-03-11T15:03:47Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2339825", + "summary": "A user points out the FAQ date has passed and asks whether the idea was dropped.", + "actorId": "MDQ6VXNlcjQ0MDU3MDMw", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AI7WX", + "kind": "comment", + "actor": "niwinz", + "createdAt": "2022-03-11T16:10:47Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2340247", + "summary": "A maintainer says it is still under evaluation but the benefits are unclear: a desktop app would not be faster, offline is a separate and largely infeasible feature given backend work, and only the shortcut clash is a solid reason. He wants to learn the real motivation behind the requests first.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AI7ib", + "kind": "reply", + "actor": "vintprox", + "createdAt": "2022-03-11T18:13:58Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2341019", + "summary": "A contributor agrees offline does not need a desktop app, suggesting a PWA, and asks which features truly need the backend.", + "actorId": "MDQ6VXNlcjU3MDg4MTk=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AI8ux", + "kind": "comment", + "actor": "hansnolte", + "createdAt": "2022-03-12T09:26:22Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2345905", + "summary": "A user points to Lunacy as a desktop design tool with an offline mode that goes online only for extra assets.", + "actorId": "MDQ6VXNlcjc5MjI2Mjc=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AI8xZ", + "kind": "reply", + "actor": "soultipsy", + "createdAt": "2022-03-12T10:19:58Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2346073", + "summary": "A contributor describes losing work and history when uploads time out on a poor connection, and asks for local offline editing state, which a browser could also provide.", + "actorId": "MDQ6VXNlcjQwMzAwOTE5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AI_EE", + "kind": "reply", + "actor": "lublak", + "createdAt": "2022-03-14T08:05:02Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2355460", + "summary": "A user clarifies that for them a desktop app means local single-user work: offline, no login or Docker, simple install and file-based saving.", + "actorId": "MDQ6VXNlcjQ0MDU3MDMw", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AI_NT", + "kind": "reply", + "actor": "garrett", + "createdAt": "2022-03-14T09:19:48Z", + "editedAt": "2022-03-14T09:28:48Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356051", + "summary": "A user explains running Penpot locally with rootless Podman, and installing the hosted app from a Chromium browser as a stopgap.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7Px" + }, + { + "id": "DC_kwDOAugo2c4AI_Po", + "kind": "reply", + "actor": "garrett", + "createdAt": "2022-03-14T09:44:22Z", + "editedAt": "2022-03-14T09:47:55Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356200", + "summary": "A user notes Lunacy is not open source, describes packaging it for Flathub, and explains how it can feed Sketch files into Penpot.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI8ux" + }, + { + "id": "DC_kwDOAugo2c4AI_QS", + "kind": "reply", + "actor": "vintprox", + "createdAt": "2022-03-14T09:50:24Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356242", + "summary": "A contributor strongly backs local use without admin knowledge or hosting dependency.", + "actorId": "MDQ6VXNlcjU3MDg4MTk=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AI_Q2", + "kind": "reply", + "actor": "hansnolte", + "createdAt": "2022-03-14T09:55:19Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356278", + "summary": "The Lunacy poster says they only meant it as an example of offline mode.", + "actorId": "MDQ6VXNlcjc5MjI2Mjc=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI8ux" + }, + { + "id": "DC_kwDOAugo2c4AI_R7", + "kind": "reply", + "actor": "vintprox", + "createdAt": "2022-03-14T10:05:14Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356347", + "summary": "A contributor argues online services should be optional and the frontend should work as an independent unit, without needing to beat competitors.", + "actorId": "MDQ6VXNlcjU3MDg4MTk=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI8ux" + }, + { + "id": "DC_kwDOAugo2c4AI_Ya", + "kind": "reply", + "actor": "garrett", + "createdAt": "2022-03-14T11:16:01Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2356762", + "summary": "A user clarifies why they raised licensing and states a preference for free software.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI8ux" + }, + { + "id": "DC_kwDOAugo2c4AJIZj", + "kind": "reply", + "actor": "lublak", + "createdAt": "2022-03-19T12:12:59Z", + "editedAt": "2022-03-19T13:44:08Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-2393699", + "summary": "A user suggests an Electron app could run the Penpot server in the background, ideally without containers.", + "actorId": "MDQ6VXNlcjQ0MDU3MDMw", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7Px" + }, + { + "id": "DC_kwDOAugo2c4AN891", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-15T21:38:08Z", + "editedAt": "2022-09-15T21:39:30Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3657589", + "summary": "A user argues offline in the browser has UX drawbacks, such as needing a file dialog for every read or write.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AOFQe", + "kind": "reply", + "actor": "N-Upchurch", + "createdAt": "2022-09-20T15:11:35Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3691550", + "summary": "A user argues native apps use fewer resources and feel more professional, suggesting Qt or similar toolkits on ethical and quality grounds.", + "actorId": "MDQ6VXNlcjg4OTM3MTM=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AOHtD", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-21T15:19:28Z", + "editedAt": "2022-09-21T15:20:39Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701571", + "summary": "Another user pushes back sharply, citing the maintainer's cost argument against a rewrite and recommending Tauri for resource use.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AOHtr", + "kind": "comment", + "actor": "fire", + "createdAt": "2022-09-21T15:23:43Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701611", + "summary": "A user shares Nativefier commands to wrap the hosted app.", + "actorId": "MDQ6VXNlcjMyMzIx", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AOHuh", + "kind": "reply", + "actor": "niwinz", + "createdAt": "2022-09-21T15:28:54Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701665", + "summary": "A maintainer says wrapping the app in an embedded browser does not make it native, and the webview is the least important part of a real desktop app.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOHtr" + }, + { + "id": "DC_kwDOAugo2c4AOHv5", + "kind": "reply", + "actor": "fire", + "createdAt": "2022-09-21T15:38:34Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701753", + "summary": "A user doubts the team has capacity for a native C++ client while maintaining the web version.", + "actorId": "MDQ6VXNlcjMyMzIx", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOHtr" + }, + { + "id": "DC_kwDOAugo2c4AOHxX", + "kind": "reply", + "actor": "N-Upchurch", + "createdAt": "2022-09-21T15:49:56Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701847", + "summary": "The native-app advocate defends their ethical argument as respectful and distinct from the maintainer's economic one.", + "actorId": "MDQ6VXNlcjg4OTM3MTM=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AI7WX" + }, + { + "id": "DC_kwDOAugo2c4AOHyW", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-21T15:57:51Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701910", + "summary": "A user frames Electron or Tauri with real framework integration as the middle path between a thin wrapper and a native rewrite.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOHtr" + }, + { + "id": "DC_kwDOAugo2c4AOHzP", + "kind": "reply", + "actor": "fire", + "createdAt": "2022-09-21T16:03:29Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3701967", + "summary": "A user steps back from the debate.", + "actorId": "MDQ6VXNlcjMyMzIx", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOHtr" + }, + { + "id": "DC_kwDOAugo2c4AOJO2", + "kind": "comment", + "actor": "LauraWebdev", + "createdAt": "2022-09-22T09:43:46Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3707830", + "summary": "A user shares a community penpot-desktop project they started.", + "actorId": "MDQ6VXNlcjczNjUyODY=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AOJR6", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-22T10:11:31Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3708026", + "summary": "A user says that project is neither offline nor secure.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOJO2" + }, + { + "id": "DC_kwDOAugo2c4AOJh7", + "kind": "reply", + "actor": "LauraWebdev", + "createdAt": "2022-09-22T12:36:28Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3709051", + "summary": "The project author replies that a local Penpot instance makes it offline and that security issues would belong to Penpot itself.", + "actorId": "MDQ6VXNlcjczNjUyODY=", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOJO2" + }, + { + "id": "DC_kwDOAugo2c4AOJ6S", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-22T15:37:04Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3710610", + "summary": "The critic says a webview plus a local server is not a proper solution.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOJO2" + }, + { + "id": "DC_kwDOAugo2c4AOKOX", + "kind": "reply", + "actor": "fire", + "createdAt": "2022-09-22T18:36:01Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3711895", + "summary": "A user asks what language Electron and Tauri use, to understand Penpot's stack.", + "actorId": "MDQ6VXNlcjMyMzIx", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOHtr" + }, + { + "id": "DC_kwDOAugo2c4AOKRq", + "kind": "reply", + "actor": "niwinz", + "createdAt": "2022-09-22T19:11:48Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3712106", + "summary": "A maintainer rules out a full native rewrite as a whole new project, but says a webview-based desktop variant with system integration, and later a limited offline mode without collaboration, could come step by step. The small team is prioritising features like components and auto-layout, and he welcomes the community project.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOJO2" + }, + { + "id": "DC_kwDOAugo2c4AOKgX", + "kind": "comment", + "actor": "KaKi87", + "createdAt": "2022-09-22T22:20:31Z", + "editedAt": "2022-09-22T22:22:24Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3713047", + "summary": "A user outlines an Electron app that loads the frontend from a submodule and intercepts HTTP requests, and asks how to build the frontend.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AOPb4", + "kind": "reply", + "actor": "niwinz", + "createdAt": "2022-09-26T11:46:16Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3733240", + "summary": "A maintainer explains the frontend build script and the Docker-based dev environment.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOKgX" + }, + { + "id": "DC_kwDOAugo2c4AOP1T", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2022-09-26T14:45:16Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3734867", + "summary": "The user asks whether bundling requires Docker.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOKgX" + }, + { + "id": "DC_kwDOAugo2c4AOP1t", + "kind": "reply", + "actor": "niwinz", + "createdAt": "2022-09-26T14:47:18Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3734893", + "summary": "The maintainer says no, it needs a JVM, Clojure, Yarn and Node, which Docker merely packages.", + "actorId": "MDQ6VXNlcjg0MzY4OQ==", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOKgX" + }, + { + "id": "DC_kwDOAugo2c4AOdSA", + "kind": "reply", + "actor": "philippedcote", + "createdAt": "2022-10-03T18:47:42Z", + "editedAt": "2022-10-03T18:48:02Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-3789952", + "summary": "A user argues a self-contained desktop wrapper matters more in the short term than offline, citing the Figma desktop app and shortcut remapping.", + "actorId": "MDQ6VXNlcjg5MDU1Mw==", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AOJO2" + }, + { + "id": "DC_kwDOAugo2c4AXIyh", + "kind": "comment", + "actor": "medmedin2014", + "createdAt": "2023-06-01T20:46:36Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-6065313", + "summary": "A user says solo creators need a fast native desktop version without collaboration, finding the web version laggy.", + "actorId": "MDQ6VXNlcjcwMjczMTk=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AZzFf", + "kind": "comment", + "actor": "SimplyPhy", + "createdAt": "2023-08-18T15:34:41Z", + "editedAt": "2024-08-21T21:37:16Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-6762847", + "summary": "A user argues many people will not try Penpot until it is downloadable, which matters more than offline or performance.", + "actorId": "MDQ6VXNlcjc1MDYyMjM=", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4Amphm", + "kind": "comment", + "actor": "trymeouteh", + "createdAt": "2024-07-23T22:41:33Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-10131558", + "summary": "A user asks for a Tauri-based desktop app with offline file-based projects and multiple instance accounts.", + "actorId": "MDQ6VXNlcjMxMTcyMjc0", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4AqpmF", + "kind": "comment", + "actor": "Beryesa", + "createdAt": "2024-11-07T17:14:08Z", + "editedAt": "2024-11-07T17:24:34Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-11180421", + "summary": "A user asks how hard it would be to strip accounts, embed SQLite, bundle the JVM and drop Redis for a local app, says self-hosting on Windows is a nightmare, and asks for roadmap clarity.", + "actorId": "MDQ6VXNlcjYwNzUxNTE5", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + }, + { + "id": "DC_kwDOAugo2c4Aqxqw", + "kind": "reply", + "actor": "garrett", + "createdAt": "2024-11-11T11:13:56Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-11213488", + "summary": "A user drawing on a similar project says that is far from trivial, and argues the team has higher priorities, web-based tools like Figma succeed, and Podman already enables local use.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AqpmF" + }, + { + "id": "DC_kwDOAugo2c4Aq2hn", + "kind": "reply", + "actor": "Beryesa", + "createdAt": "2024-11-12T23:26:58Z", + "editedAt": "2024-11-13T03:37:19Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-11233383", + "summary": "The user suggests built-in syncing between instances or bundling Podman in the community app as more achievable.", + "actorId": "MDQ6VXNlcjYwNzUxNTE5", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AqpmF" + }, + { + "id": "DC_kwDOAugo2c4Aq4Uk", + "kind": "reply", + "actor": "garrett", + "createdAt": "2024-11-13T14:08:18Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-11240740", + "summary": "The other user welcomes syncing and better bulk export for backups.", + "actorId": "MDQ6VXNlcjEwMjQ2", + "actorType": "human", + "parentId": "DC_kwDOAugo2c4AqpmF" + }, + { + "id": "DC_kwDOAugo2c4AruiP", + "kind": "comment", + "actor": "mbnoimi", + "createdAt": "2024-12-04T15:21:12Z", + "url": "https://github.com/penpot/penpot/discussions/475#discussioncomment-11462799", + "summary": "A user says an Electron or Tauri desktop app is the only acceptable way, since running Docker on a laptop is unreasonable.", + "actorId": "MDQ6VXNlcjI4NDU0Nw==", + "actorType": "human", + "parentId": "MDEwOkRpc2N1c3Npb24xOTI0NTg5" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/pnpm-package-manager-strict-default.json b/evals/datasets/decisions-v1/cases/pnpm-package-manager-strict-default.json new file mode 100644 index 000000000..6e2622a36 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/pnpm-package-manager-strict-default.json @@ -0,0 +1,559 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "pnpm-package-manager-strict-default", + "title": "pnpm packageManager version strictness", + "source": { + "url": "https://github.com/pnpm/pnpm/issues/8087", + "retrievedAt": "2026-10-18T07:27:51.818990+00:00", + "repository": "pnpm/pnpm", + "number": 8087 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-05-16T14:00:00Z" + }, + { + "id": "c2", + "at": "2024-05-30T02:00:00Z" + }, + { + "id": "c3", + "at": "2024-05-31T00:00:00Z" + }, + { + "id": "c4", + "at": "2024-06-04T01:00:00Z" + } + ], + "events": [ + { + "id": "pnpm-8087:issue:8087", + "kind": "opening", + "actor": "benmccann", + "createdAt": "2024-05-15T16:39:18Z", + "url": "https://github.com/pnpm/pnpm/issues/8087", + "summary": "The opener, a contributor, objects that pnpm 9 now fails when the installed version differs from the exact packageManager version, says engines should govern allowed versions, and notes hosts like Vercel and Netlify read packageManager.", + "actorId": 322311, + "actorType": "human" + }, + { + "id": "pnpm-8087:comment:2115077351", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-16T12:07:55Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2115077351", + "summary": "A maintainer says the field comes from corepack and pnpm only follows it, and points to the setting that disables the strictness.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2115168627", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-16T12:51:19Z", + "editedAt": "2024-05-16T13:27:01Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2115168627", + "summary": "The opener asks why pnpm started enforcing it now when pnpm 8 did not.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2115262731", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-16T13:32:54Z", + "editedAt": "2024-05-16T13:33:20Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2115262731", + "summary": "The maintainer says it was a breaking change so it waited for a major, and users can omit the field or relax the setting.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2115300184", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-16T13:48:01Z", + "editedAt": "2024-05-16T14:52:37Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2115300184", + "summary": "The opener replies hosting providers effectively require the field, asks for non-strict to be the default, and argues only corepack should act on it.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2116578151", + "kind": "comment", + "actor": "trevorpfiz", + "createdAt": "2024-05-17T03:55:14Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2116578151", + "summary": "A user reports Vercel deployments suddenly failing with the version-mismatch error.", + "actorId": 24904780, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2117225602", + "kind": "comment", + "actor": "dominikg", + "createdAt": "2024-05-17T10:13:47Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2117225602", + "summary": "A user agrees pnpm should not enforce a corepack field when it cannot fetch the exact version itself, and cites Dependabot as another affected environment.", + "actorId": 611613, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2117556478", + "kind": "comment", + "actor": "exiguus", + "createdAt": "2024-05-17T13:02:10Z", + "editedAt": "2024-05-17T13:04:13Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2117556478", + "summary": "A user shares a CI workaround that rewrites packageManager to the installed pnpm version.", + "actorId": 1060633, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2117777070", + "kind": "comment", + "actor": "wadehammes", + "createdAt": "2024-05-17T14:50:25Z", + "editedAt": "2024-05-17T14:50:54Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2117777070", + "summary": "A user confirms the workaround works.", + "actorId": 222170, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2118273293", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-17T19:46:05Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2118273293", + "summary": "The opener explains most Vercel builds fail because Vercel runs a fixed older pnpm, and lists the separate issues in Vercel, pnpm and corepack.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2118463516", + "kind": "comment", + "actor": "EndangeredMassa", + "createdAt": "2024-05-17T22:48:30Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2118463516", + "summary": "A Vercel engineer clarifies Vercel does not require packageManager, ignores it unless corepack is enabled, and links workarounds.", + "actorId": 41545, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2118489643", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-17T23:35:52Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2118489643", + "summary": "The opener says dropping the field would force duplicating the version across CI workflows, so he would rather disable strictness in templates if the default stays.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2119246661", + "kind": "comment", + "actor": "kirso", + "createdAt": "2024-05-19T13:52:57Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2119246661", + "summary": "A user says enabling Vercel's corepack variable fixed their build.", + "actorId": 2138870, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2128257473", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-24T00:08:11Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2128257473", + "summary": "A maintainer posts a public poll on social media about the behaviour.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2128497449", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2024-05-24T04:26:13Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2128497449", + "summary": "A Node.js contributor notes packageManager is experimental and corepack-specific and suggests pnpm adopt the devEngines field with ranges.", + "actorId": 456802, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2132156345", + "kind": "comment", + "actor": "Dhruv97Sharma", + "createdAt": "2024-05-26T09:47:54Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2132156345", + "summary": "A user says the CI workaround fixed their Vercel deployment.", + "actorId": 46242531, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2135291273", + "kind": "comment", + "actor": "kms0219kms", + "createdAt": "2024-05-28T13:59:50Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2135291273", + "summary": "A user links another workaround from a Vercel discussion.", + "actorId": 67222970, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2135875258", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-28T18:30:36Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2135875258", + "summary": "The opener files issues with the pnpm setup action and Netlify to reduce reliance on the field.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2136133343", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-28T21:22:25Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2136133343", + "summary": "The opener sends a PR to the pnpm setup action to avoid needing packageManager.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2136170869", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-28T21:55:15Z", + "editedAt": "2024-05-29T15:10:48Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2136170869", + "summary": "The opener finds corepack auto-adds the field anyway, and that turning strictness off still emits noisy warnings.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2136181934", + "kind": "comment", + "actor": "dominikg", + "createdAt": "2024-05-28T22:05:52Z", + "editedAt": "2024-05-28T22:06:32Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2136181934", + "summary": "A user votes here for not crashing, describes setting the option globally, and asks why patch-level pinning is the default.", + "actorId": 611613, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2136186798", + "kind": "comment", + "actor": "dominikg", + "createdAt": "2024-05-28T22:09:26Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2136186798", + "summary": "The user asks whether contributors must bump a project's packageManager before sending fixes.", + "actorId": 611613, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2137632558", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-29T15:00:30Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2137632558", + "summary": "The opener says the poll seems stuck and that write-in replies favour not crashing.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2138424953", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-29T23:44:28Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2138424953", + "summary": "The maintainer says he dislikes the field himself, reads the poll as most users accepting the current behaviour, and was open to either outcome.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2138498069", + "kind": "comment", + "actor": "antfu", + "createdAt": "2024-05-30T01:16:41Z", + "editedAt": "2024-05-30T01:21:49Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2138498069", + "summary": "A user argues strictness makes sense like a lockfile for reproducibility, says ranges belong to corepack, and suggests the error mention corepack.", + "actorId": 11247099, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2139193027", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-30T09:53:36Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2139193027", + "summary": "The maintainer agrees the poll may be broken despite reposting.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2139967675", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-30T15:34:35Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2139967675", + "summary": "The maintainer posts updated poll results with hours left.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2140215359", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-30T16:43:18Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2140215359", + "summary": "The opener is puzzled by the jump in percentages.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2140370428", + "kind": "comment", + "actor": "FleetAdmiralJakob", + "createdAt": "2024-05-30T17:24:43Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2140370428", + "summary": "A user thinks the poll is now wrong in the other direction.", + "actorId": 77451351, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2140398479", + "kind": "comment", + "actor": "GeoffreyBooth", + "createdAt": "2024-05-30T17:31:48Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2140398479", + "summary": "The Node.js contributor repeats that devEngines would allow ranges and let projects choose warn or fail.", + "actorId": 456802, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2140993741", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-30T23:21:00Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2140993741", + "summary": "The maintainer says devEngines is unrelated to this issue and should be discussed separately.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141034362", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-05-31T00:17:18Z", + "editedAt": "2024-05-31T00:45:36Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141034362", + "summary": "The maintainer reports most poll voters prefer pnpm not to fail, agrees to change it, and proposes failing only on a different major version.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141054566", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-31T00:45:58Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141054566", + "summary": "The opener prefers relying on engines for range checks.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141440980", + "kind": "comment", + "actor": "dominikg", + "createdAt": "2024-05-31T08:07:34Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141440980", + "summary": "A user thanks the maintainer, supports a non-strict default, and suggests at least a warning for a different major.", + "actorId": 611613, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141494842", + "kind": "comment", + "actor": "FleetAdmiralJakob", + "createdAt": "2024-05-31T08:32:08Z", + "editedAt": "2024-05-31T08:32:14Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141494842", + "summary": "A user asks how the setting works in npmrc files.", + "actorId": 77451351, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141525771", + "kind": "comment", + "actor": "dominikg", + "createdAt": "2024-05-31T08:49:39Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141525771", + "summary": "A user points to the npmrc docs.", + "actorId": 611613, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2141915227", + "kind": "comment", + "actor": "antfu", + "createdAt": "2024-05-31T12:04:14Z", + "editedAt": "2024-05-31T12:05:55Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2141915227", + "summary": "The lockfile-analogy user now accepts not failing by default with a warning, but says hosts should honour exact versions.", + "actorId": 11247099, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2142005231", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-05-31T12:35:40Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2142005231", + "summary": "The opener thanks the maintainer, agrees with the warning idea, and still prefers exact versions for production.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2143435459", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-06-01T12:42:23Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2143435459", + "summary": "The maintainer proposes failing only when the package manager itself differs, and warning or staying silent on version differences.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:process:cross-referenced:2024-06-04T00:27:24Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2024-06-04T00:27:24Z", + "url": "https://github.com/pnpm/pnpm/issues/8087", + "summary": "The maintainer links PR 8166, which stops failing on a version mismatch.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2146346341", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-06-04T00:27:54Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2146346341", + "summary": "The maintainer posts the PR link.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:process:closed:2024-06-05T12:38:22Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2024-06-05T12:38:22Z", + "url": "https://github.com/pnpm/pnpm/issues/8087", + "summary": "The maintainer closes the issue.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2149945847", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-06-05T13:32:37Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2149945847", + "summary": "The maintainer announces the change shipped in pnpm 9.2.0.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2150519992", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-06-05T16:49:21Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2150519992", + "summary": "The opener thanks the maintainer and suggests wider promotion of release candidates.", + "actorId": 322311, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2151094643", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-06-05T22:57:12Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2151094643", + "summary": "The maintainer says v9 was in beta for months and was promoted publicly and to sponsors.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2286759979", + "kind": "comment", + "actor": "pvh", + "createdAt": "2024-08-13T17:27:09Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2286759979", + "summary": "A user thanks the maintainer for the change.", + "actorId": 2880, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + }, + { + "id": "pnpm-8087:comment:2572821319", + "kind": "comment", + "actor": "adamscybot", + "createdAt": "2025-01-06T10:30:06Z", + "url": "https://github.com/pnpm/pnpm/issues/8087#issuecomment-2572821319", + "summary": "A user asks whether engines could be overridden in publishConfig so published packages do not impose package-manager constraints.", + "actorId": 1210785, + "actorType": "human", + "parentId": "pnpm-8087:issue:8087" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/pnpm-pre-post-scripts.json b/evals/datasets/decisions-v1/cases/pnpm-pre-post-scripts.json new file mode 100644 index 000000000..a8aaec436 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/pnpm-pre-post-scripts.json @@ -0,0 +1,708 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "pnpm-pre-post-scripts", + "title": "Stop running implicit pre/post scripts in pnpm run", + "source": { + "url": "https://github.com/pnpm/pnpm/issues/2891", + "retrievedAt": "2026-10-18T07:27:47.886110+00:00", + "repository": "pnpm/pnpm", + "number": 2891 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-09-23T19:00:00Z" + }, + { + "id": "c2", + "at": "2021-03-27T13:30:00Z" + }, + { + "id": "c3", + "at": "2022-06-12T15:00:00Z" + }, + { + "id": "c4", + "at": "2024-02-10T20:00:00Z" + } + ], + "events": [ + { + "id": "pnpm-2891:issue:2891", + "kind": "opening", + "actor": "zkochan", + "createdAt": "2020-09-23T18:20:58Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "A maintainer proposes that `pnpm run foo` stop running prefoo and postfoo automatically, citing Yarn 2's view that implicit hooks hide execution flow and trigger surprises like preserve before serve; a later note says the old behaviour can be restored with `enable-pre-post-scripts`.", + "actorId": 1927579, + "actorType": "human" + }, + { + "id": "pnpm-2891:process:labeled:2020-09-23T18:20:58Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2020-09-23T18:20:58Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "The maintainer labels it a breaking change.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:698278478", + "kind": "comment", + "actor": "aminya", + "createdAt": "2020-09-24T11:13:33Z", + "editedAt": "2020-09-24T11:14:58Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-698278478", + "summary": "A user asks whether postinstall is affected, since many packages rely on it.", + "actorId": 16418197, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:698318201", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2020-09-24T12:40:10Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-698318201", + "summary": "The maintainer says standard lifecycle scripts such as postinstall are unaffected.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:698318649", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2020-09-24T12:41:01Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-698318649", + "summary": "The maintainer adds that hooks on those hooks, like prepostinstall, will no longer run.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:process:cross-referenced:2021-03-27T11:33:33Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2021-03-27T11:33:33Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "The maintainer links the pull request that stops running pre/post scripts automatically.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:process:closed:2021-03-27T12:58:39Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2021-03-27T12:58:39Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "The maintainer closes the issue as the change lands for v6.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:808751971", + "kind": "comment", + "actor": "Djaler", + "createdAt": "2021-03-27T15:47:06Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-808751971", + "summary": "A user asks if the behaviour can be turned back on.", + "actorId": 7964583, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:808757507", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-03-27T16:24:24Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-808757507", + "summary": "The maintainer sees little value in it and suggests calling the pre script explicitly inside the main script, since scripts are rarely edited.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:808759308", + "kind": "comment", + "actor": "Djaler", + "createdAt": "2021-03-27T16:37:54Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-808759308", + "summary": "The user accepts that.", + "actorId": 7964583, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:813969037", + "kind": "comment", + "actor": "TigersWay", + "createdAt": "2021-04-06T09:20:10Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-813969037", + "summary": "A user disagrees, saying most of their scripts rely on pre/post hooks for environment setup and cleanup, and that Yarn's choices are irrelevant to them.", + "actorId": 114064, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:814013173", + "kind": "comment", + "actor": "Heartnett", + "createdAt": "2021-04-06T10:31:32Z", + "editedAt": "2021-04-06T10:32:31Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-814013173", + "summary": "A user agrees and says they do not want pnpm to become a Yarn clone.", + "actorId": 11403655, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:814296701", + "kind": "comment", + "actor": "cdaringe", + "createdAt": "2021-04-06T17:25:15Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-814296701", + "summary": "A user suggests npm-run-all's sequential runner as an explicit replacement.", + "actorId": 1003261, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:814633523", + "kind": "comment", + "actor": "Heartnett", + "createdAt": "2021-04-07T06:15:08Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-814633523", + "summary": "A user asks whether npm-run-all works with pnpm.", + "actorId": 11403655, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:814644583", + "kind": "comment", + "actor": "TigersWay", + "createdAt": "2021-04-07T06:36:32Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-814644583", + "summary": "A user confirms it does but says hooks allowed multi-step scripts that npm-run-all does not replace.", + "actorId": 114064, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:816496207", + "kind": "comment", + "actor": "davidenke", + "createdAt": "2021-04-09T07:59:54Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-816496207", + "summary": "A user calls the change a mess because it diverges from npm, and asks for a flag to restore it.", + "actorId": 275960, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817387883", + "kind": "comment", + "actor": "jmcdo29", + "createdAt": "2021-04-11T23:00:52Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817387883", + "summary": "A user who uses prebuild for cleaning TypeScript output offers to help add a config option to bring hooks back.", + "actorId": 28268680, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817418397", + "kind": "comment", + "actor": "cdaringe", + "createdAt": "2021-04-12T01:21:22Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817418397", + "summary": "A user objects to the tone of the complaint and demonstrates an npm-run-all setup as an alternative.", + "actorId": 1003261, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817418981", + "kind": "comment", + "actor": "jmcdo29", + "createdAt": "2021-04-12T01:23:37Z", + "editedAt": "2021-04-12T01:34:33Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817418981", + "summary": "The TypeScript user says it works but they would rather not add another dependency.", + "actorId": 28268680, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817421035", + "kind": "comment", + "actor": "jmcdo29", + "createdAt": "2021-04-12T01:31:31Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817421035", + "summary": "The same user asks for the difference to be documented on the run page, since npm v7 still runs these hooks.", + "actorId": 28268680, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817424050", + "kind": "comment", + "actor": "TigersWay", + "createdAt": "2021-04-12T01:42:56Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817424050", + "summary": "A user defends the criticism and says npm-run-all is unmaintained and buggy.", + "actorId": 114064, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817429553", + "kind": "comment", + "actor": "cdaringe", + "createdAt": "2021-04-12T02:03:30Z", + "editedAt": "2021-04-12T02:04:09Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817429553", + "summary": "A user argues complaints should become proposals and lists questions about npm parity and the value of hooks.", + "actorId": 1003261, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817433042", + "kind": "comment", + "actor": "TigersWay", + "createdAt": "2021-04-12T02:15:57Z", + "editedAt": "2021-04-12T02:16:17Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817433042", + "summary": "A user rejects that framing and leaves the thread.", + "actorId": 114064, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817434120", + "kind": "comment", + "actor": "jmcdo29", + "createdAt": "2021-04-12T02:19:52Z", + "editedAt": "2021-04-12T02:59:28Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817434120", + "summary": "The TypeScript user says the complaint was reasonable, notes pnpm's name implies npm parity, and suggests explicit `pre:` and `post:` prefixes to avoid accidental matches; CI broke for them without warning.", + "actorId": 28268680, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817614993", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-04-12T08:43:59Z", + "editedAt": "2021-04-12T08:44:23Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817614993", + "summary": "The maintainer says the change must be documented prominently, that it fits pnpm's strict and explicit philosophy, and that they prefer recommending a separate script runner over bundling one.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817955288", + "kind": "comment", + "actor": "jmcdo29", + "createdAt": "2021-04-12T16:34:41Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817955288", + "summary": "The TypeScript user offers to write the docs and asks if npm-run-all is the recommended route.", + "actorId": 28268680, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:817970773", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-04-12T16:57:02Z", + "editedAt": "2021-04-12T16:58:39Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-817970773", + "summary": "The maintainer says re-enabling depends on community feedback and recommends explicit chaining for simple cases and a dedicated tool for complex ones.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:818387586", + "kind": "comment", + "actor": "shellscape", + "createdAt": "2021-04-13T02:35:53Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-818387586", + "summary": "A contributor reports that several large monorepos depend on pre/post scripts in CI and urgently need an opt-in to the old behaviour.", + "actorId": 76371, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:process:cross-referenced:2021-04-14T00:23:04Z", + "kind": "process", + "actor": "zkochan", + "createdAt": "2021-04-14T00:23:04Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "The maintainer links a pull request adding an `enable-pre-post-scripts` setting.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:819133853", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-04-14T00:23:12Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-819133853", + "summary": "The maintainer posts that pull request.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:820746198", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-04-15T21:36:01Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-820746198", + "summary": "The maintainer announces v6.1.0 ships `enable-pre-post-scripts` and documents it.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:824902996", + "kind": "comment", + "actor": "beenotung", + "createdAt": "2021-04-22T14:41:52Z", + "editedAt": "2021-04-22T15:42:39Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-824902996", + "summary": "A user notes you can install with pnpm but run scripts with npm, and shares their npm-run-all setup.", + "actorId": 6007292, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:825033564", + "kind": "comment", + "actor": "shellscape", + "createdAt": "2021-04-22T17:09:43Z", + "editedAt": "2021-04-22T17:09:50Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-825033564", + "summary": "The monorepo contributor says the new option settles it and thanks the maintainer.", + "actorId": 76371, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:867294954", + "kind": "comment", + "actor": "mwittmann", + "createdAt": "2021-06-24T02:54:52Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-867294954", + "summary": "A user welcomes the setting and argues npm compatibility drives pnpm adoption, suggesting the pnpm-vs-npm page mention the difference.", + "actorId": 5827956, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:867302145", + "kind": "comment", + "actor": "beenotung", + "createdAt": "2021-06-24T03:15:03Z", + "editedAt": "2021-06-24T03:22:12Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-867302145", + "summary": "A user also prefers npm-identical behaviour and shares wrapper scripts they use to substitute pnpm for npm and yarn.", + "actorId": 6007292, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:868332071", + "kind": "comment", + "actor": "Camo30", + "createdAt": "2021-06-25T08:48:55Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-868332071", + "summary": "A user asks how to set the option.", + "actorId": 33700436, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:868343418", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-06-25T09:00:18Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-868343418", + "summary": "The maintainer says settings go in `.npmrc`.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:868885776", + "kind": "comment", + "actor": "mwittmann", + "createdAt": "2021-06-25T23:42:09Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-868885776", + "summary": "A user adds that `pnpm config set` also works.", + "actorId": 5827956, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:873172820", + "kind": "comment", + "actor": "beenotung", + "createdAt": "2021-07-02T18:09:30Z", + "editedAt": "2021-07-02T18:10:10Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-873172820", + "summary": "A user says they are migrating projects to npm-run-all so scripts work regardless of the setting.", + "actorId": 6007292, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900231813", + "kind": "comment", + "actor": "stalniy", + "createdAt": "2021-08-17T11:55:23Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900231813", + "summary": "A user argues the hooks worked for years, that chaining hurts readability, and that the option should default to true.", + "actorId": 1159966, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900235975", + "kind": "comment", + "actor": "gluons", + "createdAt": "2021-08-17T12:01:33Z", + "editedAt": "2021-08-17T12:12:16Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900235975", + "summary": "A user points to the `.npmrc` setting while agreeing the breaking change forces per-project config.", + "actorId": 4688092, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900435172", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-08-17T16:13:36Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900435172", + "summary": "The maintainer points back to the rationale quoted in the issue.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900443366", + "kind": "comment", + "actor": "stalniy", + "createdAt": "2021-08-17T16:24:36Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900443366", + "summary": "The user questions what harm preserve-before-serve does and why standard hooks remain implicit when custom ones do not.", + "actorId": 1159966, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900451310", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2021-08-17T16:35:46Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900451310", + "summary": "The maintainer answers that preserve is a real English word and that standard lifecycle events are explicit events, with the same rules applying to them.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:900498504", + "kind": "comment", + "actor": "stalniy", + "createdAt": "2021-08-17T17:35:48Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-900498504", + "summary": "The user proposes a delimited prefix such as `pre:serve`, arguing removal saves little code but forces many projects to rewrite scripts.", + "actorId": 1159966, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1153193818", + "kind": "comment", + "actor": "CEbbinghaus", + "createdAt": "2022-06-12T14:48:10Z", + "editedAt": "2023-03-18T00:56:11Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1153193818", + "summary": "A user supports dropping implicit hooks but calls the config flag a poor fix, backing an explicit `pre:` and `post:` namespace instead.", + "actorId": 31423391, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1153194513", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2022-06-12T14:50:36Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1153194513", + "summary": "The maintainer says adding `pre:` and `post:` sounds fine.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1153194910", + "kind": "comment", + "actor": "shellscape", + "createdAt": "2022-06-12T14:52:11Z", + "editedAt": "2022-06-12T15:05:25Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1153194910", + "summary": "The monorepo contributor warns that would break anyone already using those prefixes, so it should be opt-in.", + "actorId": 76371, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1153196046", + "kind": "comment", + "actor": "CEbbinghaus", + "createdAt": "2022-06-12T14:56:04Z", + "editedAt": "2022-07-20T12:31:42Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1153196046", + "summary": "The user argues the impact would be far smaller than the original removal and floats a `:pre` suffix as another option.", + "actorId": 31423391, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1470888429", + "kind": "comment", + "actor": "stabai", + "createdAt": "2023-03-15T21:46:44Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1470888429", + "summary": "A user asks the docs to list exactly which standard lifecycle scripts still run.", + "actorId": 6535862, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1478609198", + "kind": "comment", + "actor": "slavafomin", + "createdAt": "2023-03-21T21:30:44Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1478609198", + "summary": "A user reports being badly surprised after migrating from npm.", + "actorId": 1702725, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1489761093", + "kind": "comment", + "actor": "beenotung", + "createdAt": "2023-03-30T06:23:42Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1489761093", + "summary": "A user repeats that npm can still run the scripts.", + "actorId": 6007292, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1716861266", + "kind": "comment", + "actor": "maczyt", + "createdAt": "2023-09-13T02:46:29Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1716861266", + "summary": "A user confirms the `.npmrc` setting works.", + "actorId": 12051958, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:process:cross-referenced:2024-01-07T15:25:27Z", + "kind": "process", + "actor": "basememara", + "createdAt": "2024-01-07T15:25:27Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "A user links a docs pull request noting pre/post scripts are not supported.", + "actorId": 892152, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1880089582", + "kind": "comment", + "actor": "basememara", + "createdAt": "2024-01-07T15:26:23Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1880089582", + "summary": "The same user says they were surprised too and added a docs note because migrations could break.", + "actorId": 892152, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1880265717", + "kind": "comment", + "actor": "beenotung", + "createdAt": "2024-01-08T01:13:33Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1880265717", + "summary": "A user suggests flipping the default so the setting disables hooks instead of enabling them.", + "actorId": 6007292, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1880266339", + "kind": "comment", + "actor": "shellscape", + "createdAt": "2024-01-08T01:14:54Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1880266339", + "summary": "The monorepo contributor agrees, saying every repo of theirs turns hooks back on.", + "actorId": 76371, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1935076110", + "kind": "comment", + "actor": "tombohub", + "createdAt": "2024-02-08T23:10:39Z", + "editedAt": "2024-02-08T23:12:09Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1935076110", + "summary": "A user posts AI-generated text about mental models to argue the default is disorienting.", + "actorId": 3029412, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:comment:1937113460", + "kind": "comment", + "actor": "zkochan", + "createdAt": "2024-02-10T20:27:44Z", + "url": "https://github.com/pnpm/pnpm/issues/2891#issuecomment-1937113460", + "summary": "The maintainer announces the change will be reverted in v9 and links the pull request.", + "actorId": 1927579, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + }, + { + "id": "pnpm-2891:process:locked:2024-02-10T20:27:58Z", + "kind": "process", + "actor": "pnpm", + "createdAt": "2024-02-10T20:27:58Z", + "url": "https://github.com/pnpm/pnpm/issues/2891", + "summary": "The thread is locked.", + "actorId": 21320719, + "actorType": "human", + "parentId": "pnpm-2891:issue:2891" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/prettier-final-newline-option.json b/evals/datasets/decisions-v1/cases/prettier-final-newline-option.json new file mode 100644 index 000000000..f22d364b3 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/prettier-final-newline-option.json @@ -0,0 +1,968 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "prettier-final-newline-option", + "title": "Whether Prettier should allow disabling the final newline", + "source": { + "url": "https://github.com/prettier/prettier/issues/6360", + "retrievedAt": "2026-10-18T07:29:04.610813+00:00", + "repository": "prettier/prettier", + "number": 6360 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2019-08-07T12:00:00Z" + }, + { + "id": "c2", + "at": "2019-08-10T00:00:00Z" + }, + { + "id": "c3", + "at": "2019-08-12T11:00:00Z" + }, + { + "id": "c4", + "at": "2024-11-05T00:00:00Z" + } + ], + "events": [ + { + "id": "prettier-6360:issue:6360", + "kind": "opening", + "actor": "ziaurrehmanrehmani", + "createdAt": "2019-08-07T01:53:19Z", + "url": "https://github.com/prettier/prettier/issues/6360", + "summary": "The opener asks, with an unfilled issue template, for a way to stop Prettier adding a newline at the end of files.", + "actorId": 25713873, + "actorType": "human" + }, + { + "id": "prettier-6360:comment:518994475", + "kind": "comment", + "actor": "lydell", + "createdAt": "2019-08-07T08:21:05Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-518994475", + "summary": "A maintainer says the final newline is by design and asks why the opener would not want it.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:519669612", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2019-08-08T20:11:04Z", + "editedAt": "2019-08-08T20:13:39Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-519669612", + "summary": "A maintainer asks whether Prettier honours the editorconfig `insert_final_newline` setting, then notes after checking that it does not.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:519863253", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2019-08-09T10:08:15Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-519863253", + "summary": "A maintainer asks the core team whether Prettier should respect `insert_final_newline` from editorconfig.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:519872348", + "kind": "comment", + "actor": "lipis", + "createdAt": "2019-08-09T10:41:25Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-519872348", + "summary": "A maintainer answers no.", + "actorId": 125676, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:520368783", + "kind": "comment", + "actor": "lipis", + "createdAt": "2019-08-12T10:14:57Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-520368783", + "summary": "The same maintainer explains that Prettier is opinionated and has no setting for this, so it will not honour editorconfig here.", + "actorId": 125676, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:process:closed:2019-08-12T10:14:57Z", + "kind": "process", + "actor": "lipis", + "createdAt": "2019-08-12T10:14:57Z", + "url": "https://github.com/prettier/prettier/issues/6360", + "summary": "The maintainer closes the issue.", + "actorId": 125676, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:607902380", + "kind": "comment", + "actor": "typeofweb", + "createdAt": "2020-04-02T15:05:27Z", + "editedAt": "2020-04-02T16:05:04Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-607902380", + "summary": "A user formatting code blocks embedded in HTML via the API says the added newline is a problem for them.", + "actorId": 1338731, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:607908580", + "kind": "comment", + "actor": "lydell", + "createdAt": "2020-04-02T15:15:51Z", + "editedAt": "2020-04-02T16:05:07Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-607908580", + "summary": "A maintainer suggests stripping the final newline programmatically.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:607927578", + "kind": "comment", + "actor": "typeofweb", + "createdAt": "2020-04-02T15:47:30Z", + "editedAt": "2020-04-02T16:05:11Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-607927578", + "summary": "The user says that works but is inconvenient.", + "actorId": 1338731, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:644180263", + "kind": "comment", + "actor": "netlander", + "createdAt": "2020-06-15T14:46:43Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-644180263", + "summary": "A user asks for any workaround to stop the final newline.", + "actorId": 4721044, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:646000038", + "kind": "comment", + "actor": "d9k", + "createdAt": "2020-06-18T12:57:37Z", + "editedAt": "2020-06-18T12:58:06Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-646000038", + "summary": "A user points to a regex replacement on Prettier's output from another issue.", + "actorId": 7331988, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:653780380", + "kind": "comment", + "actor": "augusticor", + "createdAt": "2020-07-04T15:37:30Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-653780380", + "summary": "A user asks where that snippet goes.", + "actorId": 38216482, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:658140469", + "kind": "comment", + "actor": "InsOpDe", + "createdAt": "2020-07-14T12:02:28Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-658140469", + "summary": "A user shares a shell pipeline that truncates the last byte of each formatted file.", + "actorId": 10099328, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:658160027", + "kind": "comment", + "actor": "anteroortiz", + "createdAt": "2020-07-14T12:49:17Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-658160027", + "summary": "A user explains that Salesforce strips the final newline on upload, so Prettier and Salesforce keep producing diffs against each other.", + "actorId": 8978301, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:658161941", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2020-07-14T12:53:39Z", + "editedAt": "2020-07-14T12:54:04Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-658161941", + "summary": "A maintainer says the user should report Salesforce's newline removal as a bug.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:684016893", + "kind": "comment", + "actor": "guilhermekodenvis", + "createdAt": "2020-08-31T20:22:02Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-684016893", + "summary": "A user protests that the issue is closed without an option.", + "actorId": 34652650, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:684757425", + "kind": "comment", + "actor": "netlander", + "createdAt": "2020-09-01T10:38:23Z", + "editedAt": "2020-09-01T18:54:57Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-684757425", + "summary": "A comment GitHub marks as hidden (abusive).", + "actorId": 4721044, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:684819130", + "kind": "comment", + "actor": "LaurensVanAcker", + "createdAt": "2020-09-01T12:33:36Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-684819130", + "summary": "A user asks what the benefit of the final newline is.", + "actorId": 4385000, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:685133321", + "kind": "comment", + "actor": "lydell", + "createdAt": "2020-09-01T21:08:32Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-685133321", + "summary": "A maintainer suggests searching the topic and calls it essentially bikeshedding.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:686620417", + "kind": "comment", + "actor": "ntotten", + "createdAt": "2020-09-03T16:50:46Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-686620417", + "summary": "A contributor suggests a Salesforce CLI hook that runs Prettier after retrieving files.", + "actorId": 282782, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:687246702", + "kind": "comment", + "actor": "yuhr", + "createdAt": "2020-09-04T16:15:52Z", + "editedAt": "2020-09-04T16:16:17Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-687246702", + "summary": "A user says they publish a fork of Prettier that always removes the final newline.", + "actorId": 18474125, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:700070748", + "kind": "comment", + "actor": "awarberg", + "createdAt": "2020-09-28T15:12:45Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-700070748", + "summary": "A user confirms Salesforce rewrites uploaded files in many ways and says an option would avoid conflicts.", + "actorId": 7944743, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:724253064", + "kind": "comment", + "actor": "shliachtx", + "createdAt": "2020-11-09T20:15:07Z", + "editedAt": "2020-11-09T20:15:29Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-724253064", + "summary": "A user notes the Apex plugin offers an `apexInsertFinalNewline` option.", + "actorId": 1147226, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:724748753", + "kind": "comment", + "actor": "anteroortiz", + "createdAt": "2020-11-10T14:47:28Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-724748753", + "summary": "The Salesforce user confirms the Apex plugin option works.", + "actorId": 8978301, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:743787747", + "kind": "comment", + "actor": "esr360", + "createdAt": "2020-12-12T17:28:08Z", + "editedAt": "2020-12-12T17:37:25Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-743787747", + "summary": "A user argues the 'opinionated' stance is inconsistent with existing options such as `singleQuote` and `trailingComma`.", + "actorId": 3431882, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:778995613", + "kind": "comment", + "actor": "cherryblossom000", + "createdAt": "2021-02-15T06:57:08Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-778995613", + "summary": "A user explains that linting code blocks in Markdown and JSDoc examples via ESLint plugins flags a missing final newline on each snippet.", + "actorId": 31467609, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:779044155", + "kind": "comment", + "actor": "lydell", + "createdAt": "2021-02-15T08:22:03Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-779044155", + "summary": "A maintainer says that sounds like a bug in the JSDoc plugin.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:779075064", + "kind": "comment", + "actor": "cherryblossom000", + "createdAt": "2021-02-15T09:08:27Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-779075064", + "summary": "The user says plugins could filter it, but an option would be simpler.", + "actorId": 31467609, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:779111581", + "kind": "comment", + "actor": "lydell", + "createdAt": "2021-02-15T10:07:06Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-779111581", + "summary": "The maintainer replies the simplest fix is for the plugins to behave correctly.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:793188285", + "kind": "comment", + "actor": "HiggsWRX", + "createdAt": "2021-03-09T00:05:02Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-793188285", + "summary": "A user criticises a maintainer's tone and asks for an opt-out with the newline kept as default.", + "actorId": 9259595, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:812626869", + "kind": "comment", + "actor": "Dazaer", + "createdAt": "2021-04-02T17:21:31Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-812626869", + "summary": "A user asks why semicolons and trailing commas are configurable but this is not.", + "actorId": 52960559, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:812629938", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2021-04-02T17:28:31Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-812629938", + "summary": "A maintainer says ideally Prettier would have no options at all.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:812824330", + "kind": "comment", + "actor": "lydell", + "createdAt": "2021-04-03T07:01:38Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-812824330", + "summary": "A maintainer links the option philosophy page.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:813539466", + "kind": "comment", + "actor": "ApplePieGiraffe", + "createdAt": "2021-04-05T17:59:41Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-813539466", + "summary": "A user notes the philosophy page does not explain the semicolon option.", + "actorId": 51190715, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:813588379", + "kind": "comment", + "actor": "lydell", + "createdAt": "2021-04-05T19:17:34Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-813588379", + "summary": "The maintainer says options like that are regretted historical artefacts that should not justify new ones.", + "actorId": 2142817, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:818679131", + "kind": "comment", + "actor": "PalGenadich", + "createdAt": "2021-04-13T11:59:49Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-818679131", + "summary": "A user shares a VS Code extension that removes final newlines after Prettier runs.", + "actorId": 1927405, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:969101633", + "kind": "comment", + "actor": "benzvan", + "createdAt": "2021-11-15T16:47:05Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-969101633", + "summary": "A user questions why adding a newline is safe while removing one is unsafe.", + "actorId": 7143239, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:986029492", + "kind": "comment", + "actor": "tjx666", + "createdAt": "2021-12-04T13:43:49Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-986029492", + "summary": "A user asks how to disable it only for JSON.", + "actorId": 41773861, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:986106136", + "kind": "comment", + "actor": "Yash-Singh1", + "createdAt": "2021-12-04T23:03:25Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-986106136", + "summary": "A user describes the same snippet conflict with Markdown code blocks under ESLint.", + "actorId": 53054099, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:997314308", + "kind": "comment", + "actor": "xuld", + "createdAt": "2021-12-19T01:48:59Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-997314308", + "summary": "A user publishes a `prettier-no-newline` package that only adds a newline if the input had one.", + "actorId": 963999, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:999192730", + "kind": "comment", + "actor": "kachkaev", + "createdAt": "2021-12-22T00:42:21Z", + "editedAt": "2023-04-26T11:02:45Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-999192730", + "summary": "A maintainer explains with diff examples that final newlines keep git diffs clean and advises configuring tools that strip them.", + "actorId": 608862, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:999393963", + "kind": "comment", + "actor": "yuhr", + "createdAt": "2021-12-22T08:45:55Z", + "editedAt": "2021-12-22T08:59:52Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-999393963", + "summary": "The fork author suggests a package alias and argues git should solve the diff problem and that people perceive the newline as an empty line.", + "actorId": 18474125, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1186105182", + "kind": "comment", + "actor": "wangrongding", + "createdAt": "2022-07-16T07:09:19Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1186105182", + "summary": "A user says they are waiting for a better solution.", + "actorId": 42437658, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1232847450", + "kind": "comment", + "actor": "Rub4l1to", + "createdAt": "2022-08-31T12:04:58Z", + "editedAt": "2022-08-31T12:05:49Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1232847450", + "summary": "A user confirms the shell pipeline workaround works.", + "actorId": 48188704, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1312514779", + "kind": "comment", + "actor": "wangrongding", + "createdAt": "2022-11-12T15:57:13Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1312514779", + "summary": "A user asks whether a Prettier plugin could fix this.", + "actorId": 42437658, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1377499740", + "kind": "comment", + "actor": "PatrykKuniczak", + "createdAt": "2023-01-10T16:08:03Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1377499740", + "summary": "A user complains the option still does not exist.", + "actorId": 64608510, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1385497170", + "kind": "comment", + "actor": "cemahseri", + "createdAt": "2023-01-17T14:17:59Z", + "editedAt": "2023-04-20T18:35:12Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1385497170", + "summary": "A comment GitHub marks as hidden (abusive).", + "actorId": 20908430, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1400562392", + "kind": "comment", + "actor": "JacobWeisenburger", + "createdAt": "2023-01-23T15:42:56Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1400562392", + "summary": "A user confirms the VS Code extension workaround.", + "actorId": 31667350, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1403889415", + "kind": "comment", + "actor": "PatrykKuniczak", + "createdAt": "2023-01-25T16:30:03Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1403889415", + "summary": "A user asks a maintainer whether making it optional is really a big deal.", + "actorId": 64608510, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1522913740", + "kind": "comment", + "actor": "xmaxcooking", + "createdAt": "2023-04-26T07:23:19Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1522913740", + "summary": "A user says the final newline breaks Copilot suggestions on the last line when autosaving.", + "actorId": 36244504, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1522917881", + "kind": "comment", + "actor": "cemahseri", + "createdAt": "2023-04-26T07:27:05Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1522917881", + "summary": "A user says the removal extension fixes that but breaks undo.", + "actorId": 20908430, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1548957494", + "kind": "comment", + "actor": "zsubzwary", + "createdAt": "2023-05-16T04:13:03Z", + "editedAt": "2023-05-16T04:15:01Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1548957494", + "summary": "A user explains the version-control and tooling benefits of a final newline.", + "actorId": 31027252, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1548994726", + "kind": "comment", + "actor": "yuhr", + "createdAt": "2023-05-16T05:03:49Z", + "editedAt": "2023-05-16T05:04:54Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1548994726", + "summary": "The fork author replies that tools assuming a newline are buggy.", + "actorId": 18474125, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1650041436", + "kind": "comment", + "actor": "marcoshevaristo", + "createdAt": "2023-07-25T15:17:24Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1650041436", + "summary": "A user asks why the behaviour is mandatory rather than optional.", + "actorId": 15932243, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1737548442", + "kind": "comment", + "actor": "danijelh", + "createdAt": "2023-09-27T14:44:45Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1737548442", + "summary": "A user expresses surprise it is still unresolved.", + "actorId": 7878347, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1739768366", + "kind": "comment", + "actor": "jingidy", + "createdAt": "2023-09-28T17:50:20Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1739768366", + "summary": "A user notes Amazon SES rejects JSON templates with a trailing newline and uses .prettierignore as a workaround.", + "actorId": 1797011, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1819316286", + "kind": "comment", + "actor": "PogromistDev", + "createdAt": "2023-11-20T15:45:02Z", + "editedAt": "2024-01-05T11:42:37Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1819316286", + "summary": "A user adds support for removing the newline.", + "actorId": 12221569, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1878533471", + "kind": "comment", + "actor": "domaine-matt-morrow", + "createdAt": "2024-01-05T11:39:02Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1878533471", + "summary": "A user says Shopify Liquid snippets now render the trailing newline as markup, breaking JSON built from them in production.", + "actorId": 139561415, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1879067555", + "kind": "comment", + "actor": "benzvan", + "createdAt": "2024-01-05T18:04:46Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1879067555", + "summary": "A user replies that Shopify is at fault.", + "actorId": 7143239, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1879375605", + "kind": "comment", + "actor": "Richardinho", + "createdAt": "2024-01-05T23:24:45Z", + "editedAt": "2024-01-05T23:27:39Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1879375605", + "summary": "A user reports the opposite problem: Prettier removing final newlines in their setup.", + "actorId": 3661376, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1880581127", + "kind": "comment", + "actor": "domaine-matt-morrow", + "createdAt": "2024-01-08T08:44:29Z", + "editedAt": "2024-01-08T08:56:12Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1880581127", + "summary": "The Liquid user clarifies their HTML attribute case and that removing the newline would be the quickest fix.", + "actorId": 139561415, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1880586200", + "kind": "comment", + "actor": "domaine-matt-morrow", + "createdAt": "2024-01-08T08:48:35Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1880586200", + "summary": "The Liquid user asks whether newer versions changed behaviour.", + "actorId": 139561415, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:1880875748", + "kind": "comment", + "actor": "Alfystar", + "createdAt": "2024-01-08T12:06:14Z", + "editedAt": "2024-01-08T12:06:36Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-1880875748", + "summary": "A user asks the reporter for their settings and file type.", + "actorId": 32840211, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2096854725", + "kind": "comment", + "actor": "jazanne", + "createdAt": "2024-05-06T20:31:19Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2096854725", + "summary": "A user expresses frustration that it cannot be disabled.", + "actorId": 4053924, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2194587753", + "kind": "comment", + "actor": "cgallonJurisoft", + "createdAt": "2024-06-27T12:46:42Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2194587753", + "summary": "A user explains how to run the shell workaround on Windows.", + "actorId": 65596346, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2353248712", + "kind": "comment", + "actor": "forjut", + "createdAt": "2024-09-16T15:30:52Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2353248712", + "summary": "A user asks for updates.", + "actorId": 70323100, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2353529546", + "kind": "comment", + "actor": "vagman", + "createdAt": "2024-09-16T17:41:07Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2353529546", + "summary": "A user says the lack of updates is a reason to uninstall.", + "actorId": 32623686, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2442985708", + "kind": "comment", + "actor": "20240816", + "createdAt": "2024-10-29T01:35:38Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2442985708", + "summary": "A user calls the feature overdue.", + "actorId": 178564111, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2455679309", + "kind": "comment", + "actor": "josephdpurcell", + "createdAt": "2024-11-04T20:52:43Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2455679309", + "summary": "A user asks the team to explain the design rationale and whether compatibility cases (Salesforce, Copilot, snippets, SES) count as the technical necessity the option philosophy allows.", + "actorId": 778111, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2456099953", + "kind": "comment", + "actor": "cabaucom376", + "createdAt": "2024-11-05T02:32:26Z", + "editedAt": "2024-11-05T02:34:11Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2456099953", + "summary": "A user suspects the final newline in Markdown data files confuses Astro's collection typing.", + "actorId": 104145051, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2459468183", + "kind": "comment", + "actor": "josephdpurcell", + "createdAt": "2024-11-06T11:13:33Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2459468183", + "summary": "The same user links a working Salesforce recipe in a discussion.", + "actorId": 778111, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2628791331", + "kind": "comment", + "actor": "nkavian", + "createdAt": "2025-02-01T05:44:52Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2628791331", + "summary": "A user says they turned off Prettier in their ESLint setup.", + "actorId": 1127421, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2675915623", + "kind": "comment", + "actor": "brandon-fryslie", + "createdAt": "2025-02-22T01:24:54Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2675915623", + "summary": "A user defends the behaviour with links on why text files end in newlines, and suggests Prettier should only format JavaScript.", + "actorId": 530235, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2677833114", + "kind": "comment", + "actor": "Alfystar", + "createdAt": "2025-02-24T09:22:36Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2677833114", + "summary": "A user agrees in principle but describes Salesforce pipelines that keep producing spurious diffs.", + "actorId": 32840211, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2677951327", + "kind": "comment", + "actor": "rebane2001", + "createdAt": "2025-02-24T10:09:45Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2677951327", + "summary": "A user corrects a claim about JSON and argues formatting embedded snippets is a distinct running mode rather than a style option.", + "actorId": 6316541, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2678108173", + "kind": "comment", + "actor": "brandon-fryslie", + "createdAt": "2025-02-24T11:14:25Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2678108173", + "summary": "The earlier user agrees and suggests an `--inline` or `--embedded` mode, proposed in a fresh issue framed as functionality rather than taste.", + "actorId": 530235, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2679396978", + "kind": "comment", + "actor": "nkavian", + "createdAt": "2025-02-24T19:03:56Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2679396978", + "summary": "A user says the project is openly opinionated and people should find other solutions.", + "actorId": 1127421, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2679417235", + "kind": "comment", + "actor": "anteroortiz", + "createdAt": "2025-02-24T19:13:41Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2679417235", + "summary": "A Salesforce user re-shares the Apex plugin option.", + "actorId": 8978301, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:2681995872", + "kind": "comment", + "actor": "Alfystar", + "createdAt": "2025-02-25T13:32:19Z", + "editedAt": "2025-02-25T13:49:33Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-2681995872", + "summary": "A user argues the Salesforce source format meets the compatibility exception in the option philosophy and asks for a default-off flag.", + "actorId": 32840211, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:3380097220", + "kind": "comment", + "actor": "stephenlf", + "createdAt": "2025-10-08T07:22:34Z", + "editedAt": "2025-10-08T07:23:58Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-3380097220", + "summary": "A user documents two Salesforce workarounds: formatting retrieved files, or stripping newlines after Prettier.", + "actorId": 126091903, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:3756586092", + "kind": "comment", + "actor": "keyvanm", + "createdAt": "2026-01-15T19:48:30Z", + "editedAt": "2026-01-15T19:57:09Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-3756586092", + "summary": "A user says they will stop using Prettier because editorconfig should take precedence.", + "actorId": 2993698, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + }, + { + "id": "prettier-6360:comment:4672033728", + "kind": "comment", + "actor": "deckblad", + "createdAt": "2026-06-10T16:01:43Z", + "url": "https://github.com/prettier/prettier/issues/6360#issuecomment-4672033728", + "summary": "A user says they still need the option.", + "actorId": 4379218, + "actorType": "human", + "parentId": "prettier-6360:issue:6360" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/prettier-generator-star-revert.json b/evals/datasets/decisions-v1/cases/prettier-generator-star-revert.json new file mode 100644 index 000000000..00cefa8d1 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/prettier-generator-star-revert.json @@ -0,0 +1,887 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "prettier-generator-star-revert", + "title": "Reverting generator star spacing", + "source": { + "url": "https://github.com/prettier/prettier/issues/7512", + "retrievedAt": "2026-10-18T07:35:29.051289+00:00", + "repository": "prettier/prettier", + "number": 7512 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-02-01T16:00:00Z" + }, + { + "id": "c2", + "at": "2020-02-02T19:00:00Z" + }, + { + "id": "c3", + "at": "2020-02-10T00:00:00Z" + }, + { + "id": "c4", + "at": "2020-02-14T11:00:00Z" + } + ], + "events": [ + { + "id": "prettier-7512:issue:7512", + "kind": "opening", + "actor": "glen-84", + "createdAt": "2020-02-01T15:30:18Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "A user objects that generator star spacing was changed on the strength of an issue with two upvotes, and asks for a revert until wider consensus is reached, preferring not to debate the style itself here.", + "actorId": 261509, + "actorType": "human" + }, + { + "id": "prettier-7512:process:cross-referenced:2020-02-01T15:32:29Z", + "kind": "process", + "actor": "j-f1", + "createdAt": "2020-02-01T15:32:29Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "A maintainer links the earlier PR that always adds a space after the function keyword.", + "actorId": 25517624, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581041998", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2020-02-01T15:46:02Z", + "editedAt": "2020-02-01T15:46:12Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581041998", + "summary": "A maintainer asks what is actually worse about the new output, says contributors agreed on it for readability and consistency, and notes there is no formal rule for such changes.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:process:labeled:2020-02-01T15:46:50Z", + "kind": "process", + "actor": "alexander-akait", + "createdAt": "2020-02-01T15:46:50Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "A maintainer labels the issue as needing discussion.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581047319", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-01T16:46:11Z", + "editedAt": "2020-02-01T16:48:20Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581047319", + "summary": "The opener says the community should get a say, contrasts a long-voted spacing issue, rebuts the consistency and bug-catching arguments, and cites MDN, Airbnb and search results favouring the star next to function.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581049053", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2020-02-01T17:05:30Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581049053", + "summary": "A maintainer dismisses style guides and tutorials as evidence, noting ESLint's default differs.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581049295", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2020-02-01T17:08:05Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581049295", + "summary": "A maintainer leaves the issue open for discussion but doubts the decision will change and asks people not to demand options.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581071415", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-01T21:32:22Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581071415", + "summary": "A collaborator is surprised, recalling earlier agreement on function* in a prior issue.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581077088", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-01T22:45:00Z", + "editedAt": "2020-02-01T22:55:05Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581077088", + "summary": "The author of the original proposal defends it: the star behaves like a prefix operator, the new form is consistent with methods, and a detached star makes delegating yields easier to spot.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581077147", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-01T22:45:51Z", + "editedAt": "2020-02-01T23:20:32Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581077147", + "summary": "A maintainer shows playground output where the old style mixes star positions across declarations, methods and yields.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581078115", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-01T22:58:22Z", + "editedAt": "2020-02-01T22:58:49Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581078115", + "summary": "The proposal author suggests that example for the changelog.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581081294", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-01T23:42:48Z", + "editedAt": "2020-02-02T00:35:45Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581081294", + "summary": "A maintainer notes yield-star has surprising precedence and suggests Prettier add parentheses around binary operands regardless.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581093473", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-02T03:11:32Z", + "editedAt": "2020-02-02T03:12:03Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581093473", + "summary": "The proposal author doubts binary operands occur in practice and dislikes Prettier changing parentheses.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581120700", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-02T10:17:24Z", + "editedAt": "2020-02-02T10:20:11Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581120700", + "summary": "A maintainer argues added parentheses would expose such mistakes and wishes the syntax were a spread form.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581148031", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-02T15:48:00Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581148031", + "summary": "The opener disputes the prefix-operator analogy and the highlighting claim, offers a left-aligned alternative for methods, and says the decision seems already made.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581160645", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-02T18:02:24Z", + "editedAt": "2020-02-03T00:07:32Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581160645", + "summary": "A collaborator opens a revert PR, citing earlier broad agreement on the old style and calling this the only case where Prettier diverges from a settled community style.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581160807", + "kind": "comment", + "actor": "phaux", + "createdAt": "2020-02-02T18:04:09Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581160807", + "summary": "A user proposes left-aligned stars for yield and right-aligned for declarations.", + "actorId": 1270987, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581184334", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-02T22:25:49Z", + "editedAt": "2020-02-02T23:44:40Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581184334", + "summary": "A maintainer argues the earlier upvotes were about a different space, generators are rarely used so no broad agreement exists, and defends the new form for yield and private methods.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581186064", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-02T22:45:15Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581186064", + "summary": "The proposal author agrees a spread-style yield would have been better.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581189613", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-02T23:25:42Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581189613", + "summary": "A maintainer jokes it could still be proposed to TC39.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581201856", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-03T01:21:16Z", + "editedAt": "2020-02-03T01:24:29Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581201856", + "summary": "A collaborator lists the spec, MDN, tutorials and many major projects as using function*, as evidence of ecosystem consensus.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581330887", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T09:58:34Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581330887", + "summary": "A maintainer argues upvoters were really backing the space after function, not the star position.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581398300", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T12:48:43Z", + "editedAt": "2020-02-03T13:00:12Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581398300", + "summary": "A maintainer argues that if function* is a distinct construct, spacing should emphasise the difference.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581539509", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-03T18:00:37Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581539509", + "summary": "A collaborator defends reading the upvotes as support and asks whether the ecosystem list shows broad agreement.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581556664", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T18:40:59Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581556664", + "summary": "A maintainer says any agreement on a rarely used feature cannot be broad, so the change is not massive.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581559148", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T18:47:08Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581559148", + "summary": "A maintainer reads the lack of interest in the original proposal as freedom for Prettier to choose.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581559633", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-03T18:48:25Z", + "editedAt": "2020-02-03T19:02:01Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581559633", + "summary": "The proposal author says the literature reflects habit, not reasoning, and asks critics to engage with the consistency and bug-catching arguments.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581561032", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T18:51:55Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581561032", + "summary": "A maintainer says they meant reaction counts and suggests a FAQ in the 2.0 post.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581564741", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T19:01:09Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581564741", + "summary": "A maintainer reminds that Prettier does not treat formatting changes as breaking.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581586242", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-03T19:47:58Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581586242", + "summary": "A collaborator argues silence on the tracker means people were content, shipping and waiting for complaints is bad practice, and as a spec maintainer they disagree with the change.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581596863", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-03T20:13:22Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581596863", + "summary": "A maintainer notes Standard JS puts spaces on both sides, and nobody complained about that.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581606683", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-03T20:37:12Z", + "editedAt": "2020-02-03T21:04:17Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581606683", + "summary": "The proposal author rejects calling function* a keyword and argues the yield star acts exactly like a prefix operator.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581617243", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-03T21:04:10Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581617243", + "summary": "A collaborator argues yield* is a distinct operation and the star belongs to it, and finds the attached form clearer.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581643410", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-03T22:10:38Z", + "editedAt": "2020-02-03T22:39:24Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581643410", + "summary": "The proposal author offers counter-examples to treating combinations as keywords and concedes the spread analogy is closest.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581648654", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-03T22:24:46Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581648654", + "summary": "A collaborator says this is intuition many share, citing other maintainers and style guides.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:581679262", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-04T00:04:36Z", + "editedAt": "2020-02-04T00:23:08Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-581679262", + "summary": "A maintainer notes several listed projects use Prettier, questions the vote evidence again, and says the change must be reverted if collaborators strongly object.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582107180", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-04T20:46:33Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582107180", + "summary": "The opener argues silence may mean contentment and proposes requiring hundreds of votes plus contributor agreement before such changes.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582154286", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-04T22:49:58Z", + "editedAt": "2020-02-04T22:59:48Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582154286", + "summary": "A maintainer explains yield* accepts any iterable and says only massive reformatting changes need that care.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582170166", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-04T23:41:46Z", + "editedAt": "2020-02-04T23:42:56Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582170166", + "summary": "The proposal author concedes the highlighting claim was wrong but keeps the visibility argument, and voices frustration with consensus-building.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582174247", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-04T23:56:20Z", + "editedAt": "2020-02-04T23:58:42Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582174247", + "summary": "A collaborator rebuts the return-negation analogy and says ecosystem convention matters at least as much.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582180136", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-05T00:16:39Z", + "editedAt": "2020-02-05T00:22:04Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582180136", + "summary": "The proposal author asks what principled distinction makes yield* special.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582181485", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-05T00:21:05Z", + "editedAt": "2020-02-05T00:22:37Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582181485", + "summary": "The proposal author argues the most visible form should win.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582184098", + "kind": "comment", + "actor": "bakkot", + "createdAt": "2020-02-05T00:30:56Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582184098", + "summary": "A collaborator explains yield* does something no plain yield can, says the most obvious form is what everyone defaults to, and steps away.", + "actorId": 1653598, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582192433", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-05T01:04:59Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582192433", + "summary": "A style guide maintainer says Airbnb has always attached the star to function because it marks the kind of function.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582196047", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-05T01:19:04Z", + "editedAt": "2020-02-05T17:15:56Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582196047", + "summary": "The proposal author challenges the distinction with the return-negation example.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582262938", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-05T06:35:02Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582262938", + "summary": "A maintainer asks how that applies to methods.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582316339", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-05T09:25:26Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582316339", + "summary": "The style guide maintainer says methods get a separated star, like async.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582353352", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-05T10:58:40Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582353352", + "summary": "A maintainer asks about async and static methods.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582359251", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-05T11:12:52Z", + "editedAt": "2020-02-05T11:26:04Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582359251", + "summary": "The opener asks for a list of non-bugfix changes and says they are done arguing.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582397457", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-05T13:04:26Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582397457", + "summary": "A maintainer answers on operator reuse, points to release blogs, and suggests asking visually impaired developers.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:process:renamed:2020-02-05T14:12:41Z", + "kind": "process", + "actor": "glen-84", + "createdAt": "2020-02-05T14:12:41Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "The opener fixes a typo in the title.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:582529229", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-05T17:49:01Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-582529229", + "summary": "The style guide maintainer shows a table where methods drop the function keyword but keep all other spacing, calling it consistent.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586199312", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-14T10:26:36Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586199312", + "summary": "A maintainer says the change proved more controversial than expected, will not ship it in the next release, proposes a fresh issue summarising arguments, and moves to revert.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586216496", + "kind": "comment", + "actor": "alexander-akait", + "createdAt": "2020-02-14T11:15:54Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586216496", + "summary": "Another maintainer supports a new issue and closing this one after the revert.", + "actorId": 4567934, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586270168", + "kind": "comment", + "actor": "phaux", + "createdAt": "2020-02-14T12:35:43Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586270168", + "summary": "A user asks whether reverting restores the old inconsistency, since the dispute was about direction, not need.", + "actorId": 1270987, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586281546", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-14T13:10:55Z", + "editedAt": "2020-02-14T13:12:42Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586281546", + "summary": "A maintainer says mostly yes, with anonymous generators keeping a space after the star, and further changes possible later.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586535294", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T00:58:05Z", + "editedAt": "2020-02-15T02:40:28Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586535294", + "summary": "The proposal author worries this is worse than before and floats spaces on both sides as a compromise.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586535528", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-15T00:59:32Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586535528", + "summary": "The style guide maintainer notes the star is never part of the function name.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586536629", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T01:06:33Z", + "editedAt": "2020-02-15T01:14:15Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586536629", + "summary": "The proposal author clarifies their point about sigils in identifiers.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586564692", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-15T07:42:59Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586564692", + "summary": "The opener clarifies the anonymous space falls after the star, and raises whether methods should get a space after it, offering to file an issue.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586585646", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T12:30:39Z", + "editedAt": "2020-02-15T13:39:57Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586585646", + "summary": "The proposal author argues spaces on both sides is the most visible option.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586590607", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-02-15T13:31:08Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586590607", + "summary": "A maintainer says the spacing need not wait for a major release.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586600373", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-15T15:22:40Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586600373", + "summary": "The style guide maintainer insists there should be no space between function and star.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586610095", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T15:42:25Z", + "editedAt": "2020-02-15T15:43:32Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586610095", + "summary": "The proposal author explains they meant visibility and challenges anyone to call spaces-after more visible than spaces-around.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586610241", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-15T15:44:09Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586610241", + "summary": "The opener restates the keyword-attached view and invites reopening the original proposal.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586614798", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-15T16:17:22Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586614798", + "summary": "The opener files a follow-up issue on method spacing, expecting little attention.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586618625", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T16:46:54Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586618625", + "summary": "The proposal author rejects appeals to authority and says their own view has evolved.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586624426", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-15T17:47:07Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586624426", + "summary": "The style guide maintainer explains their consistency is semantic and shows how methods elide function without changing other spacing.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586628408", + "kind": "comment", + "actor": "glen-84", + "createdAt": "2020-02-15T18:29:56Z", + "editedAt": "2020-02-15T18:33:50Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586628408", + "summary": "The opener says the issue was about process, proposes judging by votes over a year or two, and objects to a personal remark.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586629508", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T18:42:05Z", + "editedAt": "2020-02-15T19:02:50Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586629508", + "summary": "The proposal author apologises and clarifies their point about fallibility.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586629731", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-15T18:44:18Z", + "editedAt": "2020-02-15T19:06:56Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586629731", + "summary": "The proposal author argues the elided token could equally be function plus a space.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:586674899", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2020-02-16T06:42:58Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-586674899", + "summary": "The style guide maintainer accepts that counterpoint and says visibility matters little given highlighting.", + "actorId": 45469, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:comment:589482875", + "kind": "comment", + "actor": "brainkim", + "createdAt": "2020-02-21T03:36:59Z", + "url": "https://github.com/prettier/prettier/issues/7512#issuecomment-589482875", + "summary": "The proposal author reports trying spaces on both sides and disliking it, now preferring the star before the name.", + "actorId": 2996754, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:process:closed:2020-02-22T07:38:40Z", + "kind": "process", + "actor": "glen-84", + "createdAt": "2020-02-22T07:38:40Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "The opener closes the issue.", + "actorId": 261509, + "actorType": "human", + "parentId": "prettier-7512:issue:7512" + }, + { + "id": "prettier-7512:process:locked:2020-06-27T00:04:19Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2020-06-27T00:04:19Z", + "url": "https://github.com/prettier/prettier/issues/7512", + "summary": "A bot locks the issue.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "prettier-7512:issue:7512" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/prettier-nested-ternaries.json b/evals/datasets/decisions-v1/cases/prettier-nested-ternaries.json new file mode 100644 index 000000000..ccfd8c62c --- /dev/null +++ b/evals/datasets/decisions-v1/cases/prettier-nested-ternaries.json @@ -0,0 +1,1097 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "prettier-nested-ternaries", + "title": "Formatting of nested ternaries in Prettier", + "source": { + "url": "https://github.com/prettier/prettier/issues/9561", + "retrievedAt": "2026-10-18T07:35:39.700810+00:00", + "repository": "prettier/prettier", + "number": 9561 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-11-01T17:49:00Z" + }, + { + "id": "c2", + "at": "2022-02-08T00:00:00Z" + }, + { + "id": "c3", + "at": "2023-11-07T00:00:00Z" + }, + { + "id": "c4", + "at": "2023-11-21T00:00:00Z" + } + ], + "events": [ + { + "id": "prettier-9561:issue:9561", + "kind": "opening", + "actor": "rattrayalex", + "createdAt": "2020-11-01T17:43:28Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "A maintainer opens a timeboxed search for nested ternary formatting before reverting flat ternaries, listing eight goals and two candidates with pros and cons: case-style (A), possibly only for TS conditional types and long chains, and if-else-style (B); he later says A gets too special-cased.", + "actorId": 704302, + "actorType": "human" + }, + { + "id": "prettier-9561:process:cross-referenced:2020-11-01T17:43:47Z", + "kind": "process", + "actor": "rattrayalex", + "createdAt": "2020-11-01T17:43:47Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "The maintainer links his earlier PR applying JSX-style formatting to all nested ternaries.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720125544", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-01T17:48:00Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720125544", + "summary": "The maintainer posts a placeholder comment for voting on Option A by reaction (71 reactions).", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720125567", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-01T17:48:09Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720125567", + "summary": "The maintainer posts a placeholder for voting on Option B by reaction (42 reactions).", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:process:cross-referenced:2020-11-01T17:50:08Z", + "kind": "process", + "actor": "rattrayalex", + "createdAt": "2020-11-01T17:50:08Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "The maintainer links the PR that would restore indentation to nested ternaries.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720127309", + "kind": "comment", + "actor": "troglotit", + "createdAt": "2020-11-01T18:00:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720127309", + "summary": "A user finds both options worse than either the current flat style or the earlier indented one.", + "actorId": 10955264, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720132078", + "kind": "comment", + "actor": "mike-marcacci", + "createdAt": "2020-11-01T18:31:56Z", + "editedAt": "2020-11-01T20:07:57Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720132078", + "summary": "A user prefers B over A but would rather restore full indentation, valuing the ability to read logical structure in part of a large ternary, including for TS conditional types.", + "actorId": 690517, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720132396", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-01T18:34:30Z", + "editedAt": "2020-11-01T18:35:45Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720132396", + "summary": "The maintainer thanks him, checks he prefers indentation even for TS conditionals, and asks for real complex examples.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720134518", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2020-11-01T18:51:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720134518", + "summary": "A user votes for A and sketches a hybrid with conditions and values on alternating lines.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720146294", + "kind": "comment", + "actor": "mike-marcacci", + "createdAt": "2020-11-01T20:25:41Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720146294", + "summary": "The user shares real nested ternaries from his code and argues formatting that varies with the logic forces readers to understand the logic first, so he prefers full indentation.", + "actorId": 690517, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720148660", + "kind": "comment", + "actor": "mike-marcacci", + "createdAt": "2020-11-01T20:43:39Z", + "editedAt": "2020-11-01T20:45:08Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720148660", + "summary": "The user notes an upcoming graphql-js effort will lean heavily on TS conditional types and stress any format.", + "actorId": 690517, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720161770", + "kind": "comment", + "actor": "jessejanderson", + "createdAt": "2020-11-01T22:29:02Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720161770", + "summary": "A user slightly prefers B but says either would improve on flat or indented.", + "actorId": 8367129, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720171711", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-01T23:46:56Z", + "editedAt": "2020-11-02T14:35:09Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720171711", + "summary": "The maintainer compares indented, A, B and a trailing-punctuation variant on the shared examples and finds them similar, while A changes look between chain lengths.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:process:cross-referenced:2020-11-02T00:15:16Z", + "kind": "process", + "actor": "typeofweb", + "createdAt": "2020-11-02T00:15:16Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "A user links the older PR about ugly nested TS conditional formatting.", + "actorId": 1338731, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720262830", + "kind": "comment", + "actor": "roryokane", + "createdAt": "2020-11-02T06:20:15Z", + "editedAt": "2020-11-02T06:22:19Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720262830", + "summary": "A contributor proposes Option B2: if-else layout with ? and : at line ends, arguing a trailing ? marks conditions, scanning is easier, and it matches Prettier's end-of-line logical operators.", + "actorId": 79168, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720281944", + "kind": "comment", + "actor": "zeorin", + "createdAt": "2020-11-02T07:07:55Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720281944", + "summary": "A user notes they once opened a PR for that trailing style that was never merged.", + "actorId": 1187078, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720465360", + "kind": "comment", + "actor": "troglotit", + "createdAt": "2020-11-02T13:15:58Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720465360", + "summary": "A user asks to see A when nesting happens in the truthy branch.", + "actorId": 10955264, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720527534", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T15:05:26Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720527534", + "summary": "The maintainer finds B2 compelling and most Prettier-like, but asks whether all ternaries should switch to trailing punctuation, which would cause heavy churn, or only nested ones, which would cause style jumps.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720539714", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2020-11-02T15:24:55Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720539714", + "summary": "A user points to the nested example already in the opening.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720542741", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T15:29:33Z", + "editedAt": "2020-11-02T15:34:46Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720542741", + "summary": "The maintainer explores blending B2 with case-style for simple TS conditional consequents and asks two maintainers for views.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720546127", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T15:34:48Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720546127", + "summary": "The maintainer argues B2 likely beats both flat and fully indented for TS conditionals.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720552490", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-11-02T15:45:28Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720552490", + "summary": "A maintainer says TS conditionals are a separate problem, sometimes four-part rather than ternary, and should be left alone for now.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720557158", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T15:52:57Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720557158", + "summary": "The first maintainer agrees TS can be handled separately later but wants a starting point consistent with ternaries and better than indentation for TS users, and asks if B2 fits.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720576226", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-11-02T16:23:51Z", + "editedAt": "2020-11-02T16:34:45Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720576226", + "summary": "The second maintainer says the indentation revert with a tweak seems the least bad for now, though it would not fix simple TS conditionals.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:process:labeled:2020-11-02T16:39:32Z+", + "kind": "process", + "actor": "thorn0", + "createdAt": "2020-11-02T16:39:32Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "The issue is labelled as needing discussion.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720586494", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T16:41:00Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720586494", + "summary": "The first maintainer asks how indentation can be less bad when TS users disliked both flat and indented.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720594110", + "kind": "comment", + "actor": "thorn0", + "createdAt": "2020-11-02T16:53:07Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720594110", + "summary": "The second maintainer says flat only looks odd for simple TS types and works well for complex ones.", + "actorId": 94334, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720602459", + "kind": "comment", + "actor": "mike-marcacci", + "createdAt": "2020-11-02T17:06:54Z", + "editedAt": "2020-11-02T17:10:11Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720602459", + "summary": "A user sets priorities: one rule per ternary, stable formatting when paths are added, few formats; he rules out new config options but suggests honouring how the developer first broke the root ternary.", + "actorId": 690517, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720674105", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T19:20:52Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720674105", + "summary": "The first maintainer agrees on stability, says B2's jump from leading to trailing punctuation is a real open question, and that true consistency may mean full indentation or switching all ternaries.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:720676485", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-11-02T19:25:49Z", + "editedAt": "2020-11-02T19:38:18Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-720676485", + "summary": "The first maintainer rejects using existing formatting as a cue, since it lets styles mix in one file and the object precedent is regretted by maintainers.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:721265527", + "kind": "comment", + "actor": "mike-marcacci", + "createdAt": "2020-11-03T17:17:32Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-721265527", + "summary": "The user concedes the point about mixed styles and reflects on what he values from the tool.", + "actorId": 690517, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751481212", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-12-27T15:32:35Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751481212", + "summary": "The first maintainer summarises: case-style is out, B2 is ideal but raises the all-or-nested question, and B is a compromise that could come first.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751684197", + "kind": "comment", + "actor": "sheerun", + "createdAt": "2020-12-28T11:40:01Z", + "editedAt": "2020-12-28T11:43:15Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751684197", + "summary": "A contributor proposes Option C, if-then-indent, with then and else at the same depth and attention to JSX bracket placement.", + "actorId": 292365, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751703313", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-12-28T12:55:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751703313", + "summary": "The maintainer says that is the fully indented style already in the revert PR, which had problems for long chains and TS.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751763633", + "kind": "comment", + "actor": "Methuselah96", + "createdAt": "2020-12-28T16:00:48Z", + "editedAt": "2020-12-28T16:09:35Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751763633", + "summary": "A user favours flattening only tail-recursive chains of three or more and keeping full indentation otherwise, warning A and B cause too much churn.", + "actorId": 693755, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751806770", + "kind": "comment", + "actor": "brody2consult", + "createdAt": "2020-12-28T17:51:14Z", + "editedAt": "2020-12-30T16:21:31Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751806770", + "summary": "A user likes C and asks the maintainer to cover JSX and nested conditional types in the description.", + "actorId": 1559888, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751812379", + "kind": "comment", + "actor": "rattrayalex", + "createdAt": "2020-12-28T18:07:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751812379", + "summary": "The maintainer wants JSX considered separately.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:751893726", + "kind": "comment", + "actor": "jessejanderson", + "createdAt": "2020-12-28T23:20:54Z", + "editedAt": "2020-12-28T23:21:12Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-751893726", + "summary": "A user finds C confusing and argues chained ternaries are really case expressions, not nesting.", + "actorId": 8367129, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:752024121", + "kind": "comment", + "actor": "sheerun", + "createdAt": "2020-12-29T10:18:01Z", + "editedAt": "2020-12-29T10:18:18Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-752024121", + "summary": "The C proposer warns against changing syntax for a few and says JSX ternaries are everywhere, so reformatting them would touch half of React codebases.", + "actorId": 292365, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:752116517", + "kind": "comment", + "actor": "Methuselah96", + "createdAt": "2020-12-29T15:15:59Z", + "editedAt": "2020-12-29T15:23:28Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-752116517", + "summary": "A user says many ternaries are truly nested and proposes Option D: full indentation by default, flat for long tail chains.", + "actorId": 693755, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:752651151", + "kind": "comment", + "actor": "Methuselah96", + "createdAt": "2020-12-30T14:58:50Z", + "editedAt": "2020-12-30T14:59:49Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-752651151", + "summary": "The user asks two down-voters to explain their objection to D.", + "actorId": 693755, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:752702989", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2020-12-30T17:43:25Z", + "editedAt": "2021-01-04T14:30:33Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-752702989", + "summary": "A user prefers B2, which already indents then-branches, and says flat formatting stops him using nested ternaries.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:753278348", + "kind": "comment", + "actor": "troglotit", + "createdAt": "2021-01-01T07:27:03Z", + "editedAt": "2021-01-01T07:29:59Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-753278348", + "summary": "A user says D adds mental overhead and is compromise for its own sake, preferring status quo or revert.", + "actorId": 10955264, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:765887269", + "kind": "comment", + "actor": "PiDelport", + "createdAt": "2021-01-23T08:15:10Z", + "editedAt": "2021-01-23T08:25:42Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-765887269", + "summary": "A user argues for case-style using a refactored example, citing readability and line-level editing.", + "actorId": 630271, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:765966349", + "kind": "comment", + "actor": "sheerun", + "createdAt": "2021-01-23T12:39:27Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-765966349", + "summary": "The C proposer finds non-case styles more readable because they resemble if statements.", + "actorId": 292365, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:800116484", + "kind": "comment", + "actor": "AoDev", + "createdAt": "2021-03-16T09:55:37Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-800116484", + "summary": "A user asks for a few configurable styles with a voted default to stop churn.", + "actorId": 1526150, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:808866452", + "kind": "comment", + "actor": "AoDev", + "createdAt": "2021-03-28T08:41:55Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-808866452", + "summary": "The user asks why a contributor down-voted that.", + "actorId": 1526150, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:808920150", + "kind": "comment", + "actor": "roryokane", + "createdAt": "2021-03-28T16:26:20Z", + "editedAt": "2021-03-28T16:34:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-808920150", + "summary": "The contributor points to Prettier's option philosophy rejecting new options and suggests a separate reformat commit after upgrades.", + "actorId": 79168, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:808921196", + "kind": "comment", + "actor": "AoDev", + "createdAt": "2021-03-28T16:33:10Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-808921196", + "summary": "The user replies that big codebases with parallel branches suffer conflicts, and the style debate has moved to Prettier's team.", + "actorId": 1526150, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:808925209", + "kind": "comment", + "actor": "zeorin", + "createdAt": "2021-03-28T17:03:17Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-808925209", + "summary": "A user links a way to ignore bulk reformat commits in git blame.", + "actorId": 1187078, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:888809409", + "kind": "comment", + "actor": "rkrisztian", + "createdAt": "2021-07-29T05:14:43Z", + "editedAt": "2021-07-29T05:18:03Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-888809409", + "summary": "A user says the current flat output is hard to read and anything would be better than stalling.", + "actorId": 2960445, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:889891913", + "kind": "comment", + "actor": "AoDev", + "createdAt": "2021-07-30T13:25:12Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-889891913", + "summary": "The options advocate agrees the current format is bad.", + "actorId": 1526150, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:934393069", + "kind": "comment", + "actor": "JonSilver", + "createdAt": "2021-10-05T13:04:17Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-934393069", + "summary": "A user asks whether a change will ship soon and says B2 seems most popular.", + "actorId": 8831106, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:934418709", + "kind": "comment", + "actor": "Methuselah96", + "createdAt": "2021-10-05T13:31:46Z", + "editedAt": "2021-10-05T13:32:28Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-934418709", + "summary": "A user counters that C appears most popular.", + "actorId": 693755, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:934442596", + "kind": "comment", + "actor": "rkrisztian", + "createdAt": "2021-10-05T14:00:59Z", + "editedAt": "2021-10-05T16:51:38Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-934442596", + "summary": "A user says B2's else part is hard to read and proposes mixing B for chains with indented if-else for nesting, else C.", + "actorId": 2960445, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1006252676", + "kind": "comment", + "actor": "rooby", + "createdAt": "2022-01-06T03:17:24Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1006252676", + "summary": "A user argues no single format will satisfy everyone and an option is a legitimate exception to the no-options rule.", + "actorId": 610162, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1024377704", + "kind": "comment", + "actor": "bholben", + "createdAt": "2022-01-28T16:23:33Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1024377704", + "summary": "A user says B2 would remove his team's barrier to using ternaries over reassignable variables.", + "actorId": 4744788, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1024380496", + "kind": "comment", + "actor": "JonSilver", + "createdAt": "2022-01-28T16:26:21Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1024380496", + "summary": "A user strongly agrees.", + "actorId": 8831106, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1031478565", + "kind": "comment", + "actor": "SpadeAceman", + "createdAt": "2022-02-07T13:37:25Z", + "editedAt": "2022-02-07T13:59:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1031478565", + "summary": "A user proposes Option E: wrap each branch in parentheses like braces in if-else statements, consistent across JS, TS and JSX.", + "actorId": 14184061, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1031736393", + "kind": "comment", + "actor": "rkrisztian", + "createdAt": "2022-02-07T17:38:32Z", + "editedAt": "2022-02-07T17:40:23Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1031736393", + "summary": "A user agrees complex ternaries need more structural loudness.", + "actorId": 2960445, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1031839933", + "kind": "comment", + "actor": "SpadeAceman", + "createdAt": "2022-02-07T19:31:37Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1031839933", + "summary": "The E proposer realises it matches Prettier's existing JSX ternary style and reframes it as applying that style everywhere.", + "actorId": 14184061, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:process:cross-referenced:2022-07-28T17:50:32Z", + "kind": "process", + "actor": "rattrayalex", + "createdAt": "2022-07-28T17:50:32Z", + "url": "https://github.com/prettier/prettier/issues/9561", + "summary": "The maintainer links his new ternary formatting PR.", + "actorId": 704302, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1616756405", + "kind": "comment", + "actor": "coolCucumber-cat", + "createdAt": "2023-07-02T18:08:28Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1616756405", + "summary": "A user demands a new vote and action, citing heavy use of prettier-ignore.", + "actorId": 74265143, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1616759122", + "kind": "comment", + "actor": "coolCucumber-cat", + "createdAt": "2023-07-02T18:16:43Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1616759122", + "summary": "The user complains of no update in 2.5 years.", + "actorId": 74265143, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1718867779", + "kind": "comment", + "actor": "sosukesuzuki", + "createdAt": "2023-09-14T06:56:03Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1718867779", + "summary": "A maintainer says progress is slow for lack of time but the effort led by the first maintainer is alive.", + "actorId": 14838850, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1778897838", + "kind": "comment", + "actor": "coolCucumber-cat", + "createdAt": "2023-10-25T09:45:47Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1778897838", + "summary": "The user shows an over-indented example and asks for a temporary option to restore the old style.", + "actorId": 74265143, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1778904826", + "kind": "comment", + "actor": "coolCucumber-cat", + "createdAt": "2023-10-25T09:49:49Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1778904826", + "summary": "The user adds that prettier-ignore also blocks formatting of inner code.", + "actorId": 74265143, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1778908937", + "kind": "comment", + "actor": "JonSilver", + "createdAt": "2023-10-25T09:52:18Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1778908937", + "summary": "A user says unresolved requests after three years reflect priority, not time.", + "actorId": 8831106, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1794641359", + "kind": "comment", + "actor": "icetbr", + "createdAt": "2023-11-06T11:44:51Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1794641359", + "summary": "A user suggests separating simple and complex cases and shows an aligned column style.", + "actorId": 1111617, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1807455576", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2023-11-13T04:23:05Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1807455576", + "summary": "A user reacting to the new curious-ternaries blog post finds its example hard to read and suggests trailing punctuation instead.", + "actorId": 5390719, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1818174478", + "kind": "comment", + "actor": "bradzacher", + "createdAt": "2023-11-20T03:34:22Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1818174478", + "summary": "A contributor argues leading operators let readers scan structure down the left edge, which the new format loses compared with indentation.", + "actorId": 7462525, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1849417155", + "kind": "comment", + "actor": "nmn", + "createdAt": "2023-12-11T06:42:57Z", + "editedAt": "2024-01-01T00:49:37Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1849417155", + "summary": "A user dislikes the new format's mix of styles and proposes B3: trailing ? and leading : with indented values, matching the flagged format more closely.", + "actorId": 3582514, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1857419675", + "kind": "comment", + "actor": "trusktr", + "createdAt": "2023-12-15T07:43:15Z", + "editedAt": "2023-12-15T07:44:10Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1857419675", + "summary": "A user shows current output and his manual indented alternative, asking if it was considered.", + "actorId": 297678, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1857563231", + "kind": "comment", + "actor": "zeorin", + "createdAt": "2023-12-15T09:35:24Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1857563231", + "summary": "A user says after five years it is time to accept no single format fits and offer an option or plugins.", + "actorId": 1187078, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1871390416", + "kind": "comment", + "actor": "SpadeAceman", + "createdAt": "2023-12-28T18:09:34Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1871390416", + "summary": "A user agrees, arguing the experimental flag shows the research phase is not over, so options cannot be dismissed.", + "actorId": 14184061, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1871402074", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2023-12-28T18:29:29Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1871402074", + "summary": "A user still favours flat else-branches with indented then-branches and table-like alignment.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1873241104", + "kind": "comment", + "actor": "olosegres", + "createdAt": "2024-01-01T09:19:19Z", + "editedAt": "2024-01-13T19:25:29Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1873241104", + "summary": "A user proposes parenthesised if-else blocks like JSX ternaries.", + "actorId": 3730589, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1873266131", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2024-01-01T10:31:02Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1873266131", + "summary": "A user objects to excess parentheses and diff noise.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1873283728", + "kind": "comment", + "actor": "olosegres", + "createdAt": "2024-01-01T11:21:00Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1873283728", + "summary": "The proposer adds a shorter form and argues readability beats diff concerns.", + "actorId": 3730589, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1873570038", + "kind": "comment", + "actor": "nmn", + "createdAt": "2024-01-02T02:14:02Z", + "editedAt": "2024-01-02T02:16:30Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1873570038", + "summary": "A user points to his B3 proposal and objects to then-branches on the same line.", + "actorId": 3582514, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1912250769", + "kind": "comment", + "actor": "bouzidanas", + "createdAt": "2024-01-26T15:28:01Z", + "editedAt": "2024-02-14T20:20:54Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1912250769", + "summary": "A user agrees with the left-edge scanning argument and suggests extra alignment, later retracting it.", + "actorId": 25779130, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1944214929", + "kind": "comment", + "actor": "tsnelson1", + "createdAt": "2024-02-14T16:47:25Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1944214929", + "summary": "A user shares a compact one-line-per-case style with its pros and cons.", + "actorId": 1643964, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:1944486343", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2024-02-14T19:48:26Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-1944486343", + "summary": "A user says that style breaks its own rule for the first line and restates earlier alternatives.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2194220021", + "kind": "comment", + "actor": "kylemh", + "createdAt": "2024-06-27T09:31:44Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2194220021", + "summary": "A user links a blog post on ternary layout and favours configurability while noting maintenance cost.", + "actorId": 9523719, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2296045521", + "kind": "comment", + "actor": "David-dgm", + "createdAt": "2024-08-19T09:00:43Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2296045521", + "summary": "A user proposes enum options for ternary style and parentheses.", + "actorId": 153526141, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2322066932", + "kind": "comment", + "actor": "perennialmind", + "createdAt": "2024-08-30T17:55:28Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2322066932", + "summary": "A user describes four levels of spacing for ternary chains that a tool should not choose between.", + "actorId": 900936, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2489065417", + "kind": "comment", + "actor": "Sti2nd", + "createdAt": "2024-11-20T16:36:08Z", + "editedAt": "2024-11-20T18:56:36Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2489065417", + "summary": "A user argues indentation signals cognitive load and removing it hurts readability.", + "actorId": 6373430, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2490963604", + "kind": "comment", + "actor": "nmn", + "createdAt": "2024-11-21T12:07:54Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2490963604", + "summary": "A user suggests parenthesising conditions so ternaries read more like if statements.", + "actorId": 3582514, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2535486494", + "kind": "comment", + "actor": "mcvendrell", + "createdAt": "2024-12-11T10:40:20Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2535486494", + "summary": "A user says complex ternaries should be if-else statements instead.", + "actorId": 1863001, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2536104917", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2024-12-11T14:14:40Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2536104917", + "summary": "A user replies ternaries are expressions and teams should choose their format.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2536260974", + "kind": "comment", + "actor": "Sti2nd", + "createdAt": "2024-12-11T15:07:37Z", + "editedAt": "2024-12-11T15:08:15Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2536260974", + "summary": "A user says statements are probably more readable.", + "actorId": 6373430, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2536301399", + "kind": "comment", + "actor": "DScheglov", + "createdAt": "2024-12-11T15:22:55Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2536301399", + "summary": "The user says he wants teams to choose the nested format.", + "actorId": 9888941, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2538853936", + "kind": "comment", + "actor": "Sti2nd", + "createdAt": "2024-12-12T13:05:10Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2538853936", + "summary": "The user cites the option philosophy against options.", + "actorId": 6373430, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + }, + { + "id": "prettier-9561:comment:2751164357", + "kind": "comment", + "actor": "soc", + "createdAt": "2025-03-25T12:53:35Z", + "url": "https://github.com/prettier/prettier/issues/9561#issuecomment-2751164357", + "summary": "A user says they only allow ternaries that fit on one line.", + "actorId": 42493, + "actorType": "human", + "parentId": "prettier-9561:issue:9561" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rfcs-abort-by-default.json b/evals/datasets/decisions-v1/cases/rfcs-abort-by-default.json new file mode 100644 index 000000000..a1b0207f9 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rfcs-abort-by-default.json @@ -0,0 +1,992 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rfcs-abort-by-default", + "title": "Making panic=abort Rust's default strategy", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "retrievedAt": "2026-10-18T07:31:56.948960+00:00", + "repository": "rust-lang/rfcs", + "number": 1759 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-10-01T14:00:00Z" + }, + { + "id": "c2", + "at": "2016-10-01T22:00:00Z" + }, + { + "id": "c3", + "at": "2016-10-05T14:00:00Z" + }, + { + "id": "c4", + "at": "2016-10-05T15:30:00Z" + } + ], + "events": [ + { + "id": "rfcs-1759:pr:1759", + "kind": "opening", + "actor": "ticki", + "createdAt": "2016-10-01T13:22:40Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "summary": "The opener submits an RFC, acknowledged as a long shot, to make aborting the default panic strategy instead of unwinding.", + "actorId": 13349091, + "actorType": "human" + }, + { + "id": "rfcs-1759:comment:250916929", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-01T15:02:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250916929", + "summary": "A contributor argues unwinding mainly serves long-lived servers, and in a futures world threads no longer map to meaningful units of work.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250917079", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-01T15:05:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250917079", + "summary": "The same contributor adds that one strategy is easier to teach, and waiting until std can be rebuilt would ease the burden on those who want unwinding.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250936848", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T20:51:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250936848", + "summary": "A user calls a silent default switch a non-starter: applications may legitimately depend on unwinding, most never set the strategy explicitly, and the break would be invisible; defaulting new projects to abort is fine.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250938068", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:14:56Z", + "editedAt": "2016-10-03T07:18:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250938068", + "summary": "The opener first claims programs should never depend on the panic strategy, later striking this to concede code may rely on a specified strategy but not on the default.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250938616", + "kind": "comment", + "actor": "petrochenkov", + "createdAt": "2016-10-01T21:26:28Z", + "editedAt": "2016-10-01T21:27:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250938616", + "summary": "A contributor asks why unwinding exists at all if it is useless and abort is faster.", + "actorId": 5751617, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250938627", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-10-01T21:26:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250938627", + "summary": "A maintainer says quickcheck would break.", + "actorId": 456674, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250938986", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:33:54Z", + "editedAt": "2016-10-03T07:18:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250938986", + "summary": "The opener asks for details on quickcheck and defends unwinding only as a safety net for long-running systems, later striking that too.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939116", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:36:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939116", + "summary": "The opener asks for an idiomatic example of code that relies on the strategy.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939124", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:36:39Z", + "editedAt": "2016-10-01T21:37:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939124", + "summary": "The user rejects the 'compiler options should not change behaviour' argument with counterexamples, and says a program that crashes after an upgrade is a serious behaviour change regardless of style.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939314", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:41:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939314", + "summary": "The user argues code quality is irrelevant: if an app works, then breaks on a new compiler, people will complain.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939323", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:41:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939323", + "summary": "The opener says debug assertions only change buggy programs, and relying on unspecified behaviour is not breakage strictly speaking.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939405", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:42:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939405", + "summary": "The opener compares this to relying on undefined behaviour that merely happens to work today.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939496", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:45:02Z", + "editedAt": "2016-10-01T21:46:05Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939496", + "summary": "The user replies that all programs have bugs, unwinding is documented everywhere and de facto specified, and changing only new Cargo.toml files gets the same benefit without silent breakage.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939548", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:46:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939548", + "summary": "The opener agrees long-running programs may reasonably prefer unwinding as a guard against crashes.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939636", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:48:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939636", + "summary": "The opener restates that implementation-defined behaviour cannot be relied on, concedes the documentation point, and floats having `cargo new` set the strategy with libraries following the dependent.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939640", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:48:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939640", + "summary": "The user says silently removing unwinding for people who rely on it would be hostile even if not formally breaking.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939890", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:53:45Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939890", + "summary": "The opener asks the user's view on the `cargo new` alternative.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939921", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:54:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939921", + "summary": "The user says they have advocated that since their first comment, and libraries already follow the application's strategy.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250939977", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T21:55:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250939977", + "summary": "The opener notes an exception about abort-compiled libraries linking with an unwinding runtime.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940081", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:57:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940081", + "summary": "The user argues unwinding is as documented as basic arithmetic and users could not be expected to treat it as implementation-defined.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940142", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T21:58:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940142", + "summary": "The user says std ships with unwinding and links with abort binaries already.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940154", + "kind": "comment", + "actor": "apasel422", + "createdAt": "2016-10-01T21:59:07Z", + "editedAt": "2016-10-01T22:00:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940154", + "summary": "A contributor cites futures-cpupool and quickcheck as real uses of `catch_unwind`.", + "actorId": 8644784, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940204", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T22:00:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940204", + "summary": "The opener says linking the other direction fails for them.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940335", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T22:03:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940335", + "summary": "The user asks what the opener means by runtime.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940378", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T22:03:58Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940378", + "summary": "The opener clarifies the linking direction.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250940416", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-01T22:04:44Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250940416", + "summary": "The opener says the linking issue may stem from another flag and is off-topic.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250941277", + "kind": "comment", + "actor": "steveklabnik", + "createdAt": "2016-10-01T22:24:05Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250941277", + "summary": "A maintainer recalls a mechanism for crates to declare reliance on a strategy and fail compilation otherwise, which would cover quickcheck, but cannot find it.", + "actorId": 27786, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250941581", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-01T22:31:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250941581", + "summary": "The user replies that even with such a flag, many crates that should set it would not, so changing the compiler default still breaks them.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81461156", + "kind": "review-comment", + "actor": "sfackler", + "createdAt": "2016-10-02T00:44:25Z", + "editedAt": "2016-10-05T15:16:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81461156", + "summary": "A maintainer asks on the RFC text where using panics as exceptions actually happens.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81462333", + "kind": "review-comment", + "actor": "codyps", + "createdAt": "2016-10-02T02:43:26Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81462333", + "summary": "A user cites a blog post and HN thread where someone did this.", + "actorId": 103437, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81461156" + }, + { + "id": "rfcs-1759:comment:250950951", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T03:11:08Z", + "editedAt": "2016-10-02T03:23:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250950951", + "summary": "A maintainer disputes that servers are a narrow case, citing download counts, argues unwinding avoids outages and late-night pages, says futures change nothing, and worries abort would make exception-safety bugs in unsafe code easier to miss.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250951679", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T03:36:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250951679", + "summary": "The maintainer calls the change dangerous given the six-week release cycle and the people who would be paged in production.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81465609", + "kind": "review-comment", + "actor": "ticki", + "createdAt": "2016-10-02T07:16:52Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81465609", + "summary": "The opener replies that Reddit users often praise having exceptions.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81461156" + }, + { + "id": "rfcs-1759:comment:250957962", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-02T07:21:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250957962", + "summary": "The opener argues CLI tools should not pay for server needs by default and that hyper should declare unwinding explicitly.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250958162", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-02T07:27:02Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250958162", + "summary": "The opener says servers should not panic and panics are not recoverable.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250963519", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-02T10:01:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250963519", + "summary": "The user tests that Cargo does not enforce declared strategies, notes hyper was cited only as evidence of server popularity, and disputes that panics are unrecoverable.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250976794", + "kind": "comment", + "actor": "Amanieu", + "createdAt": "2016-10-02T15:25:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250976794", + "summary": "A maintainer describes coroutines needing unwinding to clean up dropped suspended stacks safely.", + "actorId": 278509, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250981323", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T16:50:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250981323", + "summary": "A maintainer says CLI apps are not forced to pay, since they can opt in to abort.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250981627", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-02T16:56:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250981627", + "summary": "The opener clarifies the default should cover the common case, not a special one.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250981792", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T16:59:40Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250981792", + "summary": "The maintainer asks why unwinding is assumed special and how the change could ship without angering users.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250982449", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-02T17:12:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250982449", + "summary": "The opener says most code neither sets nor relies on a strategy, so abort is a pure gain, and the risk is exaggerated.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250982606", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T17:15:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250982606", + "summary": "The maintainer insists the production outage scenario is real.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250983275", + "kind": "comment", + "actor": "seanmonstar", + "createdAt": "2016-10-02T17:28:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250983275", + "summary": "A contributor argues few apps opt into abort, suggesting most accept the unwinding default, and people choose defaults expecting them to stay.", + "actorId": 51479, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250984093", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-02T17:43:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250984093", + "summary": "The opener says defaults shape the ecosystem and costly special cases should be opt-in.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250985822", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T18:13:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250985822", + "summary": "The maintainer repeats that unwinding being a minority case is unproven.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81474738", + "kind": "review-comment", + "actor": "frewsxcv", + "createdAt": "2016-10-02T18:20:11Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81474738", + "summary": "A contributor asks on the RFC text whether there is an official stance that relying on a strategy is broken.", + "actorId": 416575, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81474810", + "kind": "review-comment", + "actor": "frewsxcv", + "createdAt": "2016-10-02T18:22:18Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81474810", + "summary": "The same contributor says the change would break `ThreadPool::panic_count`.", + "actorId": 416575, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250987198", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T18:37:49Z", + "editedAt": "2016-10-02T18:39:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250987198", + "summary": "A contributor answers the server argument: cheap restarts are another path to reliability, panic handlers still allow logging, and code depending on thread-as-panic-boundary should be checked.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:process:labeled:2016-10-02T18:45:06Z", + "kind": "process", + "actor": "nrc", + "createdAt": "2016-10-02T18:45:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "summary": "A maintainer assigns the RFC to the language team.", + "actorId": 762626, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:process:labeled:2016-10-02T18:45:06Z+", + "kind": "process", + "actor": "nrc", + "createdAt": "2016-10-02T18:45:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "summary": "A maintainer assigns the RFC to the libraries team.", + "actorId": 762626, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250991064", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T19:44:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250991064", + "summary": "A maintainer explains why restarts are costly for servers holding connections and caches, and that catching panics at a pool's run loop is normal.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250992551", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T20:08:47Z", + "editedAt": "2016-10-02T20:09:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250992551", + "summary": "The contributor contrasts restart cost with guaranteed progress and asks which reliability goal matters more.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250992860", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T20:14:27Z", + "editedAt": "2016-10-02T20:14:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250992860", + "summary": "The contributor is troubled that the `UnwindSafe` trait is only a speed bump, not a guarantee.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250993029", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T20:17:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250993029", + "summary": "The maintainer says users care that requests work, not about eventual progress.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250994401", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T20:40:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250994401", + "summary": "The contributor wonders how rare unwind-safety problems are and believes auditing every panic point is feasible.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250994508", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T20:42:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250994508", + "summary": "The contributor notes some clients are non-human with different timing needs.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250995224", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T20:53:03Z", + "editedAt": "2016-10-02T20:56:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250995224", + "summary": "The contributor lists the assumptions behind their view: panics signal programmer error and unwinding often hits broken state.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250998774", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-02T21:53:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250998774", + "summary": "The maintainer agrees panics are programmer errors but says most occur where state is still sound.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:250999790", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-02T22:14:36Z", + "editedAt": "2016-10-03T03:28:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-250999790", + "summary": "The contributor says they rarely panic outside unimplemented code and poisoning.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81483297", + "kind": "review-comment", + "actor": "codyps", + "createdAt": "2016-10-03T01:30:06Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81483297", + "summary": "A user argues `panic_count` still works under abort in a narrow sense.", + "actorId": 103437, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81474810" + }, + { + "id": "rfcs-1759:review-comment:81484223", + "kind": "review-comment", + "actor": "codyps", + "createdAt": "2016-10-03T01:54:45Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81484223", + "summary": "The user notes panics are not promised to unwind, though testing tools need a way to require unwinding.", + "actorId": 103437, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81474738" + }, + { + "id": "rfcs-1759:comment:251044707", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-03T07:40:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251044707", + "summary": "The opener argues that if unspecified behaviour can never change, nothing can, and that is why it is left unspecified.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251056673", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-03T08:52:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251056673", + "summary": "The user lays out how breaking changes are weighed: upgrade burden, importance, and manageability via lints or crater runs; this proposal does poorly on the latter two, and new-project defaults get most of the benefit.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251244493", + "kind": "comment", + "actor": "aturon", + "createdAt": "2016-10-03T22:21:42Z", + "editedAt": "2016-10-03T22:29:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251244493", + "summary": "A libraries team member reports the team strongly agreed the change cannot be made as written, notes the default was not on the list of expected-to-change semantics, and says stability is judged by real-world experience, leaving `cargo new` defaults as a separate question.", + "actorId": 709807, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251256393", + "kind": "comment", + "actor": "brson", + "createdAt": "2016-10-03T23:30:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251256393", + "summary": "A core team member adds that the test harness itself relies on unwinding and breaking it would be user-hostile.", + "actorId": 147214, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251269124", + "kind": "comment", + "actor": "Ericson2314", + "createdAt": "2016-10-04T00:58:57Z", + "editedAt": "2016-10-04T00:59:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251269124", + "summary": "A contributor asks whether Cargo could eventually require binaries to declare a strategy.", + "actorId": 1055245, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251299360", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-04T05:28:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251299360", + "summary": "The opener expresses disappointment and promises to revise the RFC with a fuller case for unwinding.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251407152", + "kind": "comment", + "actor": "sfackler", + "createdAt": "2016-10-04T14:37:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251407152", + "summary": "A maintainer questions the value and logistics of forcing every project to declare a strategy, since it is per profile.", + "actorId": 1455697, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81775921", + "kind": "review-comment", + "actor": "frewsxcv", + "createdAt": "2016-10-04T14:55:47Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81775921", + "summary": "A contributor says programs using panic_count would silently behave differently.", + "actorId": 416575, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81474810" + }, + { + "id": "rfcs-1759:comment:251468170", + "kind": "comment", + "actor": "codyps", + "createdAt": "2016-10-04T18:12:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251468170", + "summary": "A user suggests strategy could be set per crate and that boilerplate already burdens abort users.", + "actorId": 103437, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:81820303", + "kind": "review-comment", + "actor": "codyps", + "createdAt": "2016-10-04T18:18:12Z", + "editedAt": "2016-10-05T15:16:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r81820303", + "summary": "The user says the real change is that a thread panic would abort the whole program, which is what the RFC intends.", + "actorId": 103437, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81474810" + }, + { + "id": "rfcs-1759:comment:251586509", + "kind": "comment", + "actor": "Valloric", + "createdAt": "2016-10-05T05:38:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251586509", + "summary": "A user proposes staging: warn crates without a strategy for six months, then flip.", + "actorId": 919444, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251669360", + "kind": "comment", + "actor": "gnzlbg", + "createdAt": "2016-10-05T13:09:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251669360", + "summary": "A contributor wonders whether requiring a strategy in Cargo would technically avoid breaking Rust code, while leaning toward abort for new projects.", + "actorId": 904614, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251670487", + "kind": "comment", + "actor": "hanna-kruppe", + "createdAt": "2016-10-05T13:13:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251670487", + "summary": "The user rejects technicalities as against the spirit of stability.", + "actorId": 2311707, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251692039", + "kind": "comment", + "actor": "nikomatsakis", + "createdAt": "2016-10-05T14:31:51Z", + "editedAt": "2016-10-05T14:32:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251692039", + "summary": "A language team member moves to final comment period with intent to close, summarising the arguments: silent breakage, little motivation, and unwinding's real benefits.", + "actorId": 155238, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251704570", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-05T15:13:37Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251704570", + "summary": "The opener says the RFC text has been revised to avoid breaking changes and asks to reverse the FCP.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251705208", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2016-10-05T15:15:42Z", + "editedAt": "2016-10-06T08:40:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251705208", + "summary": "The rfcbot records the motion to close and lists team members to sign off.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251705561", + "kind": "comment", + "actor": "frewsxcv", + "createdAt": "2016-10-05T15:16:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251705561", + "summary": "A contributor suggests the pivoted RFC be opened fresh as a new PR.", + "actorId": 416575, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:process:closed:2016-10-05T15:19:17Z", + "kind": "process", + "actor": "ticki", + "createdAt": "2016-10-05T15:19:17Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "summary": "The opener closes the PR.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:process:cross-referenced:2016-10-05T15:25:14Z", + "kind": "process", + "actor": "ticki", + "createdAt": "2016-10-05T15:25:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759", + "summary": "The opener links a replacement RFC, #1765.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:251708128", + "kind": "comment", + "actor": "ticki", + "createdAt": "2016-10-05T15:25:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-251708128", + "summary": "The opener states this RFC is superseded by #1765.", + "actorId": 13349091, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:review-comment:82087109", + "kind": "review-comment", + "actor": "ArtemGr", + "createdAt": "2016-10-05T22:46:07Z", + "editedAt": "2016-10-05T22:46:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#discussion_r82087109", + "summary": "A user notes the cited exception-style misuse was deliberate.", + "actorId": 41847, + "actorType": "human", + "parentId": "rfcs-1759:review-comment:81461156" + }, + { + "id": "rfcs-1759:comment:252092200", + "kind": "comment", + "actor": "nikomatsakis", + "createdAt": "2016-10-06T21:20:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-252092200", + "summary": "The language team member cancels the FCP motion.", + "actorId": 155238, + "actorType": "human", + "parentId": "rfcs-1759:pr:1759" + }, + { + "id": "rfcs-1759:comment:252097946", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2016-10-06T21:45:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/1759#issuecomment-252097946", + "summary": "The rfcbot confirms the motion was cancelled.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-1759:pr:1759" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rfcs-bool-to-option-methods.json b/evals/datasets/decisions-v1/cases/rfcs-bool-to-option-methods.json new file mode 100644 index 000000000..27df68109 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rfcs-bool-to-option-methods.json @@ -0,0 +1,1125 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rfcs-bool-to-option-methods", + "title": "Methods to turn a bool into an Option", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "retrievedAt": "2026-10-18T07:31:43.661364+00:00", + "repository": "rust-lang/rfcs", + "number": 2180 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-10-18T09:20:00Z" + }, + { + "id": "c2", + "at": "2017-12-10T09:00:00Z" + }, + { + "id": "c3", + "at": "2018-08-23T18:00:00Z" + }, + { + "id": "c4", + "at": "2018-09-16T00:00:00Z" + } + ], + "events": [ + { + "id": "rfcs-2180:pr:2180", + "kind": "opening", + "actor": "Dynisious", + "createdAt": "2017-10-18T06:17:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The opener proposes constructors on Option modelled on logical implication, producing Some(x) when a condition holds and None otherwise, to cut boilerplate.", + "actorId": 5057114, + "actorType": "human" + }, + { + "id": "rfcs-2180:process:renamed:2017-10-18T06:18:43Z", + "kind": "process", + "actor": "Dynisious", + "createdAt": "2017-10-18T06:18:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The opener prefixes the title with RFC.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337512723", + "kind": "comment", + "actor": "SimonSapin", + "createdAt": "2017-10-18T08:58:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337512723", + "summary": "A libs team member restates it as a pair of bool-based Option constructors and says it sounds useful.", + "actorId": 291359, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337516263", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-10-18T09:09:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337516263", + "summary": "The opener confirms that reading.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337525480", + "kind": "comment", + "actor": "petrochenkov", + "createdAt": "2017-10-18T09:35:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337525480", + "summary": "A contributor would rather put these as methods on bool, mirroring Option's map, and, and_then and an eager variant.", + "actorId": 5751617, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337568155", + "kind": "comment", + "actor": "oli-obk", + "createdAt": "2017-10-18T12:02:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337568155", + "summary": "A contributor links earlier internals discussion that concluded the boolinator crate was sufficient.", + "actorId": 332036, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337595721", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:46:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337595721", + "summary": "A contributor agrees on bool methods but worries reusing and_then implies monadic bind.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:145419003", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:47:33Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145419003", + "summary": "A contributor flags a typo.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145419191", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:48:09Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145419191", + "summary": "A contributor flags a typo.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145419515", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:49:02Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145419515", + "summary": "A contributor suggests toning down a claim of usefulness.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145419858", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:50:06Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145419858", + "summary": "A contributor flags a missing word.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145420392", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:51:56Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145420392", + "summary": "A contributor suggests rewording an example explanation.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:comment:337598206", + "kind": "comment", + "actor": "eddyb", + "createdAt": "2017-10-18T13:53:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337598206", + "summary": "A compiler contributor muses that defining bool as Option<()> early on would have been interesting.", + "actorId": 77424, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:145421570", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:55:28Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145421570", + "summary": "A contributor suggests the more common term first-order logic.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145421898", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:56:23Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145421898", + "summary": "A contributor asks to depersonalise the text.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145421957", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:56:34Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145421957", + "summary": "A contributor asks to depersonalise another passage.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145422356", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T13:57:46Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145422356", + "summary": "A contributor flags spelling and asks to depersonalise.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145423407", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T14:01:03Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145423407", + "summary": "A contributor disputes the drawback that this adds functional-programming concepts, since Rust already has them.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145423797", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T14:02:22Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145423797", + "summary": "A contributor asks to depersonalise.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145424128", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T14:03:27Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145424128", + "summary": "A contributor flags a typo.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review-comment:145424558", + "kind": "review-comment", + "actor": "Centril", + "createdAt": "2017-10-18T14:04:45Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145424558", + "summary": "A contributor flags word choice.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:review:70215226" + }, + { + "id": "rfcs-2180:review:70215226", + "kind": "review", + "actor": "Centril", + "createdAt": "2017-10-18T14:06:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#pullrequestreview-70215226", + "summary": "A contributor completes a review of mostly copy edits.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337604852", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-18T14:13:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337604852", + "summary": "A contributor jokes about the bool-as-Option idea being far off.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337659009", + "kind": "comment", + "actor": "est31", + "createdAt": "2017-10-18T17:03:36Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337659009", + "summary": "A team member argues occasional convenience does not justify a new operator and a macro would do.", + "actorId": 8872119, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337664225", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-18T17:22:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337664225", + "summary": "A contributor asks whether an operator or just a method is proposed.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337665527", + "kind": "comment", + "actor": "SimonSapin", + "createdAt": "2017-10-18T17:26:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337665527", + "summary": "A libs team member clarifies it is two methods.", + "actorId": 291359, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:145535714", + "kind": "review-comment", + "actor": "Dynisious", + "createdAt": "2017-10-18T20:40:58Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r145535714", + "summary": "The opener explains the drawback is about one more thing for newcomers to learn.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:145423407" + }, + { + "id": "rfcs-2180:comment:337724916", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-10-18T20:54:46Z", + "editedAt": "2017-10-19T01:17:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337724916", + "summary": "The opener considers a macro, noting it would be naturally lazy but less explicit than a constructor.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337739659", + "kind": "comment", + "actor": "est31", + "createdAt": "2017-10-18T21:55:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337739659", + "summary": "The team member retracts the objection after realising only methods are proposed.", + "actorId": 8872119, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337740818", + "kind": "comment", + "actor": "eddyb", + "createdAt": "2017-10-18T22:00:44Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337740818", + "summary": "A compiler contributor notes Option<()> now has bool's layout but aliasing them would break trait impls.", + "actorId": 77424, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337743526", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-18T22:14:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337743526", + "summary": "A contributor calls that a non-starter.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337774914", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2017-10-19T01:40:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337774914", + "summary": "A team member floats letting an if without else produce a default such as None, outlining its inference breakage, plus a playful Try impl for bool.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337778330", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-10-19T02:04:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337778330", + "summary": "The opener says boolinator includes too many niche functions for std and only the core pair belongs there.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337780373", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-10-19T02:19:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337780373", + "summary": "The opener questions what bool methods add over Option constructors and says and/and_then compose already.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:337998596", + "kind": "comment", + "actor": "leoyvens", + "createdAt": "2017-10-19T18:36:51Z", + "editedAt": "2017-10-19T23:48:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-337998596", + "summary": "A user suggests a From impl for Option<()> and chaining Option methods, saying a PR with FCP would suffice.", + "actorId": 9885558, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:338041052", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-19T21:18:44Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-338041052", + "summary": "A contributor supports the From impl regardless but finds the chain wordy.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:338042084", + "kind": "comment", + "actor": "petrochenkov", + "createdAt": "2017-10-19T21:23:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-338042084", + "summary": "A contributor says that chain would not type-infer.", + "actorId": 5751617, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:338070683", + "kind": "comment", + "actor": "leoyvens", + "createdAt": "2017-10-20T00:04:41Z", + "editedAt": "2017-10-20T20:28:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-338070683", + "summary": "The user concedes the impl would conflict and instead suggests a bool method converting to Option<()>.", + "actorId": 9885558, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:338464140", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-10-22T09:34:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-338464140", + "summary": "The opener sees merit in converting bool to Option<()> first.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:339213616", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-10-25T04:50:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-339213616", + "summary": "A contributor suggests naming the conversion iso.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:339230570", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2017-10-25T06:42:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-339230570", + "summary": "A user objects that iso is jargon and ambiguous.", + "actorId": 46915, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:339260763", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2017-10-25T08:50:48Z", + "editedAt": "2017-10-25T08:53:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-339260763", + "summary": "A team member would name the conversion as_option but prefers a direct map on bool, and notes a Result conversion is also useful.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:340189046", + "kind": "comment", + "actor": "fstirlitz", + "createdAt": "2017-10-28T12:56:54Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-340189046", + "summary": "A user floats making if and for yield Option and else act like unwrap_or_else.", + "actorId": 4331184, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:340189348", + "kind": "comment", + "actor": "glaebhoerl", + "createdAt": "2017-10-28T13:02:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-340189348", + "summary": "A contributor says that would break existing code.", + "actorId": 1216629, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:343623526", + "kind": "comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:38:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-343623526", + "summary": "A contributor asks the RFC summary to state plainly what is proposed.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150366316", + "kind": "review-comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:40:18Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150366316", + "summary": "A contributor says a passage implies Rust already has this.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150366800", + "kind": "review-comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:46:57Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150366800", + "summary": "A contributor asks for a one-line description of each method in the summary.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150366916", + "kind": "review-comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:48:31Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150366916", + "summary": "A contributor asks how exactly boilerplate is reduced.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150367074", + "kind": "review-comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:50:06Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150367074", + "summary": "A contributor flags a misspelling.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150367611", + "kind": "review-comment", + "actor": "mdinger", + "createdAt": "2017-11-11T00:57:33Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150367611", + "summary": "A contributor asks whether the logic notation is new syntax.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:343626816", + "kind": "comment", + "actor": "mdinger", + "createdAt": "2017-11-11T01:06:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-343626816", + "summary": "A contributor says the proposal remains unclear after several reads.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150450882", + "kind": "review-comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:30:58Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150450882", + "summary": "The opener explains the notation is predicate logic used for a formal definition.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150367611" + }, + { + "id": "rfcs-2180:review-comment:150450942", + "kind": "review-comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:31:43Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150450942", + "summary": "The opener thanks them for the typo.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150367074" + }, + { + "id": "rfcs-2180:review-comment:150451092", + "kind": "review-comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:33:39Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150451092", + "summary": "The opener points out the RFC template asks for teaching-by-example.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150366316" + }, + { + "id": "rfcs-2180:comment:343820256", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:46:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-343820256", + "summary": "The opener says the text was revised for clarity.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:343820678", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:50:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-343820678", + "summary": "The opener reads consensus as favouring methods on bool over Option constructors and asks people to confirm before changing the spec.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150452805", + "kind": "review-comment", + "actor": "Dynisious", + "createdAt": "2017-11-13T05:56:07Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150452805", + "summary": "The opener repeats that the template dictates the format.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150366800" + }, + { + "id": "rfcs-2180:review-comment:150669803", + "kind": "review-comment", + "actor": "mgattozzi", + "createdAt": "2017-11-13T21:26:37Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150669803", + "summary": "A contributor suggests the compiler would optimise away the need for a lazy variant.", + "actorId": 3514399, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:150671599", + "kind": "review-comment", + "actor": "eddyb", + "createdAt": "2017-11-13T21:33:30Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150671599", + "summary": "A compiler contributor explains the lazy form is about side effects.", + "actorId": 77424, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150669803" + }, + { + "id": "rfcs-2180:review-comment:150671778", + "kind": "review-comment", + "actor": "eddyb", + "createdAt": "2017-11-13T21:34:15Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150671778", + "summary": "The same contributor adds it resembles map over Option<()>.", + "actorId": 77424, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150669803" + }, + { + "id": "rfcs-2180:review-comment:150672956", + "kind": "review-comment", + "actor": "mgattozzi", + "createdAt": "2017-11-13T21:38:56Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r150672956", + "summary": "The contributor accepts that.", + "actorId": 3514399, + "actorType": "human", + "parentId": "rfcs-2180:review-comment:150669803" + }, + { + "id": "rfcs-2180:comment:344105165", + "kind": "comment", + "actor": "mdinger", + "createdAt": "2017-11-14T00:28:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-344105165", + "summary": "A contributor thanks the opener, saying the new summary makes the proposal clear.", + "actorId": 4156987, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:review-comment:153049874", + "kind": "review-comment", + "actor": "fstirlitz", + "createdAt": "2017-11-25T16:56:43Z", + "editedAt": "2017-12-27T10:08:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#discussion_r153049874", + "summary": "A user argues the operation has nothing to do with predicate logic and all such references should go.", + "actorId": 4331184, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348693761", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-12-02T13:57:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348693761", + "summary": "The opener updates the spec to match discussion and asks how best to add methods to a primitive.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348693938", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-12-02T14:00:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348693938", + "summary": "The opener posts a new introduction: methods on bool equivalent to an if returning Some or None.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348718851", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-12-02T20:44:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348718851", + "summary": "A contributor dislikes the name lazy_if as inconsistent with some_if.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348738153", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-12-03T03:45:02Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348738153", + "summary": "The opener invites better names.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348738614", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-12-03T04:00:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348738614", + "summary": "A contributor offers some_with_if and suggests generalising over Try with ok_if names.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348825815", + "kind": "comment", + "actor": "SimonSapin", + "createdAt": "2017-12-03T23:02:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348825815", + "summary": "A libs team member cites std precedent for value versus closure variants such as or and or_else.", + "actorId": 291359, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348826341", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-12-03T23:06:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348826341", + "summary": "A contributor proposes some_if_with or ok_if_with.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348834043", + "kind": "comment", + "actor": "burdges", + "createdAt": "2017-12-04T00:39:45Z", + "editedAt": "2017-12-04T00:42:40Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348834043", + "summary": "A user argues some and some_with fit variant naming best and ok names should be reserved for Result.", + "actorId": 680126, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348835781", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-12-04T01:02:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348835781", + "summary": "A contributor proposes some_and names and sketches a Try-generic signature.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:348843681", + "kind": "comment", + "actor": "burdges", + "createdAt": "2017-12-04T02:18:48Z", + "editedAt": "2017-12-04T02:19:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-348843681", + "summary": "A user suggests mirroring Option's method names on bool in case bool and Option<()> are ever unified, with a table of candidate type equivalences.", + "actorId": 680126, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:350498489", + "kind": "comment", + "actor": "fstirlitz", + "createdAt": "2017-12-09T19:05:45Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-350498489", + "summary": "A user proposes then and then_do for the eager and lazy versions.", + "actorId": 4331184, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:350525652", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2017-12-10T05:07:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-350525652", + "summary": "The opener leans toward then and then_do.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:350533303", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2017-12-10T08:38:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-350533303", + "summary": "A team member says a Try-generic return type would break inference and prefers returning Option only.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:350566943", + "kind": "comment", + "actor": "Centril", + "createdAt": "2017-12-10T18:11:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-350566943", + "summary": "A contributor accepts that.", + "actorId": 855702, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:375560600", + "kind": "comment", + "actor": "JustAPerson", + "createdAt": "2018-03-23T06:47:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-375560600", + "summary": "A user supports bool methods but finds the RFC title misleading.", + "actorId": 789308, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:392346494", + "kind": "comment", + "actor": "varkor", + "createdAt": "2018-05-27T16:46:44Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-392346494", + "summary": "A contributor asks if naming is the only blocker.", + "actorId": 3943692, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-06-03T18:58:53Z", + "kind": "process", + "actor": "aturon", + "createdAt": "2018-06-03T18:58:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "A team member nominates the RFC for libs team discussion.", + "actorId": 709807, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:394183421", + "kind": "comment", + "actor": "aturon", + "createdAt": "2018-06-03T18:59:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-394183421", + "summary": "A team member unassigns themselves and nominates it for the libs team.", + "actorId": 709807, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:394190087", + "kind": "comment", + "actor": "nielsle", + "createdAt": "2018-06-03T20:45:48Z", + "editedAt": "2018-06-03T20:47:19Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-394190087", + "summary": "A user notes Option::filter on nightly can approximate this.", + "actorId": 292118, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:394196785", + "kind": "comment", + "actor": "jonhoo", + "createdAt": "2018-06-03T22:29:19Z", + "editedAt": "2018-06-03T22:29:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-394196785", + "summary": "A contributor replies that filter does not cover lazily building an expensive value.", + "actorId": 176295, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:397181663", + "kind": "comment", + "actor": "Dynisious", + "createdAt": "2018-06-14T06:06:22Z", + "editedAt": "2018-06-14T06:07:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-397181663", + "summary": "The opener publishes a crate implementing the methods.", + "actorId": 5057114, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:415517696", + "kind": "comment", + "actor": "alexcrichton", + "createdAt": "2018-08-23T18:16:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-415517696", + "summary": "A libs team member moves to postpone, saying the team lacks bandwidth to finish the naming bikeshed and the crate lets names be tried meanwhile.", + "actorId": 64996, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:415517701", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2018-08-23T18:16:50Z", + "editedAt": "2018-09-20T20:33:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-415517701", + "summary": "The rfcbot lists libs team sign-offs on postponing.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-08-23T18:16:51Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-08-23T18:16:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot marks a proposed final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-08-23T18:16:51Z+", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-08-23T18:16:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot marks the disposition as postpone.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-09-05T17:48:00Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-09-05T17:48:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot marks the final comment period as started.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:418820179", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2018-09-05T17:48:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-418820179", + "summary": "The bot announces the final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:421606520", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2018-09-15T17:48:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-421606520", + "summary": "The bot announces the period has ended and the RFC is postponed.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-09-15T17:48:03Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-09-15T17:48:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot marks the final comment period finished.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:labeled:2018-09-15T17:48:04Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-09-15T17:48:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot labels the RFC postponed.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:closed:2018-09-15T17:48:04Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2018-09-15T17:48:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "The bot closes the RFC.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:process:cross-referenced:2019-09-05T11:32:31Z", + "kind": "process", + "actor": "varkor", + "createdAt": "2019-09-05T11:32:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180", + "summary": "A follow-up RFC #2757 for bool to Option methods is linked.", + "actorId": 3943692, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + }, + { + "id": "rfcs-2180:comment:528321784", + "kind": "comment", + "actor": "varkor", + "createdAt": "2019-09-05T11:33:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/2180#issuecomment-528321784", + "summary": "A contributor announces the follow-up RFC.", + "actorId": 3943692, + "actorType": "human", + "parentId": "rfcs-2180:pr:2180" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rfcs-crate-changelogs.json b/evals/datasets/decisions-v1/cases/rfcs-crate-changelogs.json new file mode 100644 index 000000000..521665520 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rfcs-crate-changelogs.json @@ -0,0 +1,1009 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rfcs-crate-changelogs", + "title": "Crate changelog support in Cargo and crates.io", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "retrievedAt": "2026-10-18T07:31:26.303846+00:00", + "repository": "rust-lang/rfcs", + "number": 2129 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-08-27T01:00:00Z" + }, + { + "id": "c2", + "at": "2017-08-31T00:00:00Z" + }, + { + "id": "c3", + "at": "2019-09-21T00:00:00Z" + }, + { + "id": "c4", + "at": "2020-02-01T16:00:00Z" + } + ], + "events": [ + { + "id": "rfcs-2129:pr:2129", + "kind": "opening", + "actor": "newpavlov", + "createdAt": "2017-08-27T00:13:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A contributor proposes a `changelog` field in Cargo.toml pointing to a bundled file or external page, minimal format rules for bundled files, a `cargo publish` check that the changelog was updated, and a changelog tab on crates.io; an earlier multi-file idea was split into its own RFC.", + "actorId": 329626, + "actorType": "human" + }, + { + "id": "rfcs-2129:comment:325173449", + "kind": "comment", + "actor": "Lokathor", + "createdAt": "2017-08-27T02:36:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325173449", + "summary": "A contributor asks whether tooling could generate an API diff as the changelog instead.", + "actorId": 5456384, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325174332", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-27T03:08:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325174332", + "summary": "The author says that is out of scope but could come later as a cargo subcommand.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325176112", + "kind": "comment", + "actor": "nvzqz", + "createdAt": "2017-08-27T04:13:18Z", + "editedAt": "2017-08-27T04:32:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325176112", + "summary": "A contributor argues commit-derived changelogs are noisy and suggests asking for help in an issue if unsure how to write one.", + "actorId": 10367662, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325176275", + "kind": "comment", + "actor": "nvzqz", + "createdAt": "2017-08-27T04:19:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325176275", + "summary": "The same contributor asks how a changelog should signal a deprecated or abandoned crate.", + "actorId": 10367662, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325177050", + "kind": "comment", + "actor": "boustrophedon", + "createdAt": "2017-08-27T04:52:36Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325177050", + "summary": "A user suggests such notices belong in the README.", + "actorId": 936147, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325177954", + "kind": "comment", + "actor": "nvzqz", + "createdAt": "2017-08-27T05:24:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325177954", + "summary": "The contributor replies the Unreleased section could carry that message.", + "actorId": 10367662, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325179081", + "kind": "comment", + "actor": "tblair", + "createdAt": "2017-08-27T06:03:05Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325179081", + "summary": "A user objects to Cargo endorsing one changelog style, since conventional-commit tools like clog are already used in Rust.", + "actorId": 3254511, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325180234", + "kind": "comment", + "actor": "sunjay", + "createdAt": "2017-08-27T06:37:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325180234", + "summary": "A user likes the manifest key and crates.io link but not the split-file format or generating changelogs inside Cargo.", + "actorId": 530939, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325180650", + "kind": "comment", + "actor": "vorner", + "createdAt": "2017-08-27T06:49:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325180650", + "summary": "A user supports a required format for rendering but dislikes per-release files and needing to be online to generate the log.", + "actorId": 11783500, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325180946", + "kind": "comment", + "actor": "mehcode", + "createdAt": "2017-08-27T06:58:25Z", + "editedAt": "2017-08-27T06:59:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325180946", + "summary": "A user wants only a loose structure of version headers and bullet lists so crates.io can show per-version changes, and no official generator.", + "actorId": 753919, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325182446", + "kind": "comment", + "actor": "est31", + "createdAt": "2017-08-27T07:38:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325182446", + "summary": "A maintainer prefers one file and as little format prescription as possible.", + "actorId": 8872119, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325183390", + "kind": "comment", + "actor": "bluss", + "createdAt": "2017-08-27T08:01:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325183390", + "summary": "A user agrees, since readers scan a changelog as one timeline.", + "actorId": 3209739, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325187986", + "kind": "comment", + "actor": "sunng87", + "createdAt": "2017-08-27T09:43:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325187986", + "summary": "A user favours a single hand-written file with an Unreleased section updated by cargo-release.", + "actorId": 221942, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325188035", + "kind": "comment", + "actor": "flosse", + "createdAt": "2017-08-27T09:44:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325188035", + "summary": "A user agrees.", + "actorId": 276043, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325188234", + "kind": "comment", + "actor": "arthurprs", + "createdAt": "2017-08-27T09:49:09Z", + "editedAt": "2017-08-27T09:49:17Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325188234", + "summary": "A user suggests crates.io simply render a CHANGELOG.md when present.", + "actorId": 715958, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325188440", + "kind": "comment", + "actor": "ruuda", + "createdAt": "2017-08-27T09:54:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325188440", + "summary": "A user summarises consensus for one file and prefers letting projects choose its format.", + "actorId": 506953, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325189334", + "kind": "comment", + "actor": "mathstuf", + "createdAt": "2017-08-27T10:13:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325189334", + "summary": "A user wants crates.io to render known changelog paths without caring how they are produced, and describes collating per-PR note files at release time.", + "actorId": 97253, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325191953", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-27T11:13:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325191953", + "summary": "The author moves the multi-file idea to a separate RFC, but keeps minimal machine readability and the publish check.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:cross-referenced:2017-08-27T11:19:00Z", + "kind": "process", + "actor": "newpavlov", + "createdAt": "2017-08-27T11:19:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "The author links the separate multi-file changelog RFC.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:review-comment:135409241", + "kind": "review-comment", + "actor": "mathstuf", + "createdAt": "2017-08-27T11:25:02Z", + "editedAt": "2018-09-06T19:18:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#discussion_r135409241", + "summary": "A user flags a typo.", + "actorId": 97253, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325198349", + "kind": "comment", + "actor": "jimmycuadra", + "createdAt": "2017-08-27T13:27:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325198349", + "summary": "A user argues the field should just be a URL like `documentation`, since many projects use GitHub releases or tag messages.", + "actorId": 122457, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325198908", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-27T13:38:20Z", + "editedAt": "2017-08-27T13:46:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325198908", + "summary": "The author disagrees, wanting a coherent display rather than scattered links, but will list it as an alternative.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325199516", + "kind": "comment", + "actor": "killercup", + "createdAt": "2017-08-27T13:49:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325199516", + "summary": "A contributor points to their comment on the companion RFC.", + "actorId": 20063, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325202719", + "kind": "comment", + "actor": "bb010g", + "createdAt": "2017-08-27T14:44:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325202719", + "summary": "A user opposes external links, valuing offline access and future rendering of in-repo files.", + "actorId": 340132, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:review-comment:135418890", + "kind": "review-comment", + "actor": "withoutboats", + "createdAt": "2017-08-27T19:13:13Z", + "editedAt": "2018-09-06T19:18:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#discussion_r135418890", + "summary": "A contributor asks what happens if a changelog breaks the stated requirements.", + "actorId": 9063376, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325219834", + "kind": "comment", + "actor": "nrc", + "createdAt": "2017-08-27T19:43:45Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325219834", + "summary": "A Rust team member approves and notes the VS Code marketplace just renders CHANGELOG.md without format rules.", + "actorId": 762626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325220140", + "kind": "comment", + "actor": "withoutboats", + "createdAt": "2017-08-27T19:49:01Z", + "editedAt": "2017-08-27T19:49:17Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325220140", + "summary": "A Rust team member suggests treating it like READMEs: render CHANGELOG.md on a separate page, questioning the format rules.", + "actorId": 9063376, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325220771", + "kind": "comment", + "actor": "withoutboats", + "createdAt": "2017-08-27T20:00:19Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325220771", + "summary": "The same member revises this to a manifest key rendered with the README rules.", + "actorId": 9063376, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:review-comment:135421710", + "kind": "review-comment", + "actor": "newpavlov", + "createdAt": "2017-08-27T21:27:26Z", + "editedAt": "2018-09-06T19:18:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#discussion_r135421710", + "summary": "The author says non-conforming changelogs would be rejected at publish.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:review-comment:135418890" + }, + { + "id": "rfcs-2129:comment:325226296", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-27T21:34:50Z", + "editedAt": "2017-08-28T01:15:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325226296", + "summary": "The author argues a checked structure enables future filtering and a reminder when the changelog was not updated.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325522830", + "kind": "comment", + "actor": "kornelski", + "createdAt": "2017-08-29T00:52:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325522830", + "summary": "A contributor cites a use case for machine-readable changelogs: showing breaking changes on dependency upgrade.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325524390", + "kind": "comment", + "actor": "sunjay", + "createdAt": "2017-08-29T01:03:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325524390", + "summary": "A user asks whether showing the whole changelog would not be enough.", + "actorId": 530939, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325527442", + "kind": "comment", + "actor": "kornelski", + "createdAt": "2017-08-29T01:24:40Z", + "editedAt": "2017-08-29T01:29:45Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325527442", + "summary": "The contributor argues filtering matters because patch notes are trivial while major-version notes need attention.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325527676", + "kind": "comment", + "actor": "mehcode", + "createdAt": "2017-08-29T01:26:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325527676", + "summary": "A user imagines an interactive `cargo update` showing such changes.", + "actorId": 753919, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325530368", + "kind": "comment", + "actor": "kornelski", + "createdAt": "2017-08-29T01:45:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325530368", + "summary": "The contributor points to Debian's changelog practice, including urgency fields and compression.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325530802", + "kind": "comment", + "actor": "kornelski", + "createdAt": "2017-08-29T01:49:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325530802", + "summary": "The contributor also points to Node's changelog layout.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:325618732", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-29T10:09:24Z", + "editedAt": "2017-08-29T10:10:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-325618732", + "summary": "The author notes even minimal rules met pushback, says the RFC enables version filtering, and weighs a `changelog-format` key or pluggable tools while doubting both.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326103771", + "kind": "comment", + "actor": "tapeinosyne", + "createdAt": "2017-08-30T20:06:28Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326103771", + "summary": "A user wants only the key for now, perhaps with a lint for missing changelogs, calling format rules premature.", + "actorId": 3063022, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326106217", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-30T20:16:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326106217", + "summary": "The author asks for real counter-examples and argues setting rules later would break compatibility.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326111364", + "kind": "comment", + "actor": "withoutboats", + "createdAt": "2017-08-30T20:36:16Z", + "editedAt": "2017-08-30T20:37:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326111364", + "summary": "A Rust team member replies richer features can simply require conformance, and notes crates.io does not even validate LICENSE files.", + "actorId": 9063376, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326113577", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-30T20:45:04Z", + "editedAt": "2017-08-30T20:49:28Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326113577", + "summary": "The author warns optional conformance would fragment the ecosystem.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326118533", + "kind": "comment", + "actor": "sunjay", + "createdAt": "2017-08-30T21:03:05Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326118533", + "summary": "A user proposes adding the key first and deriving lints later from formats people actually adopt.", + "actorId": 530939, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326123520", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-30T21:24:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326123520", + "summary": "The author says existing changelogs already fit the minimal rules and it is better to get it right first.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326126895", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-08-30T21:39:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326126895", + "summary": "A maintainer asks whether ripgrep's changelog conforms.", + "actorId": 456674, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326128016", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-30T21:44:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326128016", + "summary": "The author says yes, apart from heading style.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326128800", + "kind": "comment", + "actor": "mehcode", + "createdAt": "2017-08-30T21:47:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326128800", + "summary": "A user sketches a rule: headings at one level must begin with a semver, with free content inside.", + "actorId": 753919, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326129879", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-30T21:52:28Z", + "editedAt": "2017-08-31T10:23:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326129879", + "summary": "The author says that matches the intent and will add examples.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326137428", + "kind": "comment", + "actor": "withoutboats", + "createdAt": "2017-08-30T22:30:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326137428", + "summary": "A Rust team member argues tools can tolerate non-conforming crates and that features should key off rendered HTML headers, not Markdown source.", + "actorId": 9063376, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326141287", + "kind": "comment", + "actor": "carols10cents", + "createdAt": "2017-08-30T22:52:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326141287", + "summary": "A crates.io maintainer proposes the key accept either a URL or a bundled file, linked or rendered like READMEs, and would support the RFC with that change.", + "actorId": 193874, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326187432", + "kind": "comment", + "actor": "tapeinosyne", + "createdAt": "2017-08-31T04:37:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326187432", + "summary": "A user argues there are too few Rust changelogs to justify a standard and that plaintext should stay free-form, with optional conventions unlocking extras.", + "actorId": 3063022, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326252223", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-31T10:11:08Z", + "editedAt": "2017-08-31T10:22:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326252223", + "summary": "The author adds external-link support but keeps the file rules and publish check.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326257713", + "kind": "comment", + "actor": "vorner", + "createdAt": "2017-08-31T10:37:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326257713", + "summary": "A user finds the rules sensible since they apply only to rendered files, and raises the Unreleased section and a `cargo new` template.", + "actorId": 11783500, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326264499", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-31T11:11:30Z", + "editedAt": "2017-08-31T11:14:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326264499", + "summary": "The author lists Unreleased as an open question and defers the template idea.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326331921", + "kind": "comment", + "actor": "bluss", + "createdAt": "2017-08-31T15:29:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326331921", + "summary": "A user notes some crates use reStructuredText and asks that non-Markdown not be forced through a Markdown renderer.", + "actorId": 3209739, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:326345346", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-08-31T16:09:25Z", + "editedAt": "2017-08-31T16:10:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-326345346", + "summary": "The author says more markup formats can come later.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:328967519", + "kind": "comment", + "actor": "dbrgn", + "createdAt": "2017-09-12T19:59:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-328967519", + "summary": "A user who blogged about the topic backs the RFC but finds the Unreleased ban and the published-versions rule too strict, preferring an unspecified format and a soft URL check.", + "actorId": 105168, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:330078998", + "kind": "comment", + "actor": "tapeinosyne", + "createdAt": "2017-09-17T19:55:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-330078998", + "summary": "A user suggests a separate RFC for just the uncontroversial `changelog` key.", + "actorId": 3063022, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:330111598", + "kind": "comment", + "actor": "newpavlov", + "createdAt": "2017-09-18T02:05:51Z", + "editedAt": "2017-09-18T09:09:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-330111598", + "summary": "The author drops the published-versions rule, keeps the Unreleased ban, and argues an unstructured key would block tooling.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:330148544", + "kind": "comment", + "actor": "dbrgn", + "createdAt": "2017-09-18T07:42:54Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-330148544", + "summary": "The user accepts the Unreleased reasoning.", + "actorId": 105168, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:review-comment:210585623", + "kind": "review-comment", + "actor": "demurgos", + "createdAt": "2018-08-16T13:02:01Z", + "editedAt": "2018-09-06T19:18:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#discussion_r210585623", + "summary": "A user flags a filename typo.", + "actorId": 2262218, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:review-comment:215746695", + "kind": "review-comment", + "actor": "newpavlov", + "createdAt": "2018-09-06T19:19:19Z", + "editedAt": "2018-09-06T19:19:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#discussion_r215746695", + "summary": "The author thanks them.", + "actorId": 329626, + "actorType": "human", + "parentId": "rfcs-2129:review-comment:210585623" + }, + { + "id": "rfcs-2129:comment:533753017", + "kind": "comment", + "actor": "ehuss", + "createdAt": "2019-09-21T00:43:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533753017", + "summary": "A Cargo team member reports the team decided in a meeting not to proceed: a single machine-readable format is too strict, and a bare link adds little over the README; they propose closing.", + "actorId": 43198, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:533753018", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2019-09-21T00:43:16Z", + "editedAt": "2020-01-22T14:55:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533753018", + "summary": "A bot lists the Cargo and crates.io team members asked to review the close proposal.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:labeled:2019-09-21T00:43:16Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2019-09-21T00:43:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot marks the RFC as proposed for final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:labeled:2019-09-21T00:43:16Z+", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2019-09-21T00:43:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot marks the disposition as close.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:533757356", + "kind": "comment", + "actor": "ishitatsuyuki", + "createdAt": "2019-09-21T01:39:35Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533757356", + "summary": "A team member signs off on closing.", + "actorId": 12389383, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:533799228", + "kind": "comment", + "actor": "Eh2406", + "createdAt": "2019-09-21T13:45:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533799228", + "summary": "A team member signs off on closing.", + "actorId": 3709504, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:533913013", + "kind": "comment", + "actor": "smarnach", + "createdAt": "2019-09-22T19:55:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533913013", + "summary": "A team member signs off on closing.", + "actorId": 249196, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:533915868", + "kind": "comment", + "actor": "sgrif", + "createdAt": "2019-09-22T20:28:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-533915868", + "summary": "A team member signs off on closing.", + "actorId": 1529387, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:534008128", + "kind": "comment", + "actor": "Turbo87", + "createdAt": "2019-09-23T08:39:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-534008128", + "summary": "A crates.io team member signs off, saying changelogs are good but should not be enforced, perhaps feeding a future quality score instead.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:570797448", + "kind": "comment", + "actor": "jtgeibel", + "createdAt": "2020-01-04T16:10:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-570797448", + "summary": "A team member signs off on closing.", + "actorId": 22186, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:573195235", + "kind": "comment", + "actor": "locks", + "createdAt": "2020-01-10T20:35:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-573195235", + "summary": "A team member signs off on closing.", + "actorId": 32344, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:labeled:2020-01-22T15:02:06Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-01-22T15:02:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot starts the final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:unlabeled:2020-01-22T15:02:07Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-01-22T15:02:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot removes the proposed label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:577224407", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2020-01-22T15:02:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-577224407", + "summary": "A bot announces the final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:labeled:2020-02-01T15:02:55Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot marks the final comment period finished.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:581038371", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-581038371", + "summary": "A bot announces the period has ended and the RFC is closed.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:unlabeled:2020-02-01T15:02:56Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot removes the active period label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:labeled:2020-02-01T15:02:57Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot labels the RFC closed.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:unlabeled:2020-02-01T15:02:58Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:58Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot removes the close disposition label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:closed:2020-02-01T15:02:58Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2020-02-01T15:02:58Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "A bot closes the RFC.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:1155082217", + "kind": "comment", + "actor": "georgefst", + "createdAt": "2022-06-14T11:52:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-1155082217", + "summary": "A user is disappointed, suspecting broad support for encouraging changelogs was lost in format bikeshedding, and asks for a minimal proposal.", + "actorId": 12991097, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:1155086253", + "kind": "comment", + "actor": "mathstuf", + "createdAt": "2022-06-14T11:57:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-1155086253", + "summary": "A user suggests the most anyone would agree on is Markdown, a blessed filename and version headings.", + "actorId": 97253, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:2681465742", + "kind": "comment", + "actor": "kxxt", + "createdAt": "2025-02-25T10:19:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-2681465742", + "summary": "A user plans a reduced RFC with only an external changelog link, arguing bundled files go stale and grow.", + "actorId": 18085551, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:process:cross-referenced:2025-02-25T15:03:13Z", + "kind": "process", + "actor": "kxxt", + "createdAt": "2025-02-25T15:03:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129", + "summary": "The user links the new reduced changelog-field RFC.", + "actorId": 18085551, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + }, + { + "id": "rfcs-2129:comment:2682294585", + "kind": "comment", + "actor": "kxxt", + "createdAt": "2025-02-25T15:04:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/2129#issuecomment-2682294585", + "summary": "The user points to that RFC.", + "actorId": 18085551, + "actorType": "human", + "parentId": "rfcs-2129:pr:2129" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rfcs-derive-from-single-field.json b/evals/datasets/decisions-v1/cases/rfcs-derive-from-single-field.json new file mode 100644 index 000000000..a3c0f74d4 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rfcs-derive-from-single-field.json @@ -0,0 +1,1169 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rfcs-derive-from-single-field", + "title": "derive(From) for single-field structs", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "retrievedAt": "2026-10-18T07:32:02.801726+00:00", + "repository": "rust-lang/rfcs", + "number": 3809 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-05-06T13:00:00Z" + }, + { + "id": "c2", + "at": "2025-06-12T10:00:00Z" + }, + { + "id": "c3", + "at": "2025-07-07T18:00:00Z" + }, + { + "id": "c4", + "at": "2025-08-04T20:00:00Z" + } + ], + "events": [ + { + "id": "rfcs-3809:pr:3809", + "kind": "opening", + "actor": "Kobzol", + "createdAt": "2025-05-06T11:54:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A maintainer opens an RFC, following an internals pre-RFC, to let derive(From) generate a From impl from the field type for structs with exactly one field.", + "actorId": 4539057, + "actorType": "human" + }, + { + "id": "rfcs-3809:comment:2855495236", + "kind": "comment", + "actor": "clarfonthey", + "createdAt": "2025-05-06T18:12:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2855495236", + "summary": "A contributor supports it and asks the RFC to cover generic fields and transparent structs with extra zero-sized fields, the latter as future work.", + "actorId": 15850505, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2855638414", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-05-06T19:09:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2855638414", + "summary": "The author agrees to mention generics and to leave the zero-sized case for later.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2856952994", + "kind": "comment", + "actor": "kennytm", + "createdAt": "2025-05-07T03:59:53Z", + "editedAt": "2025-05-07T04:04:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2856952994", + "summary": "A maintainer suggests a future extension that skips fields with default values, possibly still marking the source field with #[from].", + "actorId": 103023, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2077554209", + "kind": "review-comment", + "actor": "shepmaster", + "createdAt": "2025-05-07T12:50:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2077554209", + "summary": "A maintainer suggests a wording fix in the motivation.", + "actorId": 174509, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2077591375", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-05-07T13:07:59Z", + "editedAt": "2025-05-07T13:08:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2077591375", + "summary": "The author accepts the fix.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2077554209" + }, + { + "id": "rfcs-3809:comment:2867677768", + "kind": "comment", + "actor": "nielsle", + "createdAt": "2025-05-09T19:23:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2867677768", + "summary": "A user mentions the derive-new crate and suggests this may belong in a third-party crate.", + "actorId": 292118, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2082697364", + "kind": "review-comment", + "actor": "teor2345", + "createdAt": "2025-05-10T00:49:41Z", + "editedAt": "2025-05-10T00:57:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2082697364", + "summary": "A maintainer suggests a grammar fix.", + "actorId": 8951843, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2082706247", + "kind": "review-comment", + "actor": "teor2345", + "createdAt": "2025-05-10T00:55:15Z", + "editedAt": "2025-05-10T00:57:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2082706247", + "summary": "A maintainer warns that a derive(Into) producing a reverse From impl could be confusing for generic types.", + "actorId": 8951843, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2082812678", + "kind": "review-comment", + "actor": "kennytm", + "createdAt": "2025-05-10T04:17:54Z", + "editedAt": "2025-05-10T04:17:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2082812678", + "summary": "A maintainer notes that derive names no longer have to match the trait they implement, citing CoercePointee.", + "actorId": 103023, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:comment:2868624226", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-05-10T08:14:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2868624226", + "summary": "The author replies that a new constructor is too opinionated for the standard library and would need its own RFC.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2083021522", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-05-10T08:16:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2083021522", + "summary": "The author says the derive(Into) idea is speculative and should stay out of this deliberately small RFC.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:review-comment:2084126595", + "kind": "review-comment", + "actor": "teor2345", + "createdAt": "2025-05-12T08:31:35Z", + "editedAt": "2025-05-12T08:31:36Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2084126595", + "summary": "The earlier reviewer clarifies the concern is about confusing semantics rather than naming.", + "actorId": 8951843, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:review-comment:2085756888", + "kind": "review-comment", + "actor": "tmccombs", + "createdAt": "2025-05-13T01:18:49Z", + "editedAt": "2025-05-13T01:18:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2085756888", + "summary": "A contributor would prefer a macro form for the reverse direction, while noting it repeats the inner type.", + "actorId": 2541726, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:review-comment:2086026612", + "kind": "review-comment", + "actor": "kennytm", + "createdAt": "2025-05-13T06:36:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2086026612", + "summary": "A maintainer argues derive(Into) is still the most fitting name, citing derive_more's precedent.", + "actorId": 103023, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:review-comment:2112383041", + "kind": "review-comment", + "actor": "joshtriplett", + "createdAt": "2025-05-28T17:11:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2112383041", + "summary": "A lang team member would like a reverse-direction derive but supports leaving it as future work.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2082706247" + }, + { + "id": "rfcs-3809:comment:2917056674", + "kind": "comment", + "actor": "joshtriplett", + "createdAt": "2025-05-28T17:15:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2917056674", + "summary": "A lang team member says the proposal is simple and sound, frames the question, and proposes merging via FCP.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2917056764", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-05-28T17:15:12Z", + "editedAt": "2025-05-28T17:15:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2917056764", + "summary": "A bot lists the lang team members who need to sign off on the merge proposal.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-05-28T17:15:12Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-05-28T17:15:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot marks the RFC as in proposed final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-05-28T17:15:13Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-05-28T17:15:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot adds the disposition-merge label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2945473181", + "kind": "comment", + "actor": "matthieu-m", + "createdAt": "2025-06-05T17:48:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2945473181", + "summary": "A user urges separate syntax for each direction, since newtypes that enforce invariants should not get a From impl from the inner type while the reverse is always safe.", + "actorId": 2420441, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2963675737", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2025-06-11T17:46:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2963675737", + "summary": "A lang team member questions whether this is a lang matter at all, since a proc macro could do it, and says a possibly wrong From is the user's responsibility as with other derives.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964594802", + "kind": "comment", + "actor": "traviscross", + "createdAt": "2025-06-12T00:11:32Z", + "editedAt": "2025-06-12T00:16:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964594802", + "summary": "A lang team member cites a past dual-team RFC as precedent and cancels the FCP to restart it with libs-api added.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964594866", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:11:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964594866", + "summary": "A bot confirms the cancellation.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-06-12T00:11:34Z", + "kind": "process", + "actor": "rustbot", + "createdAt": "2025-06-12T00:11:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "The libs-api team label is added.", + "actorId": 47979223, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-06-12T00:11:34Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:11:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot removes the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-06-12T00:11:35Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:11:35Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot removes the disposition-merge label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964595489", + "kind": "comment", + "actor": "traviscross", + "createdAt": "2025-06-12T00:12:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964595489", + "summary": "A lang team member restarts the merge proposal for both teams.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964595525", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:12:02Z", + "editedAt": "2025-07-19T11:17:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964595525", + "summary": "A bot lists lang and libs-api reviewers; the tally later shows most boxes checked and a direction concern raised and resolved.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-06-12T00:12:03Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:12:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot re-adds the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-06-12T00:12:03Z+", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-12T00:12:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot re-adds the disposition-merge label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964603844", + "kind": "comment", + "actor": "jhpratt", + "createdAt": "2025-06-12T00:18:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964603844", + "summary": "A maintainer recalls that the earlier dual review set precedent for helper attributes and views this one as libs-api only.", + "actorId": 3161395, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964613971", + "kind": "comment", + "actor": "traviscross", + "createdAt": "2025-06-12T00:25:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964613971", + "summary": "The lang member adds that a dual FCP is simpler than settling jurisdiction.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2964621420", + "kind": "comment", + "actor": "clarfonthey", + "createdAt": "2025-06-12T00:28:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2964621420", + "summary": "A contributor agrees that asking both teams is quicker than debating which should review.", + "actorId": 15850505, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2141817508", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T06:29:21Z", + "editedAt": "2025-06-12T06:29:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141817508", + "summary": "A maintainer objects that the motivating newtype example undermines newtypes, since a From impl makes accidental conversion easy and is wrong for types with invariants, and says derive(Into) would be more useful.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2141820071", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T06:31:11Z", + "editedAt": "2025-06-12T06:31:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141820071", + "summary": "The same maintainer questions an API pattern in the RFC that accepts anything convertible into the newtype and asks for real examples.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2965304322", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T06:37:07Z", + "editedAt": "2025-06-12T06:37:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965304322", + "summary": "That maintainer asks the RFC to show the derive is not usually wrong and to acknowledge downsides, mentioning the orphan-rule use case.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2141855968", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T06:52:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141855968", + "summary": "The author argues the primary purpose of a newtype is a distinct type, and From suits newtypes without extra invariants, while constrained ones need fallible constructors.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2141857141", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T06:53:22Z", + "editedAt": "2025-06-12T06:53:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141857141", + "summary": "The author says conversion still requires an explicit call, so mixing two newtypes stays hard, and the pattern was meant for test helpers.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141820071" + }, + { + "id": "rfcs-3809:comment:2965356305", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T06:56:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965356305", + "summary": "The author adds that the derive is just a shortcut for writing From and cannot guarantee correct use.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2141909185", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T07:20:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141909185", + "summary": "The maintainer disagrees that From is fine for such newtypes, since any integer could become an ID without notice.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:comment:2965432816", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T07:22:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965432816", + "summary": "The maintainer says the RFC's main example is a warning sign and they never write From impls this derive would help.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2141921565", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T07:26:09Z", + "editedAt": "2025-06-12T07:28:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141921565", + "summary": "The maintainer argues .into() conversions are effectively implicit and test code is a weak motivation.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141820071" + }, + { + "id": "rfcs-3809:review-comment:2141935278", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T07:33:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2141935278", + "summary": "The maintainer finds that compiler newtypes do implement From, to their surprise.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:comment:2965466414", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T07:33:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965466414", + "summary": "The maintainer clarifies they are not strongly against the feature but want the RFC to argue it better and list downsides.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2142008256", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T08:06:40Z", + "editedAt": "2025-06-12T08:06:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142008256", + "summary": "The maintainer finds a few .into() uses in the compiler and notes Miri's newtype macro omits From on purpose.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142022687", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T08:13:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142022687", + "summary": "The maintainer finds no such conversion-accepting functions in the compiler and admits overlooking the test context.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141820071" + }, + { + "id": "rfcs-3809:review-comment:2142071359", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T08:39:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142071359", + "summary": "The author explains that values must enter the newtype domain somehow, usually via a constructor or From, since the field should stay private.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:comment:2965681937", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T08:43:33Z", + "editedAt": "2025-06-12T08:44:05Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965681937", + "summary": "The author notes the RFC includes ecosystem usage statistics and says whether From suits a type is the user's call; the RFC is about single-field structs, not newtypes specifically.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2142148663", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T09:19:28Z", + "editedAt": "2025-06-12T09:21:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142148663", + "summary": "The maintainer insists .into() is not explicit because the target type is not visible locally.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142160084", + "kind": "review-comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T09:23:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142160084", + "summary": "The author summarises the disagreement: explicit constructors are acceptable to the maintainer but .into() is not.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142175762", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T09:27:50Z", + "editedAt": "2025-06-12T09:27:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142175762", + "summary": "The maintainer confirms and says they would make from an inherent method instead.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:comment:2965893430", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-12T09:39:37Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965893430", + "summary": "The author removes the test-helper motivation and rewords when implementing From makes sense.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:2965930830", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T09:49:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-2965930830", + "summary": "The maintainer thanks the author for the change.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:review-comment:2142866205", + "kind": "review-comment", + "actor": "teohhanhui", + "createdAt": "2025-06-12T14:06:57Z", + "editedAt": "2025-06-12T14:10:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142866205", + "summary": "A user argues callers should be free to use .into() whenever From exists, and lints can enforce a project style.", + "actorId": 548843, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142888616", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T14:15:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142888616", + "summary": "The maintainer compares that ergonomic argument to dropping types altogether.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142902459", + "kind": "review-comment", + "actor": "teohhanhui", + "createdAt": "2025-06-12T14:19:56Z", + "editedAt": "2025-06-12T14:21:44Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142902459", + "summary": "The user pushes back on the comparison.", + "actorId": 548843, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:review-comment:2142955757", + "kind": "review-comment", + "actor": "RalfJung", + "createdAt": "2025-06-12T14:40:14Z", + "editedAt": "2025-06-12T14:40:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#discussion_r2142955757", + "summary": "The maintainer says they like inference but .into() silently crosses the abstraction.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:review-comment:2141817508" + }, + { + "id": "rfcs-3809:comment:3012866233", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2025-06-27T12:24:58Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3012866233", + "summary": "A libs-api member shares the invariant concern, finds the derive rarely applicable in their code, but sees value for quick newtypes and thinks libs-api alone could decide.", + "actorId": 456674, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3013824452", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2025-06-27T17:09:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3013824452", + "summary": "A lang team member says the direction argument matters: for an invariant-holding type the inner-to-outer From is wrong while the reverse is correct, so adding only the rarer direction feels odd, and suggests other names.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3013922373", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-27T17:49:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3013922373", + "summary": "The author says most of their newtypes have no extra invariants, so this direction is the common one for them.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3014015344", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2025-06-27T18:22:41Z", + "editedAt": "2025-06-27T18:23:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3014015344", + "summary": "The lang team member abstains so libs-api's decision can land.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-06-27T18:22:47Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-27T18:22:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot marks the RFC as in final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-06-27T18:22:48Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-06-27T18:22:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot removes the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3014015544", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-06-27T18:22:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3014015544", + "summary": "A bot announces the final comment period has begun.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3014767592", + "kind": "comment", + "actor": "tmandry", + "createdAt": "2025-06-28T00:43:58Z", + "editedAt": "2025-06-28T01:12:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3014767592", + "summary": "A lang team member shares the concerns and asks for a broader vision covering both directions, while conceding this behaviour is the most obvious meaning of derive(From).", + "actorId": 2280544, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3014902644", + "kind": "comment", + "actor": "tmccombs", + "createdAt": "2025-06-28T03:34:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3014902644", + "summary": "A contributor finds an impl on another type surprising for either name and floats a general attribute for deriving impls on other types.", + "actorId": 2541726, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015090279", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-28T08:11:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015090279", + "summary": "The author says the RFC got too focused on newtypes and the derive is a general boilerplate reducer.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015147425", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-28T09:43:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015147425", + "summary": "The maintainer argues any single-field type is a newtype.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015151596", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-28T09:52:21Z", + "editedAt": "2025-06-28T10:00:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015151596", + "summary": "The author distinguishes the newtype design pattern from single-field structs used for other reasons.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015161743", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-28T10:12:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015161743", + "summary": "The maintainer disputes the example and asks whether the author's usage is common enough to justify a core feature.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015171517", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-06-28T10:35:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015171517", + "summary": "The author says this is mostly a library concern filling a gap between derive and standard traits.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3015177519", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-06-28T10:46:05Z", + "editedAt": "2025-06-28T10:46:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3015177519", + "summary": "The maintainer concedes it is a core library feature rather than a language one.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-07-07T18:23:19Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-07T18:23:19Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot marks the final comment period as finished.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-07-07T18:23:20Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-07T18:23:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot removes the final-comment-period label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3046141323", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-07-07T18:23:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3046141323", + "summary": "A bot announces the FCP completed with a disposition to merge.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-07-07T18:23:21Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-07T18:23:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot adds the to-announce label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3046171747", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2025-07-07T18:35:54Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3046171747", + "summary": "A libs-api member registers a late concern about the bigger picture for impl direction.", + "actorId": 456674, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-07-07T18:35:57Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-07T18:35:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot re-adds the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3046268531", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-07-07T19:15:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3046268531", + "summary": "The author asks what end state would satisfy the concern and offers two paths: accept this direction as forward-compatible, or design both directions together.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-07-07T20:33:15Z", + "kind": "process", + "actor": "traviscross", + "createdAt": "2025-07-07T20:33:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A lang team member removes the finished-FCP label.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3046725025", + "kind": "comment", + "actor": "tmandry", + "createdAt": "2025-07-07T22:51:45Z", + "editedAt": "2025-07-09T00:11:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3046725025", + "summary": "A lang team member says both derive(From) and a reverse-direction derive(Into) should exist, accepts a future-possibilities section, and objects to leaving the direction as an unresolved question.", + "actorId": 2280544, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3047708963", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-07-08T07:30:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3047708963", + "summary": "The author asks whether to keep the direction discussion in the rationale section.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3051683408", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-07-09T08:32:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3051683408", + "summary": "The author moves the direction discussion to rationale and alternatives and mentions derive(Into) as future work.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092178389", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-07-19T08:48:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092178389", + "summary": "The author asks the concerned libs-api member whether the changes suffice.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092288159", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2025-07-19T11:17:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092288159", + "summary": "The libs-api member resolves the concern but expects the reverse-direction question and its naming to be settled before stabilisation.", + "actorId": 456674, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-07-19T11:17:08Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-19T11:17:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot marks the RFC as in final comment period again.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-07-19T11:17:09Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2025-07-19T11:17:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A bot removes the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092288290", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2025-07-19T11:17:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092288290", + "summary": "A bot announces the final comment period has begun again.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092489804", + "kind": "comment", + "actor": "kennytm", + "createdAt": "2025-07-19T18:08:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092489804", + "summary": "A maintainer argues that a derive name differing from the trait is already accepted, citing CoercePointee.", + "actorId": 103023, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092494948", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2025-07-19T18:16:45Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092494948", + "summary": "Another maintainer replies that the cases differ because no trait shares CoercePointee's name.", + "actorId": 330628, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3092557582", + "kind": "comment", + "actor": "programmerjake", + "createdAt": "2025-07-19T20:32:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3092557582", + "summary": "A maintainer suggests a name like FromSelf to avoid the naming problem.", + "actorId": 4584340, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3143791087", + "kind": "comment", + "actor": "Kobzol", + "createdAt": "2025-08-01T08:57:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3143791087", + "summary": "The author notes the second FCP has not closed after its ten days.", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3145592381", + "kind": "comment", + "actor": "traviscross", + "createdAt": "2025-08-01T19:42:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3145592381", + "summary": "A lang team member pings the bot.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3145611274", + "kind": "comment", + "actor": "Skgland", + "createdAt": "2025-08-01T19:49:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3145611274", + "summary": "A user guesses the bot is confused because the first FCP completed before the late concern.", + "actorId": 3877590, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:unlabeled:2025-08-01T19:54:22Z", + "kind": "process", + "actor": "traviscross", + "createdAt": "2025-08-01T19:54:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A lang team member removes the final-comment-period label by hand.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:labeled:2025-08-01T19:54:22Z", + "kind": "process", + "actor": "traviscross", + "createdAt": "2025-08-01T19:54:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A lang team member marks the FCP finished by hand.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:cross-referenced:2025-08-04T19:18:53Z", + "kind": "process", + "actor": "Kobzol", + "createdAt": "2025-08-04T19:18:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "The author links the implementation PR for derive(From).", + "actorId": 4539057, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:merged:2025-08-04T19:48:22Z", + "kind": "process", + "actor": "traviscross", + "createdAt": "2025-08-04T19:48:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "A lang team member merges the RFC.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:process:closed:2025-08-04T19:48:22Z", + "kind": "process", + "actor": "traviscross", + "createdAt": "2025-08-04T19:48:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809", + "summary": "The RFC PR is closed on merge.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + }, + { + "id": "rfcs-3809:comment:3152130303", + "kind": "comment", + "actor": "traviscross", + "createdAt": "2025-08-04T19:49:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/3809#issuecomment-3152130303", + "summary": "A lang team member announces both teams accepted the RFC and points to the tracking issue.", + "actorId": 1076834, + "actorType": "human", + "parentId": "rfcs-3809:pr:3809" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ripgrep-built-in-pager.json b/evals/datasets/decisions-v1/cases/ripgrep-built-in-pager.json new file mode 100644 index 000000000..d12fb0083 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ripgrep-built-in-pager.json @@ -0,0 +1,834 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ripgrep-built-in-pager", + "title": "Should ripgrep invoke a pager", + "source": { + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "retrievedAt": "2026-10-18T07:34:37.711589+00:00", + "repository": "BurntSushi/ripgrep", + "number": 86 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-09-25T17:27:00Z" + }, + { + "id": "c2", + "at": "2021-01-08T20:10:00Z" + }, + { + "id": "c3", + "at": "2023-11-26T19:00:00Z" + }, + { + "id": "c4", + "at": "2023-11-26T19:09:30Z" + } + ], + "events": [ + { + "id": "ripgrep-86:issue:86", + "kind": "opening", + "actor": "c-cube", + "createdAt": "2016-09-25T17:07:40Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The opener asks whether ripgrep should launch a pager automatically when output goes to a terminal, since colours are lost when piping to less.", + "actorId": 1274291, + "actorType": "human" + }, + { + "id": "ripgrep-86:comment:249434239", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-09-25T17:26:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249434239", + "summary": "The maintainer suggests the -p flag to keep formatting when piping, and says spawning a pager feels like too much, while noting git grep does it well.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249434354", + "kind": "comment", + "actor": "c-cube", + "createdAt": "2016-09-25T17:28:33Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249434354", + "summary": "The opener says they will alias rg to rg -p but still likes automatic paging.", + "actorId": 1274291, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249439852", + "kind": "comment", + "actor": "ayoshi", + "createdAt": "2016-09-25T19:05:33Z", + "editedAt": "2016-09-25T19:06:31Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249439852", + "summary": "A user points to a Rust crate, pager-rs, that spawns a pager cleverly.", + "actorId": 498112, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249440318", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-09-25T19:12:51Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249440318", + "summary": "The maintainer likes the crate but notes it would not work on Windows; a Unix-only approach is possible if they go ahead.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249529548", + "kind": "comment", + "actor": "bluss", + "createdAt": "2016-09-26T10:03:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249529548", + "summary": "A user notes git uses the same trick of making the pager the parent process.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249630827", + "kind": "comment", + "actor": "JohnVillalovos", + "createdAt": "2016-09-26T17:01:17Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249630827", + "summary": "A user supports paging like git grep and reports stray colours when piping to less -r.", + "actorId": 578155, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249631793", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-09-26T17:04:40Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249631793", + "summary": "The maintainer asks whether less -R fixes the stray colours.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249633154", + "kind": "comment", + "actor": "JohnVillalovos", + "createdAt": "2016-09-26T17:09:40Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249633154", + "summary": "The user confirms it does but finds it a lot of typing.", + "actorId": 578155, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249634685", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-09-26T17:15:17Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249634685", + "summary": "The maintainer mentions keeping a less alias with -R in his shell config.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249660486", + "kind": "comment", + "actor": "bluss", + "createdAt": "2016-09-26T18:46:28Z", + "editedAt": "2016-09-26T18:46:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249660486", + "summary": "A user reports a wrapper script that hangs and eats memory.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249661220", + "kind": "comment", + "actor": "bluss", + "createdAt": "2016-09-26T18:49:02Z", + "editedAt": "2016-09-26T22:22:16Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249661220", + "summary": "The same user realises the script was calling itself recursively.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:249798212", + "kind": "comment", + "actor": "kugel-", + "createdAt": "2016-09-27T08:19:58Z", + "editedAt": "2016-09-27T08:20:02Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-249798212", + "summary": "A user adds support, missing the feature from ag and git grep.", + "actorId": 564520, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:252446502", + "kind": "comment", + "actor": "nextlogic-ono", + "createdAt": "2016-10-08T20:26:17Z", + "editedAt": "2016-11-10T10:37:23Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-252446502", + "summary": "A user offers a shell function wrapping rg -p into a pager.", + "actorId": 4352236, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:252453062", + "kind": "comment", + "actor": "bluss", + "createdAt": "2016-10-08T22:57:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-252453062", + "summary": "A user shares a wrapper script piping rg -p into less -RFX.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:252775390", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-10-10T23:48:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-252775390", + "summary": "The maintainer prefers the wrapper approach and, while not firmly against a built-in option, wants to try living without it first.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:closed:2016-10-10T23:48:03Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2016-10-10T23:48:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The maintainer closes the issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:286264253", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2017-03-13T22:31:02Z", + "editedAt": "2017-03-14T04:11:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-286264253", + "summary": "A user shares a wrapper that pages when -p is given and argues that requiring a wrapper is a wart, since such tools compete on convenience.", + "actorId": 46915, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302117479", + "kind": "comment", + "actor": "jason-s", + "createdAt": "2017-05-17T14:57:24Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302117479", + "summary": "A user asks for a built-in pager because less mishandles ANSI colours on Windows.", + "actorId": 738893, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302118211", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-05-17T14:59:44Z", + "editedAt": "2017-05-17T15:00:08Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302118211", + "summary": "The maintainer firmly rules out ever building a pager into ripgrep while he maintains it.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302119225", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2017-05-17T15:02:50Z", + "editedAt": "2017-05-17T15:04:28Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302119225", + "summary": "A user explains that the Windows console colours text through an API rather than ANSI sequences.", + "actorId": 46915, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302120309", + "kind": "comment", + "actor": "jason-s", + "createdAt": "2017-05-17T15:06:35Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302120309", + "summary": "The Windows user replies that rg colours fine and less still shows garbage, and says the lack hurts usability on Windows.", + "actorId": 738893, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302122924", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-05-17T15:15:05Z", + "editedAt": "2017-05-17T15:15:50Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302122924", + "summary": "The maintainer explains that a cross-platform built-in pager would be a large maintenance burden and outside ripgrep's responsibility, and describes Windows colour handling.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302123802", + "kind": "comment", + "actor": "jason-s", + "createdAt": "2017-05-17T15:17:54Z", + "editedAt": "2017-05-17T15:21:25Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302123802", + "summary": "The Windows user accepts this and shares a DOSKEY alias that pages without colour.", + "actorId": 738893, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302126919", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-05-17T15:27:45Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302126919", + "summary": "The maintainer notes ANSI support on Windows 10 is incomplete in ripgrep and needs a champion.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302129986", + "kind": "comment", + "actor": "jason-s", + "createdAt": "2017-05-17T15:37:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302129986", + "summary": "The Windows user clarifies the escape codes appeared only with -p.", + "actorId": 738893, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:302131231", + "kind": "comment", + "actor": "ssokolow", + "createdAt": "2017-05-17T15:40:59Z", + "editedAt": "2017-05-17T16:09:41Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-302131231", + "summary": "A user digresses on the history of Windows path separators and POSIX support.", + "actorId": 46915, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:331718946", + "kind": "comment", + "actor": "labianchin", + "createdAt": "2017-09-24T15:53:48Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-331718946", + "summary": "A user shares a shell function that pipes rg -p into less, modelled on an ag alias.", + "actorId": 239562, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:364968686", + "kind": "comment", + "actor": "ibotty", + "createdAt": "2018-02-12T16:02:04Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-364968686", + "summary": "A user argues built-in paging would be convenient and shares a function that pages only when stdout is a terminal.", + "actorId": 296430, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:386998224", + "kind": "comment", + "actor": "scorphus", + "createdAt": "2018-05-07T08:37:44Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-386998224", + "summary": "A user argues ripgrep should stick to searching and shares a fish function with explained less flags.", + "actorId": 2112697, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:425744884", + "kind": "comment", + "actor": "cemeyer", + "createdAt": "2018-09-30T19:25:25Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-425744884", + "summary": "A contributor summarises the trade-off as implementation simplicity against user convenience, argues spawning less where available is cheap, and cites ag's ergonomics.", + "actorId": 124738, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:425750083", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2018-09-30T20:37:03Z", + "editedAt": "2018-09-30T20:37:33Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-425750083", + "summary": "The maintainer disputes the ag comparison, says the workaround is enough for now, and asks for research into how other cross-platform tools implement paging.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:425750923", + "kind": "comment", + "actor": "cemeyer", + "createdAt": "2018-09-30T20:49:15Z", + "editedAt": "2018-09-30T20:50:14Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-425750923", + "summary": "The contributor says the maintainer's own preferences may bias him, and agrees research would help.", + "actorId": 124738, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:425751842", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2018-09-30T21:02:57Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-425751842", + "summary": "The maintainer replies that he supports many features he does not use and that his decisions can change with new evidence.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:425753205", + "kind": "comment", + "actor": "cemeyer", + "createdAt": "2018-09-30T21:23:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-425753205", + "summary": "The contributor withdraws the ag comparison and frames his comment as support.", + "actorId": 124738, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:472210163", + "kind": "comment", + "actor": "tudor", + "createdAt": "2019-03-12T22:46:10Z", + "editedAt": "2019-03-12T22:48:21Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-472210163", + "summary": "A user asks for an external pager only when stdout is a terminal, citing ag's --pager flag and the PAGER variable.", + "actorId": 125148, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:472211151", + "kind": "comment", + "actor": "tudor", + "createdAt": "2019-03-12T22:50:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-472211151", + "summary": "The same user shares a terminal-detecting wrapper function.", + "actorId": 125148, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:472304352", + "kind": "comment", + "actor": "dwijnand", + "createdAt": "2019-03-13T07:03:18Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-472304352", + "summary": "A user points to an earlier function that avoids hard-coding the binary path.", + "actorId": 344610, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:472489324", + "kind": "comment", + "actor": "tudor", + "createdAt": "2019-03-13T16:05:52Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-472489324", + "summary": "The user thanks them.", + "actorId": 125148, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:702170471", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2020-10-01T14:22:27Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-702170471", + "summary": "After a duplicate request, the maintainer softens his stance and plans a --pager flag that pages when stdout is a terminal, modelled on git grep.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:reopened:2020-10-01T14:22:30Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2020-10-01T14:22:30Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The maintainer reopens the issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:702170934", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2020-10-01T14:23:10Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-702170934", + "summary": "The maintainer invites someone else to send a PR.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:labeled:2020-10-01T14:23:17Z+", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2020-10-01T14:23:17Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The maintainer adds the help wanted label.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:702214693", + "kind": "comment", + "actor": "scorphus", + "createdAt": "2020-10-01T15:28:12Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-702214693", + "summary": "A user volunteers to implement it.", + "actorId": 2112697, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:702221338", + "kind": "comment", + "actor": "scorphus", + "createdAt": "2020-10-01T15:39:02Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-702221338", + "summary": "The volunteer proposes using the pager crate.", + "actorId": 2112697, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:702231077", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2020-10-01T15:54:45Z", + "editedAt": "2020-10-01T15:55:30Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-702231077", + "summary": "The maintainer is wary of the unmaintained crate, asks for research into git grep's approach, and flags a Windows terminal-detection problem.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:756320153", + "kind": "comment", + "actor": "wonderfulspam", + "createdAt": "2021-01-07T19:10:30Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-756320153", + "summary": "A user compares git grep's and bat's implementations and recommends studying bat.", + "actorId": 3662366, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:756356497", + "kind": "comment", + "actor": "scorphus", + "createdAt": "2021-01-07T20:13:11Z", + "editedAt": "2021-01-07T20:26:20Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-756356497", + "summary": "The volunteer agrees bat looks like the model to follow.", + "actorId": 2112697, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:756967594", + "kind": "comment", + "actor": "sharkdp", + "createdAt": "2021-01-08T20:05:58Z", + "editedAt": "2021-01-08T20:09:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-756967594", + "summary": "The bat author lists lessons from adding paging: it was painful across platforms and less versions, a single --pager option is simpler, it should be opt-in, and a --paging auto/never/always switch helps.", + "actorId": 4209276, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:812119443", + "kind": "comment", + "actor": "flawrist", + "createdAt": "2021-04-01T19:21:40Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-812119443", + "summary": "A user calls the developers stubborn and points to vgrep.", + "actorId": 373718, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:969181582", + "kind": "comment", + "actor": "God-damnit-all", + "createdAt": "2021-11-15T18:10:44Z", + "editedAt": "2021-11-15T18:24:34Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-969181582", + "summary": "A user describes paging rg output in PowerShell and says built-in paging would still be handier.", + "actorId": 53661808, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1469717706", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2023-03-15T10:08:57Z", + "editedAt": "2023-11-26T19:11:40Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1469717706", + "summary": "The delta author shows that piping rg --json into delta adds paging, highlighting and hyperlinks.", + "actorId": 52205, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1469880534", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-03-15T12:03:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1469880534", + "summary": "The maintainer praises delta and links it from the README.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1491106230", + "kind": "comment", + "actor": "ryuheechul", + "createdAt": "2023-03-30T23:54:27Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1491106230", + "summary": "A user switches their alias to pipe into delta.", + "actorId": 2637709, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1491515209", + "kind": "comment", + "actor": "wbolster", + "createdAt": "2023-03-31T08:21:42Z", + "editedAt": "2023-03-31T08:22:05Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1491515209", + "summary": "A user suggests a more correct shell function for that.", + "actorId": 748944, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1492312912", + "kind": "comment", + "actor": "ryuheechul", + "createdAt": "2023-03-31T17:23:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1492312912", + "summary": "The user thanks them.", + "actorId": 2637709, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1538152165", + "kind": "comment", + "actor": "krishnakumarg1984", + "createdAt": "2023-05-08T10:37:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1538152165", + "summary": "A user suggests the minus pager crate as a ready integration.", + "actorId": 15239509, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1538185008", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-05-08T11:08:07Z", + "editedAt": "2023-05-08T11:09:08Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1538185008", + "summary": "The maintainer rejects relying on an external crate for core behaviour, citing long-term maintenance risk and a large dependency tree.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1632851762", + "kind": "comment", + "actor": "dandavison", + "createdAt": "2023-07-12T16:26:38Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1632851762", + "summary": "The delta author reports delta now mirrors ripgrep's format and adds paging, highlighting, hyperlinks and match navigation.", + "actorId": 52205, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1633123047", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-07-12T19:54:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1633123047", + "summary": "A contributor asks about IDE URI schemes for a hyperlink PR.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:1826871239", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-11-26T19:08:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-1826871239", + "summary": "The maintainer decides to pass on a --pager flag after all, calling it scope creep given users can invoke a pager themselves.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:closed:2023-11-26T19:08:55Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2023-11-26T19:08:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The maintainer closes the issue as not planned.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:labeled:2023-11-26T19:09:04Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2023-11-26T19:09:04Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The maintainer adds the wontfix label.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:2466210542", + "kind": "comment", + "actor": "txtsd", + "createdAt": "2024-11-09T13:14:53Z", + "editedAt": "2024-11-09T13:18:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-2466210542", + "summary": "A user shows delta's output with ripgrep.", + "actorId": 768728, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:2466639391", + "kind": "comment", + "actor": "gcflymoto", + "createdAt": "2024-11-10T08:30:12Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-2466639391", + "summary": "A user asks which terminal shows working hyperlinks.", + "actorId": 252429, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:2466643022", + "kind": "comment", + "actor": "txtsd", + "createdAt": "2024-11-10T08:43:15Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-2466643022", + "summary": "The user names their terminal.", + "actorId": 768728, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:2593090427", + "kind": "comment", + "actor": "UnsolvedCypher", + "createdAt": "2025-01-15T14:59:07Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-2593090427", + "summary": "A user shares a fish abbreviation for piping into delta.", + "actorId": 3170853, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:3444392741", + "kind": "comment", + "actor": "ciscohack", + "createdAt": "2025-10-24T18:30:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-3444392741", + "summary": "A user asks how to hide line numbers in a wrapper script.", + "actorId": 11479557, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:3444396467", + "kind": "comment", + "actor": "ciscohack", + "createdAt": "2025-10-24T18:31:09Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-3444396467", + "summary": "The same user asks how to install pager-rs.", + "actorId": 11479557, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:comment:3444420810", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2025-10-24T18:38:57Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86#issuecomment-3444420810", + "summary": "The maintainer answers with -N and asks people to use discussions rather than bump old issues.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + }, + { + "id": "ripgrep-86:process:locked:2025-10-24T18:39:07Z", + "kind": "process", + "actor": "ghost", + "createdAt": "2025-10-24T18:39:07Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/86", + "summary": "The issue is locked.", + "actorId": 10137, + "actorType": "human", + "parentId": "ripgrep-86:issue:86" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ripgrep-file-hyperlinks.json b/evals/datasets/decisions-v1/cases/ripgrep-file-hyperlinks.json new file mode 100644 index 000000000..c17bf9269 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ripgrep-file-hyperlinks.json @@ -0,0 +1,705 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ripgrep-file-hyperlinks", + "title": "Clickable file hyperlinks in ripgrep output", + "source": { + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "retrievedAt": "2026-10-18T07:34:48.647898+00:00", + "repository": "BurntSushi/ripgrep", + "number": 665 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-05-13T16:00:00Z" + }, + { + "id": "c2", + "at": "2022-10-02T10:15:00Z" + }, + { + "id": "c3", + "at": "2023-09-21T17:00:00Z" + }, + { + "id": "c4", + "at": "2023-09-25T19:00:00Z" + } + ], + "events": [ + { + "id": "ripgrep-665:issue:665", + "kind": "opening", + "actor": "sanmai-NL", + "createdAt": "2017-11-06T21:18:34Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The opener asks for an option to print matched paths as `file` URLs so terminals such as Konsole make them clickable.", + "actorId": 3374183, + "actorType": "human" + }, + { + "id": "ripgrep-665:comment:342292193", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-11-06T21:25:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-342292193", + "summary": "The maintainer asks whether any other command line tools offer this.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:342531268", + "kind": "comment", + "actor": "sanmai-NL", + "createdAt": "2017-11-07T16:05:20Z", + "editedAt": "2017-11-07T16:05:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-342531268", + "summary": "The opener is unsure, insists it is a feature request, and lists benefits: clickable paths in several terminals and URLs that curl or wget can consume.", + "actorId": 3374183, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:346623915", + "kind": "comment", + "actor": "kpp", + "createdAt": "2017-11-23T13:52:34Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-346623915", + "summary": "A user shows a shell pipeline that prefixes paths with file:// without changing rg.", + "actorId": 467709, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:361805158", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2018-01-31T02:38:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-361805158", + "summary": "The maintainer closes the request, citing few precedents and that a wrapper script can do it.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:closed:2018-01-31T02:38:49Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2018-01-31T02:38:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The maintainer closes the issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:421604758", + "kind": "comment", + "actor": "sanmai-NL", + "createdAt": "2018-09-15T17:35:38Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-421604758", + "summary": "The opener points to systemd adding similar output as precedent.", + "actorId": 3374183, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:513960114", + "kind": "comment", + "actor": "adrianocr", + "createdAt": "2019-07-22T21:22:34Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-513960114", + "summary": "A user asks for the issue to be reopened, noting iTerm2 already linkifies paths.", + "actorId": 7603338, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:650829415", + "kind": "comment", + "actor": "alex", + "createdAt": "2020-06-28T22:16:23Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-650829415", + "summary": "A user reports that `ls --hyperlink` emits terminal escape sequences that make names clickable, and argues rg could too.", + "actorId": 772, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:650832032", + "kind": "comment", + "actor": "saleemrashid", + "createdAt": "2020-06-28T22:41:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-650832032", + "summary": "A user links the de facto specification for terminal hyperlink escapes.", + "actorId": 22301423, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:669255262", + "kind": "comment", + "actor": "mx-psi", + "createdAt": "2020-08-05T15:19:15Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-669255262", + "summary": "A user asks again for reopening, citing broad terminal support.", + "actorId": 5502710, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:704115861", + "kind": "comment", + "actor": "kovidgoyal", + "createdAt": "2020-10-06T08:28:35Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-704115861", + "summary": "A user links a kitty wrapper that makes rg results open at the matched line.", + "actorId": 1308621, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:774551628", + "kind": "comment", + "actor": "adrian-gierakowski", + "createdAt": "2021-02-06T22:15:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-774551628", + "summary": "A user asks the maintainer to reconsider so wrappers are unnecessary.", + "actorId": 330177, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840648276", + "kind": "comment", + "actor": "bluss", + "createdAt": "2021-05-13T15:42:57Z", + "editedAt": "2021-05-13T15:46:36Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840648276", + "summary": "A user outlines what support would need: absolute escaped paths, an optional hostname lookup, a `--hyperlink` flag with several modes, and emitting the escape in the printer or termcolor.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840735760", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2021-05-13T18:08:53Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840735760", + "summary": "The maintainer responds that he would like to avoid hostname lookup as layer-breaking unless its value is shown, favours emitting the escape in termcolor, would skip it on the legacy Windows console, and reopens the issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:reopened:2021-05-13T18:08:53Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2021-05-13T18:08:53Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The maintainer reopens the issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:labeled:2021-05-13T18:08:58Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2021-05-13T18:08:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The maintainer labels it an enhancement.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840775844", + "kind": "comment", + "actor": "NightMachinery", + "createdAt": "2021-05-13T19:17:00Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840775844", + "summary": "A user argues the hostname lets editors open files on remote machines over SSH and suggests caching it.", + "actorId": 36224762, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840778340", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2021-05-13T19:21:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840778340", + "summary": "The maintainer clarifies his concern is abstraction and refactoring, not performance.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840785869", + "kind": "comment", + "actor": "bluss", + "createdAt": "2021-05-13T19:36:10Z", + "editedAt": "2021-06-07T13:01:06Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840785869", + "summary": "The earlier user explains the hostname mainly tells the terminal whether a path is local, and shares a shell snippet for printing links.", + "actorId": 3209739, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:840930140", + "kind": "comment", + "actor": "kovidgoyal", + "createdAt": "2021-05-14T01:13:41Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-840930140", + "summary": "The kitty author says omitting the hostname would break kitty's remote-file editing over SSH and asks that it be kept.", + "actorId": 1308621, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:899423753", + "kind": "comment", + "actor": "XhstormR", + "createdAt": "2021-08-16T11:07:06Z", + "editedAt": "2021-08-16T11:07:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-899423753", + "summary": "A comment GitHub marks as hidden (spam).", + "actorId": 10527522, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1208652379", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-08-08T21:54:44Z", + "editedAt": "2022-08-08T21:55:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1208652379", + "summary": "A user says hostnames are rarely seen in file URLs and proposes supporting local files only for now.", + "actorId": 10137, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1208669998", + "kind": "comment", + "actor": "Jackenmen", + "createdAt": "2022-08-08T22:13:08Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1208669998", + "summary": "A contributor counters that `ls` includes the hostname and that the terminal hyperlink spec expects it, enabling SSH workflows.", + "actorId": 6032823, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1208692272", + "kind": "comment", + "actor": "ghost", + "createdAt": "2022-08-08T22:41:15Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1208692272", + "summary": "The user replies few terminals support remote opening, gnome-terminal rejects remote hosts, and local-only could ship first.", + "actorId": 10137, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1208701583", + "kind": "comment", + "actor": "Jackenmen", + "createdAt": "2022-08-08T22:56:18Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1208701583", + "summary": "The contributor quotes the spec asking utilities to fill in the hostname.", + "actorId": 6032823, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:cross-referenced:2022-10-01T18:36:10Z", + "kind": "process", + "actor": "ltrzesniewski", + "createdAt": "2022-10-01T18:36:10Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "A contributor links a termcolor PR adding hyperlink support.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264450938", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2022-10-01T18:51:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264450938", + "summary": "The contributor notes Windows Terminal rejects hostnames, suggests omitting them at least on Windows, and offers to implement the feature.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264527394", + "kind": "comment", + "actor": "kovidgoyal", + "createdAt": "2022-10-02T02:06:01Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264527394", + "summary": "The kitty author objects that one Windows terminal should not drive the format and that iTerm2 and kitty rely on the hostname.", + "actorId": 1308621, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264603131", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2022-10-02T10:10:11Z", + "editedAt": "2022-10-02T10:25:48Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264603131", + "summary": "The contributor explains the Windows shell itself fails on hostnames and lists five options: omit everywhere, include everywhere, omit only on Windows, special-case Windows Terminal by environment variable, or add a flag.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264606712", + "kind": "comment", + "actor": "ssbarnea", + "createdAt": "2022-10-02T10:26:44Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264606712", + "summary": "A contributor says local file URIs need no hostname, only an absolute path, citing the RFC.", + "actorId": 102495, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264608085", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2022-10-02T10:32:41Z", + "editedAt": "2022-10-02T10:46:24Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264608085", + "summary": "The contributor explains SSH is the concern and lists which Windows URI forms work, finding only a literal localhost is accepted for the local machine.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264623040", + "kind": "comment", + "actor": "kovidgoyal", + "createdAt": "2022-10-02T11:42:07Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264623040", + "summary": "The kitty author argues terminals should strip a matching local hostname, so tools need not tailor output by OS.", + "actorId": 1308621, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1264624638", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2022-10-02T11:51:43Z", + "editedAt": "2022-10-02T11:53:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1264624638", + "summary": "The contributor says they have asked Windows Terminal to do exactly that, but it is broken today, and notes ripgrep already varies behaviour by OS.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:cross-referenced:2022-10-02T21:13:12Z", + "kind": "process", + "actor": "ltrzesniewski", + "createdAt": "2022-10-02T21:13:12Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The contributor links PR #2322 adding hyperlinks.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1284400960", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2022-10-19T18:17:42Z", + "editedAt": "2022-10-19T18:21:07Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1284400960", + "summary": "The contributor announces the #2322 implementation and preview builds.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373418956", + "kind": "comment", + "actor": "guettli", + "createdAt": "2023-01-06T09:59:58Z", + "editedAt": "2023-01-11T15:13:08Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373418956", + "summary": "A user says VS Code already links plain paths and asks for line numbers rather than file URLs, sharing an alias.", + "actorId": 414336, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373457623", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-01-06T10:42:20Z", + "editedAt": "2023-01-06T10:45:02Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373457623", + "summary": "The contributor points to `-n` output in file:line form, which only some terminals link.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373548923", + "kind": "comment", + "actor": "guettli", + "createdAt": "2023-01-06T12:07:09Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373548923", + "summary": "The user finds that works, worries file URLs look ugly, and asks how to make it the default.", + "actorId": 414336, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373555489", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-01-06T12:14:56Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373555489", + "summary": "The maintainer points to `--no-heading`.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373634495", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-01-06T13:38:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373634495", + "summary": "The contributor shows a screenshot where links are invisible escapes, not printed text.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373643784", + "kind": "comment", + "actor": "guettli", + "createdAt": "2023-01-06T13:42:42Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373643784", + "summary": "The user likes it and asks whether line numbers link too.", + "actorId": 414336, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1373696926", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-01-06T14:13:35Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1373696926", + "summary": "The contributor says only headings link, because no standard file URL form targets a line, and links the preview build.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1374048412", + "kind": "comment", + "actor": "diktomat", + "createdAt": "2023-01-06T19:42:20Z", + "editedAt": "2023-01-06T19:42:43Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1374048412", + "summary": "A user explains editors parse file:line using their own format settings, whereas terminals lack that knowledge, and the escapes stay invisible.", + "actorId": 16717303, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1374463422", + "kind": "comment", + "actor": "ghost", + "createdAt": "2023-01-07T12:22:01Z", + "editedAt": "2023-01-07T12:22:24Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1374463422", + "summary": "A user notes Konsole can already open file:line output via configurable regexes.", + "actorId": 10137, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1480064404", + "kind": "comment", + "actor": "nbenitez", + "createdAt": "2023-03-22T18:26:19Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1480064404", + "summary": "A user reports GNOME Console will rely on the standard link escape, so ripgrep should emit it.", + "actorId": 580854, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1484103741", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-03-26T13:54:44Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1484103741", + "summary": "The contributor proposes a configurable `--hyperlink-format` template, as delta does, enabling custom schemes that open an editor at a line, with a hostname default on Unix and none on Windows.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1492271597", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-03-31T17:02:18Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1492271597", + "summary": "The contributor notes VS Code's built-in URL handler would work with such a template and plans to implement it to link line numbers.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:cross-referenced:2023-04-02T17:02:57Z", + "kind": "process", + "actor": "ltrzesniewski", + "createdAt": "2023-04-02T17:02:57Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The contributor links PR #2483 adding configurable hyperlinks.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1493441790", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-04-02T21:14:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1493441790", + "summary": "The contributor announces #2483 with builds and notes a Windows Terminal limitation for non-file schemes.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1502047872", + "kind": "comment", + "actor": "097115", + "createdAt": "2023-04-10T16:48:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1502047872", + "summary": "A user reports links fail under tmux.", + "actorId": 1415155, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1502057094", + "kind": "comment", + "actor": "nbenitez", + "createdAt": "2023-04-10T16:58:18Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1502057094", + "summary": "A user notes tmux hyperlink support is recent.", + "actorId": 580854, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1502064789", + "kind": "comment", + "actor": "097115", + "createdAt": "2023-04-10T17:04:15Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1502064789", + "summary": "The first user says ls links work in the same tmux, unlike the rg build.", + "actorId": 1415155, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1502095907", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-04-10T17:34:07Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1502095907", + "summary": "The contributor will investigate.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1505939171", + "kind": "comment", + "actor": "ltrzesniewski", + "createdAt": "2023-04-12T21:02:19Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1505939171", + "summary": "The contributor attributes it to a tmux bug and reports it upstream.", + "actorId": 7913492, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1506195081", + "kind": "comment", + "actor": "097115", + "createdAt": "2023-04-13T01:40:14Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1506195081", + "summary": "The user thanks them.", + "actorId": 1415155, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:cross-referenced:2023-09-21T17:18:38Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2023-09-21T17:18:38Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The maintainer links PR #2610 adding hyperlink support.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1731829922", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-09-22T17:57:10Z", + "editedAt": "2023-09-22T17:58:18Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1731829922", + "summary": "The maintainer points followers to the review discussion on #2483, calls the feature thorny and integration-specific, and expects to get parts wrong at first.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:process:closed:2023-09-25T18:39:55Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2023-09-25T18:39:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665", + "summary": "The maintainer closes the issue as hyperlink support lands.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + }, + { + "id": "ripgrep-665:comment:1734298428", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2023-09-25T18:56:21Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/665#issuecomment-1734298428", + "summary": "The maintainer announces hyperlinks are on master and asks for feedback in a discussion.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-665:issue:665" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/ripgrep-max-columns.json b/evals/datasets/decisions-v1/cases/ripgrep-max-columns.json new file mode 100644 index 000000000..09efafc72 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/ripgrep-max-columns.json @@ -0,0 +1,749 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "ripgrep-max-columns", + "title": "Handling very long lines in ripgrep output", + "source": { + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "retrievedAt": "2026-10-18T07:34:45.722882+00:00", + "repository": "BurntSushi/ripgrep", + "number": 129 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-09-29T01:00:00Z" + }, + { + "id": "c2", + "at": "2017-01-07T16:30:00Z" + }, + { + "id": "c3", + "at": "2017-02-02T12:40:00Z" + }, + { + "id": "c4", + "at": "2017-02-03T12:10:00Z" + } + ], + "events": [ + { + "id": "ripgrep-129:issue:129", + "kind": "opening", + "actor": "BurntSushi", + "createdAt": "2016-09-28T17:47:19Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer opens a request for ripgrep to hide or trim very long lines, ideally showing only the area around the match though that is harder, and says it should be off by default, perhaps enabled only for terminal output.", + "actorId": 456674, + "actorType": "human" + }, + { + "id": "ripgrep-129:process:labeled:2016-09-28T17:47:19Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2016-09-28T17:47:19Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer labels it an enhancement.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:250341972", + "kind": "comment", + "actor": "kaushalmodi", + "createdAt": "2016-09-29T00:46:46Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-250341972", + "summary": "A contributor names minified JS and CSS as the key use case.", + "actorId": 3578197, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:250342088", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-09-29T00:47:42Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-250342088", + "summary": "The maintainer agrees that was his trigger.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:256112098", + "kind": "comment", + "actor": "tjayrush", + "createdAt": "2016-10-25T18:01:08Z", + "editedAt": "2016-10-25T19:14:36Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-256112098", + "summary": "A user prefers splitting input and cutting output with existing Unix tools.", + "actorId": 5417918, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:256113867", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-10-25T18:07:43Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-256113867", + "summary": "The maintainer asks about the pipeline and says rg could do better by showing only the match and nearby text.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:256140440", + "kind": "comment", + "actor": "tjayrush", + "createdAt": "2016-10-25T18:56:36Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-256140440", + "summary": "The user clarifies and argues for piping to existing programs over new flags.", + "actorId": 5417918, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:256188045", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-10-25T21:55:46Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-256188045", + "summary": "The maintainer replies that recursive search cannot pre-process input and piping is not always enough.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:261718964", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-19T15:05:17Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-261718964", + "summary": "The maintainer proposes a spec: an off-by-default `-M/--max-columns NUM` flag that suppresses lines longer than NUM bytes, leaving match-context trimming to a separate issue.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:labeled:2016-11-19T15:05:25Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2016-11-19T15:05:25Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer adds the help wanted label.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:cross-referenced:2016-11-22T04:03:10Z", + "kind": "process", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T04:03:10Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "A user links PR #245 limiting line lengths.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262190511", + "kind": "comment", + "actor": "hpsu", + "createdAt": "2016-11-22T09:31:13Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262190511", + "summary": "A user points out ag truncates lines with a width option.", + "actorId": 5629121, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262278683", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T15:52:46Z", + "editedAt": "2016-11-22T16:14:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262278683", + "summary": "The PR author proposes a richer spec: width from COLUMNS or the terminal, balanced context around matches, and a `--min-context` flag.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262295456", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-22T16:48:05Z", + "editedAt": "2016-11-22T16:48:54Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262295456", + "summary": "The maintainer refuses more terminal-size detection code as too costly to maintain, and asks how cutting handles UTF-8, multiple matches and context lines.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262298469", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T16:58:17Z", + "editedAt": "2016-11-22T17:02:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262298469", + "summary": "The PR author defends terminal detection and answers that context lines are trimmed at the end.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262299886", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-22T17:02:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262299886", + "summary": "The maintainer says he spent a weekend on Windows terminal issues and will not repeat it.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262300000", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T17:03:16Z", + "editedAt": "2016-11-22T17:07:46Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262300000", + "summary": "The PR author says this is solved elsewhere and belongs in a separate crate.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262303182", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-22T17:14:16Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262303182", + "summary": "The maintainer notes MSVC support and defers terminal detection.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262306944", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T17:26:58Z", + "editedAt": "2016-11-22T17:34:38Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262306944", + "summary": "The PR author specifies UTF-8 output with fixed column assumptions per character.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262310565", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-22T17:40:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262310565", + "summary": "The maintainer shows how byte-based context would split multibyte characters and suggests the unicode-width crate if codepoints are used.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262313989", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T17:51:53Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262313989", + "summary": "The PR author will update the PR.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262315502", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2016-11-22T17:57:25Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262315502", + "summary": "The maintainer calls the feature very complex, asks for a full written spec, and asks the author to wait for a printer refactor rather than hack the current one.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262320363", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T18:15:00Z", + "editedAt": "2016-11-22T18:16:21Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262320363", + "summary": "The PR author posts a consolidated spec using COLUMNS, balanced context and unicode-width.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:262321181", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2016-11-22T18:18:10Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-262321181", + "summary": "The PR author admits the width rules are unclear until implemented.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270914550", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-06T14:33:37Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270914550", + "summary": "A contributor finds output useless with minified files and suggests truncation on by default, a match-count placeholder for huge lines, or treating such files as binary.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270956944", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-06T17:31:48Z", + "editedAt": "2017-01-06T17:36:19Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270956944", + "summary": "The PR author notes COLUMNS is not exported to subprocesses and proposes a fractional min-context.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270957942", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-06T17:36:26Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270957942", + "summary": "The contributor says COLUMNS works on Linux and jokes about other operating systems.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270958057", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-06T17:36:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270958057", + "summary": "The PR author shows COLUMNS is absent from the environment.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270958973", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-06T17:40:56Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270958973", + "summary": "The contributor asks which OS.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270959306", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-06T17:42:31Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270959306", + "summary": "The PR author says Linux, where bash sets but does not export it.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270959604", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-06T17:43:43Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270959604", + "summary": "The contributor concedes terminal detection would be needed.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270959670", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-06T17:44:02Z", + "editedAt": "2017-01-06T17:46:27Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270959670", + "summary": "The PR author suggests an explicit columns flag for redirected output.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:270974507", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-06T18:46:58Z", + "editedAt": "2017-01-06T18:47:16Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-270974507", + "summary": "The maintainer rebukes the OS joke, reaffirms cross-platform support, and offers an off-by-default `--columns NUM` that users can alias.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271007547", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-06T21:10:49Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271007547", + "summary": "The contributor clarifies it was a joke and accepts the flag as a start.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271008047", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-06T21:12:43Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271008047", + "summary": "The maintainer apologises for misreading.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271089580", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-07T15:22:17Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271089580", + "summary": "The PR author posts another spec with context-column widths, a per-line output cap, a match-count pseudo-line, and an option to treat such files as binary.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271090449", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T15:37:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271090449", + "summary": "The maintainer wants to start simpler with only a maximum length, noting context already means something in ripgrep.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271090905", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-07T15:45:08Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271090905", + "summary": "The contributor agrees on simplicity but wants a `--truncate` flag on by default with a large limit and visible ellipsis.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271091507", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-07T15:55:34Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271091507", + "summary": "The PR author restates a spec around `--truncate` with fitting and binary fallback.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271091614", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T15:57:31Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271091614", + "summary": "The maintainer rules out on-by-default since grep-like tools filter data, is wary even for terminals, would accept the name `--truncate` but notes it implies partial display, and asks whether units are bytes, codepoints or graphemes.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271091688", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T15:59:03Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271091688", + "summary": "The maintainer narrows the choice to simple truncation or hiding the line entirely.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271091787", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-07T16:00:23Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271091787", + "summary": "The PR author asks whether that is just the original proposal counted in graphemes.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271091972", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-07T16:03:41Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271091972", + "summary": "The contributor prefers truncation measured in terminal columns.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092124", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T16:06:16Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092124", + "summary": "The maintainer explains byte-based hiding avoids encoding awareness, byte truncation can emit invalid UTF-8, and per-line display-width checks are too slow.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092252", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T16:08:35Z", + "editedAt": "2017-01-07T16:08:55Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092252", + "summary": "The maintainer prefers off-by-default hiding so dropping lines is a deliberate user action, with a short `-M` flag for quick reruns.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092442", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-07T16:11:54Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092442", + "summary": "The contributor accepts off-by-default and bytes as the unit.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092549", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-01-07T16:13:32Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092549", + "summary": "The maintainer notes notable use among non-ASCII language communities.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092764", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-07T16:16:57Z", + "editedAt": "2017-01-07T21:43:36Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092764", + "summary": "The PR author suggests backtracking to a character boundary, a slow grapheme mode, or treating files with long lines as binary.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271092924", + "kind": "comment", + "actor": "samuelcolvin", + "createdAt": "2017-01-07T16:19:36Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271092924", + "summary": "The contributor urges starting with the simplest option.", + "actorId": 4039449, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:271128735", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-08T04:18:11Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-271128735", + "summary": "The PR author says he was solving a different problem: still showing matches in huge lines.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:labeled:2017-01-11T03:05:53Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2017-01-11T03:05:53Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer labels it for the planned libripgrep refactor.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:275436470", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-01-26T16:33:16Z", + "editedAt": "2017-01-26T16:45:39Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-275436470", + "summary": "The PR author shares an implementation with elided context and a benchmark.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:276946474", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2017-02-02T12:37:33Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-276946474", + "summary": "A contributor says dropping lines silently loses information and proposes replacing over-long lines with a count of matches found, offering to implement it.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:276947454", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-02-02T12:43:04Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-276947454", + "summary": "The maintainer likes that idea, provided it is off by default, maybe on for terminals.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:276967065", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2017-02-02T14:09:51Z", + "editedAt": "2017-02-02T14:12:56Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-276967065", + "summary": "The contributor shares a prototype and raises questions about replace mode, localisation, message wording, newline handling and context lines.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:276991989", + "kind": "comment", + "actor": "forgottenswitch", + "createdAt": "2017-02-02T15:39:44Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-276991989", + "summary": "The PR author notes his implementation already does contextual elision.", + "actorId": 22861840, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:277218315", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2017-02-03T10:46:58Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-277218315", + "summary": "The contributor is impressed.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:277231794", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-02-03T12:03:59Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-277231794", + "summary": "The maintainer rejects contextual display for now as too complex before libripgrep, and answers the prototype questions: apply to replaced output, no localisation, and note omitted context lines.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:277233384", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2017-02-03T12:13:30Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-277233384", + "summary": "The contributor asks whether replace mode should still count matches.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:277233801", + "kind": "comment", + "actor": "BurntSushi", + "createdAt": "2017-02-03T12:16:04Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-277233801", + "summary": "The maintainer explains a custom replacer can count while replacing.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:comment:279163695", + "kind": "comment", + "actor": "RalfJung", + "createdAt": "2017-02-11T17:58:28Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129#issuecomment-279163695", + "summary": "The contributor notes that costs an optimisation.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:cross-referenced:2017-02-11T18:30:05Z", + "kind": "process", + "actor": "RalfJung", + "createdAt": "2017-02-11T18:30:05Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The contributor links PR #356 adding `--max-columns`.", + "actorId": 330628, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:cross-referenced:2017-03-13T01:11:16Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2017-03-13T01:11:16Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer links PR #406 adding `-M/--max-columns`.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + }, + { + "id": "ripgrep-129:process:closed:2017-03-13T01:21:29Z", + "kind": "process", + "actor": "BurntSushi", + "createdAt": "2017-03-13T01:21:29Z", + "url": "https://github.com/BurntSushi/ripgrep/issues/129", + "summary": "The maintainer closes the issue as the option lands.", + "actorId": 456674, + "actorType": "human", + "parentId": "ripgrep-129:issue:129" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rust-analyzer-proc-macro-syntax-fixup.json b/evals/datasets/decisions-v1/cases/rust-analyzer-proc-macro-syntax-fixup.json new file mode 100644 index 000000000..d4fe02483 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rust-analyzer-proc-macro-syntax-fixup.json @@ -0,0 +1,447 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rust-analyzer-proc-macro-syntax-fixup", + "title": "Handling invalid syntax inside attribute proc-macros", + "source": { + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "retrievedAt": "2026-10-18T07:28:31.402863+00:00", + "repository": "rust-lang/rust-analyzer", + "number": 11014 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-12-14T15:12:00Z" + }, + { + "id": "c2", + "at": "2022-02-08T12:00:00Z" + }, + { + "id": "c3", + "at": "2022-06-21T17:15:00Z" + }, + { + "id": "c4", + "at": "2022-06-21T18:00:00Z" + } + ], + "events": [ + { + "id": "rust-analyzer-11014:issue:11014", + "kind": "opening", + "actor": "Veykril", + "createdAt": "2021-12-14T15:07:03Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "summary": "A maintainer opens a collection point for how the IDE should behave when typing breaks attribute or derive macro input, which makes macros emit only a compile error and kills completions. They list options (ask macro authors to recover, keep the original item when the expansion is just a compile error, repair the input syntax before expanding, or do nothing) and lean toward repairing the input, citing dtolnay's argument and asking IntelliJ Rust to align.", + "actorId": 3757771, + "actorType": "human" + }, + { + "id": "rust-analyzer-11014:comment:993649769", + "kind": "comment", + "actor": "matklad", + "createdAt": "2021-12-14T15:19:35Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-993649769", + "summary": "A contributor notes that rust-analyzer has no reliable model of which syntax tree parts are mandatory, which ungrammar might partly supply.", + "actorId": 1711539, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:993685533", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2021-12-14T15:57:10Z", + "editedAt": "2021-12-14T16:05:52Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-993685533", + "summary": "A maintainer disputes that macros are contractually owed valid syntax, since rustc used to pass invalid input, and argues macros should at least be able to opt in to handling broken input themselves.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1003150254", + "kind": "comment", + "actor": "jgarvin", + "createdAt": "2021-12-30T19:10:52Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1003150254", + "summary": "A user asks whether a way for macros to declare that they only add code around unmodified input would make completion easier.", + "actorId": 102322, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1004252357", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-01-03T17:46:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1004252357", + "summary": "A maintainer replies that macros behaving that way already work well, so such a declaration would add little.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1007941113", + "kind": "comment", + "actor": "Hades32", + "createdAt": "2022-01-08T10:03:53Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1007941113", + "summary": "A user shares a workaround: comment out the attribute while editing and restore it afterwards.", + "actorId": 167847, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1018071425", + "kind": "comment", + "actor": "twitchax", + "createdAt": "2022-01-21T01:13:14Z", + "editedAt": "2022-01-29T14:28:00Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1018071425", + "summary": "A comment GitHub marks as hidden (resolved); a user links a Rocket request and asks for an option to ignore chosen macros.", + "actorId": 549523, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1018183869", + "kind": "comment", + "actor": "memoryruins", + "createdAt": "2022-01-21T05:04:53Z", + "editedAt": "2022-01-29T12:30:28Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1018183869", + "summary": "A contributor points out that a recent PR already lets users replace named macros with dummy expanders, and that proc-macro kinds can be disabled in settings.", + "actorId": 6868531, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1018209563", + "kind": "comment", + "actor": "twitchax", + "createdAt": "2022-01-21T06:07:17Z", + "editedAt": "2022-01-29T14:27:41Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1018209563", + "summary": "A comment GitHub marks as hidden (resolved); the user thanks them for the pointer.", + "actorId": 549523, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024169608", + "kind": "comment", + "actor": "danielhenrymantilla", + "createdAt": "2022-01-28T12:29:15Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024169608", + "summary": "A user argues for detecting a compile_error expansion and re-emitting the original input as a short-term fix, with a Result-returning proc-macro API as the longer-term ideal.", + "actorId": 9920355, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024277712", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-01-28T14:30:14Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024277712", + "summary": "A maintainer rejects both ideas, explaining that passing through untransformed input gives wrong semantics (for example an async main under tokio::main) and would cause flickering diagnostics.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024366559", + "kind": "comment", + "actor": "hkalbasi", + "createdAt": "2022-01-28T16:11:01Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024366559", + "summary": "A maintainer suggests the syn-mid crate, which leaves function bodies unparsed, as an ecosystem-side route.", + "actorId": 45197576, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024372490", + "kind": "comment", + "actor": "lnicola", + "createdAt": "2022-01-28T16:17:54Z", + "editedAt": "2022-01-28T16:36:17Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024372490", + "summary": "A comment GitHub marks as hidden (resolved); a maintainer worries syn-mid would split the ecosystem and add compile cost.", + "actorId": 308347, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024382756", + "kind": "comment", + "actor": "hkalbasi", + "createdAt": "2022-01-28T16:28:54Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024382756", + "summary": "The maintainer answers that syn-mid shares code with syn's derive feature, so the cost needs measuring rather than assuming.", + "actorId": 45197576, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024423092", + "kind": "comment", + "actor": "jgarvin", + "createdAt": "2022-01-28T17:02:18Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024423092", + "summary": "A user frames the choice as heuristics versus trusted macro annotations and asks if a third way exists, mentioning Lisp-style macro hints.", + "actorId": 102322, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024436397", + "kind": "comment", + "actor": "vlad20012", + "createdAt": "2022-01-28T17:18:08Z", + "editedAt": "2022-01-28T17:18:54Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024436397", + "summary": "A contributor from IntelliJ Rust observes that their IDE shows the union of completions from the expansion and the plain item.", + "actorId": 3221931, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1024916517", + "kind": "comment", + "actor": "danielhenrymantilla", + "createdAt": "2022-01-29T13:56:17Z", + "editedAt": "2022-01-29T13:57:25Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1024916517", + "summary": "The user maintains that people would rather have completions with an extra spurious error than none, notes tokio already re-emits input on failure, but withdraws the Result API idea.", + "actorId": 9920355, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031304440", + "kind": "comment", + "actor": "Follpvosten", + "createdAt": "2022-02-07T10:22:01Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031304440", + "summary": "A user says attribute macros such as async-trait and web route macros break completely on unparseable input and asks for an input-as-output option.", + "actorId": 22855787, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031310916", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-02-07T10:28:40Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031310916", + "summary": "A maintainer replies that those macros replace their input with an error on parse failure and also transform it, so pass-through is not a fix.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031315945", + "kind": "comment", + "actor": "Follpvosten", + "createdAt": "2022-02-07T10:33:51Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031315945", + "summary": "The user adds that disabling attribute macro expansion removes all their problems, while the default-on feature breaks them.", + "actorId": 22855787, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031573991", + "kind": "comment", + "actor": "jgarvin", + "createdAt": "2022-02-07T15:12:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031573991", + "summary": "A user clarifies that by additive macros they meant ones that parse their input but re-emit it unchanged.", + "actorId": 102322, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031642818", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-02-07T16:10:20Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031642818", + "summary": "A maintainer says what matters is whether a macro passes its input through on error, which is easy for macro authors to fix without any annotation.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031749840", + "kind": "comment", + "actor": "jgarvin", + "createdAt": "2022-02-07T17:53:44Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031749840", + "summary": "A user asks whether falling back to pass-through on failure would ever make completion worse, arguing one central heuristic beats waiting on the ecosystem.", + "actorId": 102322, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1031849216", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-02-07T19:43:09Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1031849216", + "summary": "A maintainer says it causes other odd effects and calls the choice a false dichotomy, naming input syntax fixup as the workaround they can build.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1032350872", + "kind": "comment", + "actor": "vlad20012", + "createdAt": "2022-02-08T08:40:23Z", + "editedAt": "2022-02-08T08:43:24Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1032350872", + "summary": "An IntelliJ Rust contributor suggests using the original tokens only for completion, as IntelliJ does, so diagnostics are not affected.", + "actorId": 3221931, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:process:cross-referenced:2022-02-09T15:44:08Z", + "kind": "process", + "actor": "flodiebold", + "createdAt": "2022-02-09T15:44:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "summary": "A maintainer links PR #11444, which repairs syntax errors in attribute macro input so completion works more often.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1047609308", + "kind": "comment", + "actor": "trevyn", + "createdAt": "2022-02-22T09:46:29Z", + "editedAt": "2022-02-22T10:32:05Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1047609308", + "summary": "A user asks how a macro can tell it is being expanded by rust-analyzer, and shares a check on the executable name.", + "actorId": 230691, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1047697171", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-02-22T11:24:49Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1047697171", + "summary": "A maintainer asks for examples and doubts such a distinction is generally feasible, beyond live diagnostics versus explicit builds.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1047749052", + "kind": "comment", + "actor": "trevyn", + "createdAt": "2022-02-22T12:31:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1047749052", + "summary": "The user explains their derive macro writes migration files as a side effect, producing a table per keystroke under the IDE, so they suppress side effects there.", + "actorId": 230691, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1054957476", + "kind": "comment", + "actor": "samsieber", + "createdAt": "2022-03-01T03:19:06Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1054957476", + "summary": "A user proposes that macros publish a tree-sitter style grammar of their input that the IDE could load for better completion.", + "actorId": 5694469, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1162025834", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2022-06-21T17:07:29Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1162025834", + "summary": "A maintainer says the syntax fixup is now in and working well and asks whether to close the issue.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:1162044878", + "kind": "comment", + "actor": "Veykril", + "createdAt": "2022-06-21T17:24:06Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-1162044878", + "summary": "The opening maintainer agrees to close it.", + "actorId": 3757771, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:process:closed:2022-06-21T17:24:06Z", + "kind": "process", + "actor": "Veykril", + "createdAt": "2022-06-21T17:24:06Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "summary": "The opening maintainer closes the issue.", + "actorId": 3757771, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:process:cross-referenced:2022-06-29T20:49:37Z", + "kind": "process", + "actor": "vlad20012", + "createdAt": "2022-06-29T20:49:37Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "summary": "An IntelliJ Rust contributor links a PR in their IDE that also repairs syntax before calling attribute macros.", + "actorId": 3221931, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:2519610705", + "kind": "comment", + "actor": "safinaskar", + "createdAt": "2024-12-05T08:30:42Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-2519610705", + "summary": "A user asks to reopen two years later, showing that an unbalanced brace under tokio::main still turns the whole function red.", + "actorId": 859494, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:2519737830", + "kind": "comment", + "actor": "safinaskar", + "createdAt": "2024-12-05T09:27:26Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-2519737830", + "summary": "The user adds that the ignore setting did not help and only a cfg_attr guard for rust_analyzer worked.", + "actorId": 859494, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + }, + { + "id": "rust-analyzer-11014:comment:2521167644", + "kind": "comment", + "actor": "Veykril", + "createdAt": "2024-12-05T18:51:42Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/11014#issuecomment-2521167644", + "summary": "A maintainer points them to a separate, newer issue instead of reopening.", + "actorId": 3757771, + "actorType": "human", + "parentId": "rust-analyzer-11014:issue:11014" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rust-analyzer-upstream-inlay-hints.json b/evals/datasets/decisions-v1/cases/rust-analyzer-upstream-inlay-hints.json new file mode 100644 index 000000000..070a66694 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rust-analyzer-upstream-inlay-hints.json @@ -0,0 +1,415 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rust-analyzer-upstream-inlay-hints", + "title": "Upstreaming rust-analyzer's inlay hints into a standard editor API", + "source": { + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "retrievedAt": "2026-10-18T07:28:34.549592+00:00", + "repository": "rust-lang/rust-analyzer", + "number": 2797 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-03-02T13:21:00Z" + }, + { + "id": "c2", + "at": "2021-01-20T11:00:00Z" + }, + { + "id": "c3", + "at": "2022-02-12T14:00:00Z" + }, + { + "id": "c4", + "at": "2022-03-07T18:00:00Z" + } + ], + "events": [ + { + "id": "rust-analyzer-2797:issue:2797", + "kind": "opening", + "actor": "kjeremy", + "createdAt": "2020-01-11T17:20:31Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "summary": "A contributor asks whether rust-analyzer's custom inlay hints should be put forward upstream as a proposed API.", + "actorId": 4325700, + "actorType": "human" + }, + { + "id": "rust-analyzer-2797:comment:593392404", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2020-03-02T13:07:15Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-593392404", + "summary": "The opener suggests revisiting after another issue lands, seeing it as a possible step toward pushing VS Code's long-open inline hints request.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:593397511", + "kind": "comment", + "actor": "matklad", + "createdAt": "2020-03-02T13:19:29Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-593397511", + "summary": "A lead maintainer argues against waiting for VS Code: draft a proposed protocol now, since it can already be implemented hackily in Emacs and VS Code, and ask the LSP repo whether they can review protocol changes.", + "actorId": 1711539, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:593399252", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2020-03-02T13:23:25Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-593399252", + "summary": "The opener agrees the LSP side should come first.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:process:cross-referenced:2020-03-03T20:04:08Z", + "kind": "process", + "actor": "Veetaha", + "createdAt": "2020-03-03T20:04:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "summary": "A contributor links a PR redesigning the VS Code hint rendering to handle several editors on one file.", + "actorId": 36276403, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:611042088", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2020-04-08T15:57:08Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-611042088", + "summary": "The opener invites maintainers to join an issue he filed in the vscode-languageclient repo.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763153354", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-01-19T21:29:23Z", + "editedAt": "2021-01-19T21:39:01Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763153354", + "summary": "A maintainer announces an upstream API proposal from VS Code and moves the review here, raising points on the meaning of the hint range, naming, caret behaviour around hints, the whitespaceBefore/After fields, lack of style customisation, interaction with hints, and passing caret position to the provider.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763161356", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2021-01-19T21:45:09Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763161356", + "summary": "The opener tags the Dart/Flutter extension author, who also shows end-of-line hints.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763168866", + "kind": "comment", + "actor": "DanTup", + "createdAt": "2021-01-19T21:59:55Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763168866", + "summary": "The Dart extension author says they will read it and give feedback on the VS Code issue.", + "actorId": 1078012, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763513595", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-01-20T10:43:24Z", + "editedAt": "2021-01-20T10:45:04Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763513595", + "summary": "A VS Code maintainer answers: the whitespace fields act as margins outside the hint's background, the range supports a future overlay mode, caret rules are hard and may be a user setting, styling may come through limited markdown and theme colours, and caret position is unlikely because the API must stay editor-agnostic. He asks for a live call and demo.", + "actorId": 1794099, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763526816", + "kind": "comment", + "actor": "flodiebold", + "createdAt": "2021-01-20T11:05:49Z", + "editedAt": "2021-01-20T11:09:22Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763526816", + "summary": "A maintainer opposes showing or hiding hints based on cursor position, expecting distracting churn, and says any such logic belongs in the editor.", + "actorId": 906069, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:763568263", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-01-20T12:21:36Z", + "editedAt": "2021-01-20T12:23:27Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-763568263", + "summary": "The maintainer accepts the margin explanation but suggests grouping style fields, asks how a mismatched range would render, drops the caret idea, and agrees to a meeting with others invited.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:765304124", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-01-22T10:21:46Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-765304124", + "summary": "The maintainer offers to prototype rust-analyzer's hints on the proposed API and asks what client versions are needed.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:765341765", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-01-22T11:38:30Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-765341765", + "summary": "The VS Code maintainer explains the proposal is not in LSP yet, so the prototype must use custom messages and the proposed API directly.", + "actorId": 1794099, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:765342346", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-01-22T11:39:57Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-765342346", + "summary": "The VS Code maintainer proposes meeting late the following week and wants a demo plus likes and dislikes.", + "actorId": 1794099, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:765636262", + "kind": "comment", + "actor": "lnicola", + "createdAt": "2021-01-22T19:29:37Z", + "editedAt": "2021-01-22T19:33:38Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-765636262", + "summary": "A maintainer links related issues.", + "actorId": 308347, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:765648595", + "kind": "comment", + "actor": "d4h0", + "createdAt": "2021-01-22T19:54:10Z", + "editedAt": "2021-01-22T19:56:00Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-765648595", + "summary": "A user asks that hints respect word wrap and suggests an option to show type hints above the line instead of inline.", + "actorId": 183805, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:772611554", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2021-02-03T15:51:55Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-772611554", + "summary": "The opener pings to make sure the work is not forgotten and that a VS Code issue links back.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:772634417", + "kind": "comment", + "actor": "IWANABETHATGUY", + "createdAt": "2021-02-03T16:22:37Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-772634417", + "summary": "A user shows the current caret jumping around hints compared with IntelliJ's smoother behaviour.", + "actorId": 17974631, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:772656010", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-02-03T16:50:33Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-772656010", + "summary": "The maintainer says a short meeting with the VS Code team is set for Friday and offers the link privately.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:811344566", + "kind": "comment", + "actor": "kjeremy", + "createdAt": "2021-03-31T18:55:27Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-811344566", + "summary": "The opener asks whether a newly stabilised VS Code API is the hints one.", + "actorId": 4325700, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:811902058", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-04-01T13:18:48Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-811902058", + "summary": "The maintainer clarifies that was the debugger inline-values API, a different feature.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:811902290", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-04-01T13:19:12Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-811902290", + "summary": "The maintainer describes a branch that uses VS Code's proposed hints API and how to try it.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:811904617", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2021-04-01T13:23:01Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-811904617", + "summary": "The maintainer reports the VS Code proposal seems stalled with display and performance limits, says feedback was shared, and concludes they must wait longer.", + "actorId": 2690773, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:896607286", + "kind": "comment", + "actor": "rami3l", + "createdAt": "2021-08-11T08:12:54Z", + "editedAt": "2021-09-05T08:17:59Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-896607286", + "summary": "A member notes TypeScript now ships inlay hints via VS Code's injected-text support, then concludes rust-analyzer should still wait for the upstream API.", + "actorId": 33851577, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:898033205", + "kind": "comment", + "actor": "Walther", + "createdAt": "2021-08-12T23:14:15Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-898033205", + "summary": "A contributor illustrates with screenshots that hints break soft wrapping and cause horizontal scrolling.", + "actorId": 2943750, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:898041797", + "kind": "comment", + "actor": "Walther", + "createdAt": "2021-08-12T23:34:41Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-898041797", + "summary": "The contributor finds a related VS Code issue.", + "actorId": 2943750, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:898043038", + "kind": "comment", + "actor": "Walther", + "createdAt": "2021-08-12T23:38:04Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-898043038", + "summary": "The contributor notes a VS Code PR that may fix it soon.", + "actorId": 2943750, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:898237347", + "kind": "comment", + "actor": "rami3l", + "createdAt": "2021-08-13T07:02:42Z", + "editedAt": "2021-08-13T15:01:15Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-898237347", + "summary": "The member confirms injected text is what makes TypeScript's hints wrap properly.", + "actorId": 33851577, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:1034004339", + "kind": "comment", + "actor": "lnicola", + "createdAt": "2022-02-09T17:18:30Z", + "editedAt": "2022-02-09T17:18:48Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-1034004339", + "summary": "A maintainer says the hints API will be stable in the next VS Code release and opens a draft PR that does not work yet.", + "actorId": 308347, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:process:cross-referenced:2022-02-12T13:43:01Z", + "kind": "process", + "actor": "lnicola", + "createdAt": "2022-02-12T13:43:01Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "summary": "The maintainer links PR #11445 to adopt the upstream inlay hints.", + "actorId": 308347, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:process:closed:2022-03-07T16:57:35Z", + "kind": "process", + "actor": "bors[bot]", + "createdAt": "2022-03-07T16:57:35Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "summary": "The merge bot closes the issue as PR #11445 lands.", + "actorId": 26634292, + "actorType": "bot", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:comment:1061594139", + "kind": "comment", + "actor": "rami3l", + "createdAt": "2022-03-08T09:50:09Z", + "editedAt": "2022-03-08T09:51:42Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797#issuecomment-1061594139", + "summary": "A member likes the result but asks whether the old style with a leading colon can return, finding the bare type confusing.", + "actorId": 33851577, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + }, + { + "id": "rust-analyzer-2797:process:cross-referenced:2022-03-08T10:02:29Z", + "kind": "process", + "actor": "lnicola", + "createdAt": "2022-03-08T10:02:29Z", + "url": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "summary": "A maintainer links PR #11658 restoring colons around type hints.", + "actorId": 308347, + "actorType": "human", + "parentId": "rust-analyzer-2797:issue:2797" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rust-cargo-feature-docs.json b/evals/datasets/decisions-v1/cases/rust-cargo-feature-docs.json new file mode 100644 index 000000000..730a617c8 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rust-cargo-feature-docs.json @@ -0,0 +1,1043 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rust-cargo-feature-docs", + "title": "Cargo feature descriptions in Cargo.toml", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "retrievedAt": "2026-10-18T07:31:37.127676+00:00", + "repository": "rust-lang/rfcs", + "number": 3485 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-09-10T02:00:00Z" + }, + { + "id": "c2", + "at": "2024-08-20T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-08-25T12:00:00Z" + }, + { + "id": "c4", + "at": "2026-09-06T02:00:00Z" + } + ], + "events": [ + { + "id": "rfcs-3485:pr:3485", + "kind": "opening", + "actor": "tgross35", + "createdAt": "2023-09-09T22:59:28Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The author opens an RFC, split from the broader feature-metadata RFC, to let Cargo.toml features carry a doc string, either inline or as a full table, resolving a long-standing cargo issue.", + "actorId": 13724985, + "actorType": "human" + }, + { + "id": "rfcs-3485:comment:1712657831", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2023-09-09T22:59:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-1712657831", + "summary": "The author asks the bot to apply the Cargo team label.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:1712657835", + "kind": "comment", + "actor": "rustbot", + "createdAt": "2023-09-09T22:59:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-1712657835", + "summary": "A bot replies that only Rust team members can set that label.", + "actorId": 47979223, + "actorType": "bot", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:cross-referenced:2023-09-09T23:16:14Z", + "kind": "process", + "actor": "tgross35", + "createdAt": "2023-09-09T23:16:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The author links the parent feature-metadata RFC this was split from.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:1712680397", + "kind": "comment", + "actor": "epage", + "createdAt": "2023-09-10T01:35:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-1712680397", + "summary": "A Cargo team member thanks the author for edit access to make small fixes.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1320674554", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2023-09-10T01:38:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1320674554", + "summary": "A Cargo team member highlights the open question of the description format, wanting short summaries for cargo add, and suggests asking a crates ecosystem expert how features are documented in practice.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1320674603", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2023-09-10T01:39:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1320674603", + "summary": "The Cargo team member says the body reads as if the format is decided while a later section says it is open, which could mislead approvers.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1326810912", + "kind": "review-comment", + "actor": "tgross35", + "createdAt": "2023-09-15T05:36:35Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1326810912", + "summary": "The author adds a note that the format is not yet decided.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1320674603" + }, + { + "id": "rfcs-3485:review-comment:1327390020", + "kind": "review-comment", + "actor": "kornelski", + "createdAt": "2023-09-15T14:42:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1327390020", + "summary": "A contributor says package descriptions already use Markdown with backticks, Markdown reads fine as plain text, and the first line could serve CLI help like rustdoc does.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1320674554" + }, + { + "id": "rfcs-3485:review-comment:1327716606", + "kind": "review-comment", + "actor": "weihanglo", + "createdAt": "2023-09-15T19:45:29Z", + "editedAt": "2023-09-15T19:46:20Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1327716606", + "summary": "A Cargo team member notes rustdoc knows nothing about Cargo.toml and asks for a cross-team discussion on how rustdoc would consume the data.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1327805177", + "kind": "review-comment", + "actor": "tgross35", + "createdAt": "2023-09-15T21:27:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1327805177", + "summary": "The author says he raised it with rustdoc before and drafted a separate RFC for passing configuration to rustdoc, and will restart that discussion.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1327716606" + }, + { + "id": "rfcs-3485:review-comment:1608551446", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-05-21T15:42:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1608551446", + "summary": "A Cargo team member marks the RFC as blocked on the feature-metadata RFC.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1648321599", + "kind": "review-comment", + "actor": "joshtriplett", + "createdAt": "2024-06-21T01:52:58Z", + "editedAt": "2024-06-21T01:59:14Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1648321599", + "summary": "A Cargo team member supports Markdown but suggests discouraging repeating the feature name, since tools show it anyway; the first paragraph should be a standalone summary.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1648323479", + "kind": "review-comment", + "actor": "joshtriplett", + "createdAt": "2024-06-21T01:56:41Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1648323479", + "summary": "The same member endorses Markdown and treating everything before the first blank line as the short description.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1320674554" + }, + { + "id": "rfcs-3485:comment:2181841852", + "kind": "comment", + "actor": "joshtriplett", + "createdAt": "2024-06-21T01:58:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2181841852", + "summary": "The member notes the parent RFC is now in FCP, which unblocks this one, says he will propose FCP, and argues for Markdown.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2181841951", + "kind": "comment", + "actor": "joshtriplett", + "createdAt": "2024-06-21T01:58:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2181841951", + "summary": "The member proposes merging via rfcbot.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2181842114", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2024-06-21T01:59:06Z", + "editedAt": "2026-08-26T18:44:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2181842114", + "summary": "The bot lists Cargo team reviewers and concerns; it later records all checkboxes ticked and the cargo-metadata, docs-included-in-design and naming concerns resolved.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2024-06-21T01:59:06Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2024-06-21T01:59:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot labels the RFC as proposed for final comment.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2024-06-21T01:59:07Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2024-06-21T01:59:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot sets the merge disposition.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1648325569", + "kind": "review-comment", + "actor": "joshtriplett", + "createdAt": "2024-06-21T02:01:28Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1648325569", + "summary": "The member suggests wording: a Markdown doc string whose first paragraph is a standalone summary, without the feature name.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2184033172", + "kind": "comment", + "actor": "weihanglo", + "createdAt": "2024-06-22T13:29:05Z", + "editedAt": "2024-06-22T13:29:27Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2184033172", + "summary": "A Cargo team member signs off but stresses intra-doc links matter and pings a rustdoc maintainer.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2184046496", + "kind": "comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-06-22T14:02:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2184046496", + "summary": "A rustdoc maintainer agrees it is a good point.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1649704646", + "kind": "review-comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-06-22T14:04:28Z", + "editedAt": "2024-06-22T14:04:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1649704646", + "summary": "The rustdoc maintainer asks whether intra-doc links should be supported, suggesting they resolve in the crate's top-level context.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1649705259", + "kind": "review-comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-06-22T14:08:57Z", + "editedAt": "2024-06-22T14:08:58Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1649705259", + "summary": "The rustdoc maintainer notices it was already mentioned.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1649704646" + }, + { + "id": "rfcs-3485:review-comment:1649743767", + "kind": "review-comment", + "actor": "weihanglo", + "createdAt": "2024-06-22T16:46:44Z", + "editedAt": "2024-06-22T16:50:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1649743767", + "summary": "The Cargo team member asks whether shipping this RFC before rustdoc support would cause compatibility trouble.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1649704646" + }, + { + "id": "rfcs-3485:review-comment:1649801873", + "kind": "review-comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-06-22T22:07:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1649801873", + "summary": "The rustdoc maintainer thinks Cargo should just note that rustdoc may later support intra-doc links.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1649704646" + }, + { + "id": "rfcs-3485:review-comment:1650157982", + "kind": "review-comment", + "actor": "weihanglo", + "createdAt": "2024-06-23T18:23:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1650157982", + "summary": "The Cargo team member agrees and asks the author to add a note warning users of that potential incompatibility.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1649704646" + }, + { + "id": "rfcs-3485:review-comment:1670832902", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-09T16:21:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1670832902", + "summary": "A Cargo team member suggests a wording fix.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1670833426", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-09T16:21:41Z", + "editedAt": "2024-07-09T16:21:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1670833426", + "summary": "The Cargo team member asks for an example features table in the summary.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1670833773", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-09T16:21:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1670833773", + "summary": "The Cargo team member suggests another wording fix.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1670837683", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-09T16:24:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1670837683", + "summary": "The Cargo team member raises naming: doc mirrors the attribute, description mirrors package.description, documentation is a URL elsewhere, and Cargo tends to avoid abbreviations.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1670839081", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-09T16:25:28Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1670839081", + "summary": "The Cargo team member suggests a further wording fix.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2218338583", + "kind": "comment", + "actor": "epage", + "createdAt": "2024-07-09T18:04:48Z", + "editedAt": "2024-07-09T18:05:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2218338583", + "summary": "The Cargo team member files a naming concern with rfcbot.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1676496921", + "kind": "review-comment", + "actor": "joshtriplett", + "createdAt": "2024-07-12T21:59:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1676496921", + "summary": "A Cargo team member argues for doc: it signals full documentation not just a description, matches rustdoc and Markdown use, is short, and reduces friction to writing docs.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1670837683" + }, + { + "id": "rfcs-3485:comment:2228582348", + "kind": "comment", + "actor": "Eh2406", + "createdAt": "2024-07-15T14:02:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228582348", + "summary": "A Cargo team member raises a concern that rustdoc and docs.rs teams should be consulted even if they need not sign off.", + "actorId": 3709504, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228599258", + "kind": "comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-07-15T14:09:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228599258", + "summary": "A rustdoc maintainer says docs.rs has the data already and rustdoc could take it via a command-line argument file; the real question is how to display it.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228604906", + "kind": "comment", + "actor": "syphar", + "createdAt": "2024-07-15T14:12:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228604906", + "summary": "A docs.rs team member says he follows the RFC and agrees with the rustdoc maintainer.", + "actorId": 540890, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228610289", + "kind": "comment", + "actor": "Eh2406", + "createdAt": "2024-07-15T14:14:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228610289", + "summary": "The Cargo team member resolves the consultation concern.", + "actorId": 3709504, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228618380", + "kind": "comment", + "actor": "obi1kenobi", + "createdAt": "2024-07-15T14:18:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228618380", + "summary": "A tooling maintainer hopes the data reaches rustdoc JSON for semver checking, since feature changes can break semver.", + "actorId": 2348618, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228656061", + "kind": "comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-07-15T14:34:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228656061", + "summary": "The rustdoc maintainer offers to add it to JSON output when it reaches HTML docs.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2228690408", + "kind": "comment", + "actor": "syphar", + "createdAt": "2024-07-15T14:50:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2228690408", + "summary": "The docs.rs team member asks what then happens to the docs.rs feature view given open issues there.", + "actorId": 540890, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1678136648", + "kind": "review-comment", + "actor": "tgross35", + "createdAt": "2024-07-15T16:54:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1678136648", + "summary": "The author adds the intra-doc link note.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1649704646" + }, + { + "id": "rfcs-3485:review-comment:1678141750", + "kind": "review-comment", + "actor": "tgross35", + "createdAt": "2024-07-15T16:58:59Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1678141750", + "summary": "The author adds the requested summary example.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1670833426" + }, + { + "id": "rfcs-3485:comment:2229020607", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2024-07-15T17:24:17Z", + "editedAt": "2024-07-15T17:24:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2229020607", + "summary": "The author asks whether rustdoc sees cargo metadata output and whether the docs should be added there, notes a tracking issue for rustdoc support, and suggests docs.rs need not grow its own view.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2229048658", + "kind": "comment", + "actor": "GuillaumeGomez", + "createdAt": "2024-07-15T17:40:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2229048658", + "summary": "The rustdoc maintainer says rustdoc does not see cargo metadata, and that docs.rs and rustdoc can present the data independently.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:1678297485", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2024-07-15T19:30:38Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r1678297485", + "summary": "The Cargo team member replies he values consistency over brevity and that the long-form table already adds friction.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1670837683" + }, + { + "id": "rfcs-3485:comment:2229243153", + "kind": "comment", + "actor": "epage", + "createdAt": "2024-07-15T19:36:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2229243153", + "summary": "The Cargo team member files a cargo-metadata concern: whether and how the docs appear in cargo metadata output and its format version.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2229613051", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2024-07-15T23:27:14Z", + "editedAt": "2024-08-17T18:53:12Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2229613051", + "summary": "The author proposes mirroring the new feature tables in metadata, or a backward-compatible parallel features_metadata object deferred to a future format version.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2294940573", + "kind": "comment", + "actor": "amab8901", + "createdAt": "2024-08-17T18:46:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2294940573", + "summary": "A user asks why the RFC is still open when the parent RFC closed.", + "actorId": 83634595, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2294943072", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2024-08-17T18:55:05Z", + "editedAt": "2024-08-17T19:00:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2294943072", + "summary": "The author explains the parent only set a format for metadata; this RFC adds documentation and still has two concerns open; he asks the Cargo member whether his metadata idea works.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:2296735445", + "kind": "comment", + "actor": "epage", + "createdAt": "2024-08-19T14:35:36Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-2296735445", + "summary": "The Cargo team member lays out four metadata options (new format version, parallel table, a features2 table, or simple form where possible) and asks the author to record them as alternatives for a team meeting.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:2326519290", + "kind": "review-comment", + "actor": "weihanglo", + "createdAt": "2025-09-06T05:02:15Z", + "editedAt": "2025-09-06T05:02:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2326519290", + "summary": "A year later a Cargo team member argues doc is most consistent with the existing attribute and its style guide.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:1670837683" + }, + { + "id": "rfcs-3485:comment:3260938405", + "kind": "comment", + "actor": "weihanglo", + "createdAt": "2025-09-06T05:25:03Z", + "editedAt": "2025-09-08T14:43:16Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-3260938405", + "summary": "The Cargo team member, after a RustConf unconference discussion, asks whether metadata integration should really block, since tools can use cargo-util-schemas and the field schema is settled. GitHub hides it as a duplicate.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:3262149802", + "kind": "comment", + "actor": "kornelski", + "createdAt": "2025-09-06T13:21:02Z", + "editedAt": "2025-09-08T14:43:37Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-3262149802", + "summary": "A contributor argues cargo metadata could just mirror the new layout, with the cargo_metadata crate translating it, and that a parallel features2 adds bloat without saving work. GitHub hides it as a duplicate.", + "actorId": 72159, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2025-09-06T16:02:39Z", + "kind": "process", + "actor": "Turbo87", + "createdAt": "2025-09-06T16:02:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "A crates.io maintainer adds the crates.io team label.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2025-09-06T16:03:11Z", + "kind": "process", + "actor": "Turbo87", + "createdAt": "2025-09-06T16:03:11Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The crates.io maintainer adds the rustdoc team label.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:2330471259", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T14:41:29Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330471259", + "summary": "A Cargo team member asks why crates.io was tagged when Cargo owns the manifest format.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:2330475986", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T14:43:11Z", + "editedAt": "2025-09-08T14:44:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330475986", + "summary": "The Cargo team member moves the metadata-blocking comment into a review thread.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:2330477392", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T14:43:42Z", + "editedAt": "2025-09-08T14:43:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330477392", + "summary": "The Cargo team member moves the contributor's mirroring argument into the same thread.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330475986" + }, + { + "id": "rfcs-3485:comment:3266668752", + "kind": "comment", + "actor": "epage", + "createdAt": "2025-09-08T14:44:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-3266668752", + "summary": "The Cargo team member explains he moved the conversation to make it easier to follow.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:2330491382", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T14:48:56Z", + "editedAt": "2025-09-08T14:49:47Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330491382", + "summary": "The Cargo team member clarifies he asked whether metadata should block, since the RFC ignores its impact; additions can come later, but the team must judge whether the feature is complete without it.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330475986" + }, + { + "id": "rfcs-3485:review-comment:2330497661", + "kind": "review-comment", + "actor": "Turbo87", + "createdAt": "2025-09-08T14:51:05Z", + "editedAt": "2025-09-08T14:52:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330497661", + "summary": "The crates.io maintainer says his team was left out of the parent RFC, and new fields mean old cargo cannot normalise newer manifests from the registry without losing data.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330471259" + }, + { + "id": "rfcs-3485:review-comment:2330527551", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T15:00:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330527551", + "summary": "The Cargo team member summarises the mirroring proposal and argues a features2 table would disrupt existing metadata callers less, while bloat is a minor concern.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330475986" + }, + { + "id": "rfcs-3485:review-comment:2330530855", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T15:01:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330530855", + "summary": "The Cargo team member notes a dynamic features layout would have to be chosen before stabilisation, or changing it later would break users.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330475986" + }, + { + "id": "rfcs-3485:review-comment:2330538322", + "kind": "review-comment", + "actor": "epage", + "createdAt": "2025-09-08T15:04:45Z", + "editedAt": "2025-09-08T15:04:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330538322", + "summary": "The Cargo team member says team labels mark decision ownership, not participation.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330471259" + }, + { + "id": "rfcs-3485:review-comment:2330545196", + "kind": "review-comment", + "actor": "Turbo87", + "createdAt": "2025-09-08T15:07:21Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2330545196", + "summary": "The crates.io maintainer replies that manifest changes must be supported by crates.io, so his team wants to be kept informed.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330471259" + }, + { + "id": "rfcs-3485:review-comment:2353331683", + "kind": "review-comment", + "actor": "ehuss", + "createdAt": "2025-09-16T18:34:04Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2353331683", + "summary": "A Cargo team member explains labels drive rfcbot approvals for owning teams and offers to notify crates.io on Zulip or by tagging.", + "actorId": 43198, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330471259" + }, + { + "id": "rfcs-3485:review-comment:2354848367", + "kind": "review-comment", + "actor": "Turbo87", + "createdAt": "2025-09-17T09:10:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r2354848367", + "summary": "The crates.io maintainer sees the manifest as a shared interface owned by both teams, suggests a separate moderated discussion on responsibilities, and welcomes notification.", + "actorId": 141300, + "actorType": "human", + "parentId": "rfcs-3485:review-comment:2330471259" + }, + { + "id": "rfcs-3485:process:unlabeled:2025-09-17T14:50:31Z", + "kind": "process", + "actor": "epage", + "createdAt": "2025-09-17T14:50:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "A Cargo team member removes the rustdoc team label.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:3303392107", + "kind": "comment", + "actor": "epage", + "createdAt": "2025-09-17T14:52:52Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-3303392107", + "summary": "The Cargo team member explains rustdoc's side lives in the separate RFC, though rustdoc input still matters, and mentions shell completions as another consumer.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:unlabeled:2025-09-17T17:15:23Z", + "kind": "process", + "actor": "oli-obk", + "createdAt": "2025-09-17T17:15:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "A Rust team member removes the crates.io team label.", + "actorId": 332036, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:3311793852", + "kind": "comment", + "actor": "GuillaumeGomez", + "createdAt": "2025-09-19T11:14:40Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-3311793852", + "summary": "The rustdoc maintainer agrees with the arrangement.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:cross-referenced:2026-08-20T05:52:00Z", + "kind": "process", + "actor": "tgross35", + "createdAt": "2026-08-20T05:52:00Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The author links a new RFC adding metadata output considerations to the parent feature-metadata RFC.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5352085451", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2026-08-20T06:09:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5352085451", + "summary": "The author apologises for a two-year lapse and points to the new metadata proposal that this RFC can extend.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:3819075476", + "kind": "review-comment", + "actor": "tgross35", + "createdAt": "2026-08-20T06:14:38Z", + "editedAt": "2026-08-20T06:20:32Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r3819075476", + "summary": "The author sketches how the doc field would appear under a features_v2 metadata key and notes the key name is again open.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5412858895", + "kind": "comment", + "actor": "epage", + "createdAt": "2026-08-25T15:37:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5412858895", + "summary": "A Cargo team member reports the team discussed the remaining concerns, judged neither needs community-wide input, and asks the author to record them as unresolved questions so FCP can start.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5421508427", + "kind": "comment", + "actor": "tgross35", + "createdAt": "2026-08-26T06:32:01Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5421508427", + "summary": "The author records both items as unresolved questions.", + "actorId": 13724985, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5429616876", + "kind": "comment", + "actor": "epage", + "createdAt": "2026-08-26T18:44:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5429616876", + "summary": "The Cargo team member resolves the cargo-metadata and naming concerns.", + "actorId": 60961, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2026-08-26T18:44:48Z", + "kind": "process", + "actor": "rust-rfcbot", + "createdAt": "2026-08-26T18:44:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot starts the final comment period.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:unlabeled:2026-08-26T18:44:49Z", + "kind": "process", + "actor": "rust-rfcbot", + "createdAt": "2026-08-26T18:44:49Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot removes the proposed-FCP label.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5429619172", + "kind": "comment", + "actor": "rust-rfcbot", + "createdAt": "2026-08-26T18:44:50Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5429619172", + "summary": "The bot announces the final comment period.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:review-comment:3935557623", + "kind": "review-comment", + "actor": "kpreid", + "createdAt": "2026-09-04T15:38:25Z", + "editedAt": "2026-09-04T15:43:42Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#discussion_r3935557623", + "summary": "A contributor flags that one section says first line while another says first paragraph, and suggests paragraph.", + "actorId": 779501, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:labeled:2026-09-05T18:47:07Z", + "kind": "process", + "actor": "rust-rfcbot", + "createdAt": "2026-09-05T18:47:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot marks the final comment period finished.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:unlabeled:2026-09-05T18:47:08Z", + "kind": "process", + "actor": "rust-rfcbot", + "createdAt": "2026-09-05T18:47:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The bot removes the FCP label.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5554005518", + "kind": "comment", + "actor": "rust-rfcbot", + "createdAt": "2026-09-05T18:47:10Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5554005518", + "summary": "The bot announces FCP completed with a merge disposition.", + "actorId": 228773180, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:cross-referenced:2026-09-05T21:52:55Z", + "kind": "process", + "actor": "GuillaumeGomez", + "createdAt": "2026-09-05T21:52:55Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "A rustdoc maintainer links a rustdoc PR adding a feature documentation command-line option.", + "actorId": 3050060, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:comment:5555961106", + "kind": "comment", + "actor": "weihanglo", + "createdAt": "2026-09-06T01:04:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485#issuecomment-5555961106", + "summary": "A Cargo team member merges the RFC and points further discussion to the cargo tracking issue.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:merged:2026-09-06T01:04:33Z", + "kind": "process", + "actor": "weihanglo", + "createdAt": "2026-09-06T01:04:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The RFC is merged.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:closed:2026-09-06T01:04:33Z", + "kind": "process", + "actor": "weihanglo", + "createdAt": "2026-09-06T01:04:33Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "The RFC PR is closed by the merge.", + "actorId": 14314532, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + }, + { + "id": "rfcs-3485:process:cross-referenced:2026-09-06T09:53:18Z", + "kind": "process", + "actor": "AudaciousAxiom", + "createdAt": "2026-09-06T09:53:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/3485", + "summary": "A contributor links a cargo PR implementing feature documentation in manifests.", + "actorId": 179637270, + "actorType": "human", + "parentId": "rfcs-3485:pr:3485" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/rust-check-cfg-rfc.json b/evals/datasets/decisions-v1/cases/rust-check-cfg-rfc.json new file mode 100644 index 000000000..9dbf8c7bc --- /dev/null +++ b/evals/datasets/decisions-v1/cases/rust-check-cfg-rfc.json @@ -0,0 +1,1109 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "rust-check-cfg-rfc", + "title": "Compile-time checking of cfg conditions", + "source": { + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "retrievedAt": "2026-10-18T07:32:11.108967+00:00", + "repository": "rust-lang/rfcs", + "number": 3013 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-11-04T18:00:00Z" + }, + { + "id": "c2", + "at": "2020-11-05T00:00:00Z" + }, + { + "id": "c3", + "at": "2021-02-11T15:00:00Z" + }, + { + "id": "c4", + "at": "2021-02-23T19:00:00Z" + } + ], + "events": [ + { + "id": "rfcs-3013:pr:3013", + "kind": "opening", + "actor": "sivadeilra", + "createdAt": "2020-11-04T17:43:36Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A contributor proposes an opt-in rustc and Cargo feature that flags invalid #[cfg] conditions, such as a misspelled feature name, without changing semantics or codegen.", + "actorId": 4743776, + "actorType": "human" + }, + { + "id": "rfcs-3013:comment:721881256", + "kind": "comment", + "actor": "bjorn3", + "createdAt": "2020-11-04T17:51:53Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-721881256", + "summary": "A team member asks how this handles build scripts, which can set arbitrary cfgs with no static list.", + "actorId": 17426603, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:721883731", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-04T17:56:46Z", + "editedAt": "2020-11-04T17:59:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-721883731", + "summary": "The author separates what rustc does from what build tools do, suggests Cargo check only feature values at first, and says build scripts could also emit valid names.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:721890068", + "kind": "comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:09:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-721890068", + "summary": "A team member asks what happens when a build script forgets to emit valid names, worrying about spurious warnings.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:721890694", + "kind": "comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:11:02Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-721890694", + "summary": "The team member adds that cfgs like docsrs are set from the command line in arbitrary ways.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:517539717", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:15:04Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517539717", + "summary": "The team member suggests a crate-level attribute listing expected names, so Cargo only declares feature values.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review-comment:517541672", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:18:44Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517541672", + "summary": "The team member says the RFC need not enumerate every well-known name.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review-comment:517542194", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:19:39Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517542194", + "summary": "The team member says this should be a warn-by-default lint so it is discoverable but can be disabled.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review-comment:517542748", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:20:31Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517542748", + "summary": "The team member asks what happens to a cfg passed but not marked valid, arguing it should not need repeating.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review-comment:517543545", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:21:59Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517543545", + "summary": "The team member proposes Cargo always pass the information and users control it with normal lint levels.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review-comment:517543984", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-04T18:22:43Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517543984", + "summary": "The team member suggests a corrected syntax example.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review:523618367" + }, + { + "id": "rfcs-3013:review:523618367", + "kind": "review", + "actor": "jyn514", + "createdAt": "2020-11-04T18:23:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#pullrequestreview-523618367", + "summary": "The team member's review says checking values is the most useful part and tracking arbitrary names looks hard.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:721897642", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-04T18:25:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-721897642", + "summary": "The author says Cargo would check only feature values by default, floats behaving differently when a build script exists, and proposes a staged policy: mechanism in rustc first, then iterate on when Cargo enables it.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:517663360", + "kind": "review-comment", + "actor": "Julian-Wollersberger", + "createdAt": "2020-11-04T22:16:38Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517663360", + "summary": "A user suggests a future option to catch near-miss spellings of well-known names even without declarations.", + "actorId": 24991778, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:517665683", + "kind": "review-comment", + "actor": "Julian-Wollersberger", + "createdAt": "2020-11-04T22:22:02Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517665683", + "summary": "A user nitpicks the present tense in the text.", + "actorId": 24991778, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review:523799667", + "kind": "review", + "actor": "Julian-Wollersberger", + "createdAt": "2020-11-04T23:03:07Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#pullrequestreview-523799667", + "summary": "A user welcomes the feature but argues the command-line syntax should be separate flags rather than new --cfg forms, offering alternatives.", + "actorId": 24991778, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:517709961", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T00:25:25Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517709961", + "summary": "The author explains reusing --cfg avoided new options and reused metadata parsing, but is open to separate flags.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517539717" + }, + { + "id": "rfcs-3013:review-comment:517710640", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T00:27:47Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517710640", + "summary": "The author says a cfg that is passed is implicitly valid.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517542748" + }, + { + "id": "rfcs-3013:review-comment:517711507", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T00:30:31Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517711507", + "summary": "The author asks whether warn-by-default would surprise users with new warnings.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517542194" + }, + { + "id": "rfcs-3013:review-comment:517712425", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T00:33:52Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517712425", + "summary": "The author notes the RFC template asks for present tense.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517665683" + }, + { + "id": "rfcs-3013:review-comment:517713455", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-05T00:37:26Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517713455", + "summary": "A team member replies new lints are normally warn-by-default and warnings fall outside the stability policy.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517542194" + }, + { + "id": "rfcs-3013:review-comment:517713755", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2020-11-05T00:38:28Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517713755", + "summary": "A team member likes the separate-flag direction.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517539717" + }, + { + "id": "rfcs-3013:review-comment:517963466", + "kind": "review-comment", + "actor": "Julian-Wollersberger", + "createdAt": "2020-11-05T10:58:01Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r517963466", + "summary": "The user withdraws the tense nit.", + "actorId": 24991778, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517665683" + }, + { + "id": "rfcs-3013:review-comment:518194360", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T16:40:19Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r518194360", + "summary": "The author is convinced separate arguments are clearer, keeping --cfg unchanged, and will edit the text.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517539717" + }, + { + "id": "rfcs-3013:review-comment:518194566", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T16:40:38Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r518194566", + "summary": "The author agrees to the lint approach and will update the text.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517542194" + }, + { + "id": "rfcs-3013:comment:722495381", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-05T16:41:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-722495381", + "summary": "The author agrees to simplify the syntax.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:723326969", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-06T22:24:18Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-723326969", + "summary": "The author updates the RFC to a new --check-cfg option, leaves --cfg unchanged, clarifies edge cases, and links a prototype implementation.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:725995769", + "kind": "comment", + "actor": "Havvy", + "createdAt": "2020-11-12T10:39:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-725995769", + "summary": "A contributor suggests linking the reference and notes a drawback: more command-line surface for a lint.", + "actorId": 731722, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:renamed:2020-11-12T10:54:06Z", + "kind": "process", + "actor": "kennytm", + "createdAt": "2020-11-12T10:54:06Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The PR is retitled to name the RFC.", + "actorId": 103023, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:726150308", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-12T15:29:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-726150308", + "summary": "The author asks what to do instead and argues the new option controls diagnostics much like lint flags do.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:726372716", + "kind": "comment", + "actor": "Havvy", + "createdAt": "2020-11-12T22:15:46Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-726372716", + "summary": "The contributor says they only want the drawback documented.", + "actorId": 731722, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:726838398", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-13T15:47:08Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-726838398", + "summary": "The author updates the drawbacks section.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:728206550", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-11-16T17:22:43Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-728206550", + "summary": "The author asks what comes next.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:728220962", + "kind": "comment", + "actor": "jyn514", + "createdAt": "2020-11-16T17:47:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-728220962", + "summary": "A team member says a team member needs to start an FCP.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2020-11-18T20:34:15Z+", + "kind": "process", + "actor": "scottmcm", + "createdAt": "2020-11-18T20:34:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A lang team member tags the lang team.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2020-11-18T20:40:59Z", + "kind": "process", + "actor": "scottmcm", + "createdAt": "2020-11-18T20:40:59Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A lang team member tags the Cargo team.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:unlabeled:2020-12-01T18:15:31Z", + "kind": "process", + "actor": "scottmcm", + "createdAt": "2020-12-01T18:15:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The lang team tag is removed.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2020-12-01T18:15:31Z", + "kind": "process", + "actor": "scottmcm", + "createdAt": "2020-12-01T18:15:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The compiler team is tagged instead.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:736735829", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2020-12-01T18:26:48Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-736735829", + "summary": "A lang team member reports the triage meeting was sympathetic but handed the RFC to the compiler and Cargo teams.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:736819536", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2020-12-01T21:04:56Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-736819536", + "summary": "The author accepts and notes they missed the meeting due to time zones.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:754797385", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2021-01-05T17:56:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-754797385", + "summary": "The author asks how to move the RFC forward.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:754886858", + "kind": "comment", + "actor": "scottmcm", + "createdAt": "2021-01-05T20:41:57Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-754886858", + "summary": "The lang team member suggests pinging the other teams on Zulip, as teams paused over the holidays.", + "actorId": 18526288, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:557717829", + "kind": "review-comment", + "actor": "tgnottingham", + "createdAt": "2021-01-14T21:44:05Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557717829", + "summary": "A reviewer notes an example moved and suggests a cross-reference.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:review:568650348" + }, + { + "id": "rfcs-3013:review-comment:557720963", + "kind": "review-comment", + "actor": "tgnottingham", + "createdAt": "2021-01-14T21:50:09Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557720963", + "summary": "A reviewer says an example should use names rather than values.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:review:568650348" + }, + { + "id": "rfcs-3013:review-comment:557733433", + "kind": "review-comment", + "actor": "tgnottingham", + "createdAt": "2021-01-14T22:15:33Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557733433", + "summary": "A reviewer points out a subtle equivalence between check-cfg forms worth noting.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:review:568650348" + }, + { + "id": "rfcs-3013:review-comment:557739747", + "kind": "review-comment", + "actor": "tgnottingham", + "createdAt": "2021-01-14T22:28:53Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557739747", + "summary": "A reviewer suggests clarifying which argument an example refers to.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:review:568650348" + }, + { + "id": "rfcs-3013:review-comment:557748263", + "kind": "review-comment", + "actor": "tgnottingham", + "createdAt": "2021-01-14T22:47:02Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557748263", + "summary": "A reviewer notes declaring values does not by itself enable name checking.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:review:568650348" + }, + { + "id": "rfcs-3013:review:568650348", + "kind": "review", + "actor": "tgnottingham", + "createdAt": "2021-01-14T22:50:35Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#pullrequestreview-568650348", + "summary": "A reviewer leaves minor suggestions on examples.", + "actorId": 3668166, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:557808705", + "kind": "review-comment", + "actor": "wesleywiser", + "createdAt": "2021-01-15T01:38:17Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557808705", + "summary": "A compiler team member corrects a lint name.", + "actorId": 831192, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:557819537", + "kind": "review-comment", + "actor": "wesleywiser", + "createdAt": "2021-01-15T02:15:03Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557819537", + "summary": "A compiler team member notes a drawback: cfg in modules not loaded under the current config are never checked.", + "actorId": 831192, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:557824229", + "kind": "review-comment", + "actor": "jyn514", + "createdAt": "2021-01-15T02:31:07Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557824229", + "summary": "A team member thinks that is acceptable since the code is unreachable then.", + "actorId": 23638587, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557819537" + }, + { + "id": "rfcs-3013:review-comment:557849260", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:05:20Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557849260", + "summary": "The author adds an example.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557717829" + }, + { + "id": "rfcs-3013:review-comment:557849357", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:05:37Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557849357", + "summary": "The author fixes the example.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557720963" + }, + { + "id": "rfcs-3013:review-comment:557849452", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:06:00Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557849452", + "summary": "The author adds text on the subtlety.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557733433" + }, + { + "id": "rfcs-3013:review-comment:557849628", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:06:42Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557849628", + "summary": "The author adds a section on independent name and value checking.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557748263" + }, + { + "id": "rfcs-3013:review-comment:557849695", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:06:56Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557849695", + "summary": "The author fixes the lint name.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557808705" + }, + { + "id": "rfcs-3013:review-comment:557850259", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:09:03Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557850259", + "summary": "The author hopes the example conveys the subtlety.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557739747" + }, + { + "id": "rfcs-3013:review-comment:557851611", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:14:39Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r557851611", + "summary": "The author lays out a multi-step rollout: rustc support, opt-in Cargo feature-value checks, crater runs, then eventually name checks on by default.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557819537" + }, + { + "id": "rfcs-3013:comment:760633841", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2021-01-15T04:15:15Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-760633841", + "summary": "The author thanks reviewers and pushes an update.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:558232952", + "kind": "review-comment", + "actor": "wesleywiser", + "createdAt": "2021-01-15T11:00:49Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r558232952", + "summary": "The compiler team member restates the general unloaded-module limitation as something to document.", + "actorId": 831192, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557819537" + }, + { + "id": "rfcs-3013:review-comment:567506385", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-02-01T00:02:14Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r567506385", + "summary": "The author adds it to the drawbacks.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:557819537" + }, + { + "id": "rfcs-3013:comment:777601009", + "kind": "comment", + "actor": "pnkfelix", + "createdAt": "2021-02-11T16:00:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777601009", + "summary": "A compiler team member proposes FCP to merge.", + "actorId": 173127, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:777601028", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2021-02-11T16:00:23Z", + "editedAt": "2021-02-14T02:51:09Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777601028", + "summary": "The rfcbot lists the compiler and Cargo reviewers who must sign off.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2021-02-11T16:00:24Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-11T16:00:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot marks proposed final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2021-02-11T16:00:24Z+", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-11T16:00:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot sets disposition merge.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:777603312", + "kind": "comment", + "actor": "nikomatsakis", + "createdAt": "2021-02-11T16:03:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777603312", + "summary": "A team member signs off.", + "actorId": 155238, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:574634036", + "kind": "review-comment", + "actor": "lcnr", + "createdAt": "2021-02-11T16:17:40Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574634036", + "summary": "A reviewer suggests a corrected example.", + "actorId": 29864074, + "actorType": "human", + "parentId": "rfcs-3013:review:588735715" + }, + { + "id": "rfcs-3013:comment:777615499", + "kind": "comment", + "actor": "apiraino", + "createdAt": "2021-02-11T16:21:22Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777615499", + "summary": "A contributor asks the bot to remove the nomination label.", + "actorId": 6098822, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:777615518", + "kind": "comment", + "actor": "rustbot", + "createdAt": "2021-02-11T16:21:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777615518", + "summary": "A bot reports it is not enabled for this repository.", + "actorId": 47979223, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:574638565", + "kind": "review-comment", + "actor": "lcnr", + "createdAt": "2021-02-11T16:23:09Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574638565", + "summary": "A reviewer says a section is slightly outdated.", + "actorId": 29864074, + "actorType": "human", + "parentId": "rfcs-3013:review:588735715" + }, + { + "id": "rfcs-3013:review:588735715", + "kind": "review", + "actor": "lcnr", + "createdAt": "2021-02-11T16:24:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#pullrequestreview-588735715", + "summary": "A reviewer approves.", + "actorId": 29864074, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:574649134", + "kind": "review-comment", + "actor": "nagisa", + "createdAt": "2021-02-11T16:36:05Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574649134", + "summary": "A compiler team member suggests flat flags listing names and values, saying it matches rustc conventions and is easier to implement.", + "actorId": 679122, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:777817796", + "kind": "comment", + "actor": "joshtriplett", + "createdAt": "2021-02-11T21:54:34Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-777817796", + "summary": "A Cargo team member says the original version worried them by forcing build scripts to enumerate everything, but the current one adds value without that, and signs off.", + "actorId": 162737, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:574887329", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-02-11T23:05:39Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574887329", + "summary": "The author accepts the corrected example.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:574634036" + }, + { + "id": "rfcs-3013:review-comment:574893556", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-02-11T23:16:19Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574893556", + "summary": "The author keeps a single --check-cfg option with structured syntax, arguing it can express richer future rules with less compiler plumbing.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:574649134" + }, + { + "id": "rfcs-3013:review-comment:574894328", + "kind": "review-comment", + "actor": "sivadeilra", + "createdAt": "2021-02-11T23:17:59Z", + "editedAt": "2021-02-23T18:14:31Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r574894328", + "summary": "The author updates the outdated section.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:574638565" + }, + { + "id": "rfcs-3013:process:labeled:2021-02-13T01:38:02Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-13T01:38:02Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot marks final comment period.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:778540940", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2021-02-13T01:38:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-778540940", + "summary": "The bot announces FCP has begun.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:unlabeled:2021-02-13T01:38:03Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-13T01:38:03Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot removes the proposed-FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2021-02-23T01:42:23Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-23T01:42:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot marks FCP finished.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:unlabeled:2021-02-23T01:42:24Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-23T01:42:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot removes the active FCP label.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:labeled:2021-02-23T01:42:24Z", + "kind": "process", + "actor": "rfcbot", + "createdAt": "2021-02-23T01:42:24Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The bot labels the RFC for announcement.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:783803911", + "kind": "comment", + "actor": "rfcbot", + "createdAt": "2021-02-23T01:42:26Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-783803911", + "summary": "The bot reports FCP completed with disposition merge.", + "actorId": 20760818, + "actorType": "bot", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:merged:2021-02-23T18:15:25Z", + "kind": "process", + "actor": "ehuss", + "createdAt": "2021-02-23T18:15:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A Cargo team member merges the RFC.", + "actorId": 43198, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:closed:2021-02-23T18:15:25Z", + "kind": "process", + "actor": "ehuss", + "createdAt": "2021-02-23T18:15:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "The PR closes on merge.", + "actorId": 43198, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:784406506", + "kind": "comment", + "actor": "ehuss", + "createdAt": "2021-02-23T18:15:30Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-784406506", + "summary": "A Cargo team member announces the compiler team accepted the RFC and links the tracking issue.", + "actorId": 43198, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:cross-referenced:2021-09-29T00:51:51Z", + "kind": "process", + "actor": "mwkmwkmwk", + "createdAt": "2021-09-29T00:51:51Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A first implementation PR for --check-cfg references the RFC.", + "actorId": 236399, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:review-comment:784130085", + "kind": "review-comment", + "actor": "pravic", + "createdAt": "2022-01-13T16:36:23Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#discussion_r784130085", + "summary": "A user corrects an example: linux is a target_os value, not a bare cfg name.", + "actorId": 724639, + "actorType": "human", + "parentId": "rfcs-3013:review-comment:517541672" + }, + { + "id": "rfcs-3013:process:cross-referenced:2022-02-11T20:08:13Z", + "kind": "process", + "actor": "Urgau", + "createdAt": "2022-02-11T20:08:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A second implementation attempt references the RFC.", + "actorId": 3616612, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:cross-referenced:2022-03-18T15:12:37Z", + "kind": "process", + "actor": "Urgau", + "createdAt": "2022-03-18T15:12:37Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A Cargo PR adding check-cfg support references the RFC.", + "actorId": 3616612, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:1936648479", + "kind": "comment", + "actor": "Urgau", + "createdAt": "2024-02-09T21:47:42Z", + "editedAt": "2024-02-14T12:43:25Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-1936648479", + "summary": "A team member posts a call for testing before making the check always-on in Cargo, warning the implementation has changed drastically since approval.", + "actorId": 3616612, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:1939740781", + "kind": "comment", + "actor": "sivadeilra", + "createdAt": "2024-02-12T22:51:13Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-1939740781", + "summary": "The original author thanks the two implementers who carried the feature to completion.", + "actorId": 4743776, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:comment:1941660931", + "kind": "comment", + "actor": "U007D", + "createdAt": "2024-02-13T14:40:38Z", + "editedAt": "2024-02-13T15:18:39Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013#issuecomment-1941660931", + "summary": "A newsletter editor says the call for testing will appear in This Week in Rust.", + "actorId": 2874989, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + }, + { + "id": "rfcs-3013:process:cross-referenced:2024-04-17T06:01:17Z", + "kind": "process", + "actor": "Urgau", + "createdAt": "2024-04-17T06:01:17Z", + "url": "https://github.com/rust-lang/rfcs/pull/3013", + "summary": "A blog post announcing automatic cfg checking references the RFC.", + "actorId": 3616612, + "actorType": "human", + "parentId": "rfcs-3013:pr:3013" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/svelte-create-raw-snippet-shape.json b/evals/datasets/decisions-v1/cases/svelte-create-raw-snippet-shape.json new file mode 100644 index 000000000..150d04dc5 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/svelte-create-raw-snippet-shape.json @@ -0,0 +1,969 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "svelte-create-raw-snippet-shape", + "title": "Shape of Svelte's createRawSnippet API", + "source": { + "url": "https://github.com/sveltejs/svelte/pull/12409", + "retrievedAt": "2026-10-18T07:23:36.509493+00:00", + "repository": "sveltejs/svelte", + "number": 12409 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-07-12T18:00:00Z" + }, + { + "id": "c2", + "at": "2024-07-13T00:00:00Z" + }, + { + "id": "c3", + "at": "2024-07-16T19:00:00Z" + }, + { + "id": "c4", + "at": "2024-07-17T09:00:00Z" + } + ], + "events": [ + { + "id": "svelte-12409:pr:12409", + "kind": "opening", + "actor": "trueadm", + "createdAt": "2024-07-11T17:26:59Z", + "url": "https://github.com/sveltejs/svelte/pull/12409", + "summary": "A core maintainer proposes createRawSnippet, a low-level way to build snippets in code with three functions: mount for the client, an optional hydrate, and render for server output.", + "actorId": 1519870, + "actorType": "human" + }, + { + "id": "svelte-12409:comment:2223497067", + "kind": "comment", + "actor": "changeset-bot[bot]", + "createdAt": "2024-07-11T17:27:03Z", + "editedAt": "2024-07-16T15:49:33Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2223497067", + "summary": "A bot reports a changeset is present.", + "actorId": 49419645, + "actorType": "bot", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1674421259", + "kind": "review-comment", + "actor": "dummdidumm", + "createdAt": "2024-07-11T17:46:06Z", + "editedAt": "2024-07-11T17:46:53Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674421259", + "summary": "A maintainer asks whether server rendering should return both body and head, since a snippet might render a component that adds head content.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1674424968", + "kind": "review-comment", + "actor": "dummdidumm", + "createdAt": "2024-07-11T17:47:55Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674424968", + "summary": "A maintainer notes an odd type output unrelated to the PR.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1674437130", + "kind": "review-comment", + "actor": "trueadm", + "createdAt": "2024-07-11T17:57:20Z", + "editedAt": "2024-07-11T17:58:36Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674437130", + "summary": "The author changes render to return body and head.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:review-comment:1674458469", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-11T18:14:29Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674458469", + "summary": "A maintainer doubts this, since a template snippet cannot contain svelte:head either.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:review-comment:1674462719", + "kind": "review-comment", + "actor": "trueadm", + "createdAt": "2024-07-11T18:16:31Z", + "editedAt": "2024-07-11T18:16:32Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674462719", + "summary": "The author notes a component inside a snippet can still add head content.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:review-comment:1674494944", + "kind": "review-comment", + "actor": "trueadm", + "createdAt": "2024-07-11T18:31:28Z", + "editedAt": "2024-07-11T18:32:54Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674494944", + "summary": "The author reverts to returning a string, reasoning that integrations such as Astro would mount or hydrate instead.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:comment:2223630432", + "kind": "comment", + "actor": "webJose", + "createdAt": "2024-07-11T18:32:40Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2223630432", + "summary": "A contributor welcomes the API for passing snippets between frameworks.", + "actorId": 25540842, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:process:cross-referenced:2024-07-11T18:35:06Z", + "kind": "process", + "actor": "azat-io", + "createdAt": "2024-07-11T18:35:06Z", + "url": "https://github.com/sveltejs/svelte/pull/12409", + "summary": "A contributor links an earlier PR that tried exporting a snippet-marking helper.", + "actorId": 5698350, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1674520780", + "kind": "review-comment", + "actor": "dummdidumm", + "createdAt": "2024-07-11T18:49:05Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674520780", + "summary": "A maintainer points out Astro uses render on the server, sketches head support, and asks how head content would be cleaned up.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:review-comment:1674530222", + "kind": "review-comment", + "actor": "trueadm", + "createdAt": "2024-07-11T18:58:07Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1674530222", + "summary": "The author says head support added complexity and hydration bugs and Astro did not use it.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:comment:2223858168", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-07-11T20:23:08Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2223858168", + "summary": "A maintainer asks whether mount will always repeat hydrate's code and suggests Svelte call hydrate after creating the element.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2223889244", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-11T20:36:30Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2223889244", + "summary": "The author doubts it, saying hydrate only touches dynamic parts.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2224022524", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-11T22:06:53Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2224022524", + "summary": "Another core maintainer improves types and makes hydration fall back to mount when no hydrate function is given.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2224045987", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-11T22:18:54Z", + "editedAt": "2024-07-11T22:19:10Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2224045987", + "summary": "The author wonders whether raw snippets need hot-reload handling.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2224061518", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-11T22:30:13Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2224061518", + "summary": "The second maintainer notes he broke a test.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2224362459", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T03:36:36Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2224362459", + "summary": "The second maintainer sees no need for special hot-reload handling and fixes the test.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225089516", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T08:32:32Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225089516", + "summary": "The author clarifies his hot-reload concern.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225144597", + "kind": "comment", + "actor": "JReinhold", + "createdAt": "2024-07-12T09:03:43Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225144597", + "summary": "A contributor asks where the function can be used and how to put a component inside.", + "actorId": 5678122, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225150924", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T09:07:24Z", + "editedAt": "2024-07-12T09:07:39Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225150924", + "summary": "The author explains it works in plain or rune-enabled modules and components can be mounted through existing APIs.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225153155", + "kind": "comment", + "actor": "JReinhold", + "createdAt": "2024-07-12T09:08:44Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225153155", + "summary": "The contributor thanks him.", + "actorId": 5678122, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225272146", + "kind": "comment", + "actor": "7nik", + "createdAt": "2024-07-12T10:19:34Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225272146", + "summary": "A contributor asks whether this covers decorating snippets.", + "actorId": 29704098, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225371555", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T11:27:31Z", + "editedAt": "2024-07-12T11:34:31Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225371555", + "summary": "The author says the API targets framework and library authors, not that use.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225482224", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T12:32:14Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225482224", + "summary": "The second maintainer says hot reload already works when the importing component reloads.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225494884", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T12:39:59Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225494884", + "summary": "The second maintainer fixes types.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1675803139", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T12:53:19Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1675803139", + "summary": "The second maintainer weighs head support against complexity and lands on keeping the string-only server output.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:comment:2225529694", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T12:59:01Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225529694", + "summary": "The second maintainer asks whether all methods should be optional, with errors when a missing one is needed.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1675823783", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T13:00:20Z", + "editedAt": "2024-07-12T13:00:21Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1675823783", + "summary": "The second maintainer notes the API already requires one top-level element, so it is not a full replacement for template snippets.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:review:2175161487", + "kind": "review", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T15:16:03Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#pullrequestreview-2175161487", + "summary": "The second maintainer approves.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225936225", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T16:35:00Z", + "editedAt": "2024-07-12T16:36:30Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225936225", + "summary": "The second maintainer tags an Astro maintainer.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2225993306", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2024-07-12T17:12:59Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2225993306", + "summary": "A maintainer suggests adding docs and notes hydrate would mostly attach event handlers.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226038687", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T17:35:33Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226038687", + "summary": "The second maintainer explains there is no DOM repair and proposes a different shape: render produces HTML and an update function wires effects, with mounting done as render then update.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226042476", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T17:36:10Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226042476", + "summary": "He adds update would be optional for static snippets.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226164622", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T18:37:53Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226164622", + "summary": "The author says that was his first design but cloning HTML raises namespace, cloning and attribute-versus-property problems.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:process:cross-referenced:2024-07-12T18:38:57Z", + "kind": "process", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T18:38:57Z", + "url": "https://github.com/sveltejs/svelte/pull/12409", + "summary": "The second maintainer opens PR #12425 with the alternative design.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226168066", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T18:40:34Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226168066", + "summary": "The second maintainer offers a namespace option and asks what the cloning issues are.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226170204", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T18:42:15Z", + "editedAt": "2024-07-12T18:43:40Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226170204", + "summary": "The author questions the update name, says the current API mirrors internals, and argues imperative DOM lets integrators handle shadow DOM and custom elements.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226188579", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2024-07-12T18:56:30Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226188579", + "summary": "A maintainer agrees render plus update fits poorly with mount and hydrate APIs that create DOM rather than strings.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226189040", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T18:56:53Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226189040", + "summary": "The second maintainer shows a greeting snippet written both ways to argue the alternative removes duplication.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226210781", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T19:12:10Z", + "editedAt": "2024-07-12T19:18:46Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226210781", + "summary": "The author replies the API should serve framework integrators rather than be elegant, and cites shadow DOM integrations.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226233393", + "kind": "comment", + "actor": "matthewp", + "createdAt": "2024-07-12T19:30:11Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226233393", + "summary": "An Astro maintainer says a colleague will review next week.", + "actorId": 361671, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226237474", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T19:33:39Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226237474", + "summary": "The second maintainer argues duplicated mount and hydrate paths invite subtle bugs and asks for a concrete case the alternative cannot handle.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226245274", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T19:40:43Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226245274", + "summary": "The author says single-page apps have nothing to hydrate and prefers an imperative API for control.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226257331", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T19:51:06Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226257331", + "summary": "The second maintainer shows an SPA integration using an empty element plus mount, and says renderer experiments belong elsewhere.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226257358", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2024-07-12T19:51:07Z", + "editedAt": "2024-07-12T19:51:31Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226257358", + "summary": "A maintainer sides with the author that the PR's API suits integrating components from other frameworks.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226259320", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T19:52:55Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226259320", + "summary": "The second maintainer again asks for an example only the PR's API can handle.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226283618", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T20:06:44Z", + "editedAt": "2024-07-12T20:07:15Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226283618", + "summary": "The author shows a shared helper reducing duplication and argues hydration differs from update in frameworks like React.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226290310", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T20:12:23Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226290310", + "summary": "The author notes hydration should compare values first to avoid repaints.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226300473", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-12T20:21:49Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226300473", + "summary": "The second maintainer says naming is negotiable, offers a three-function html, dom and setup variant, and notes neither design avoids repaints.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226309161", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T20:29:22Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226309161", + "summary": "The author says all proposals have weaknesses and he will try another.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226324810", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T20:41:39Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226324810", + "summary": "The author floats a class-based design with local state.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2226345659", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-12T20:59:34Z", + "editedAt": "2024-07-12T21:03:19Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2226345659", + "summary": "The author floats a closure-based design with client and server parts.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2227496192", + "kind": "comment", + "actor": "zhihengGet", + "createdAt": "2024-07-14T22:03:09Z", + "editedAt": "2024-07-14T22:16:56Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2227496192", + "summary": "A user asks whether raw snippets can be exported.", + "actorId": 55773069, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review-comment:1677437432", + "kind": "review-comment", + "actor": "bluwy", + "createdAt": "2024-07-15T07:55:18Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#discussion_r1677437432", + "summary": "An Astro maintainer says Astro cannot easily gather head content from frameworks and is fine deferring it.", + "actorId": 34116392, + "actorType": "human", + "parentId": "svelte-12409:review-comment:1674421259" + }, + { + "id": "svelte-12409:comment:2228011967", + "kind": "comment", + "actor": "bluwy", + "createdAt": "2024-07-15T08:59:10Z", + "editedAt": "2024-07-15T09:00:23Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2228011967", + "summary": "An Astro maintainer reports the PR's API works for Astro in a local test.", + "actorId": 34116392, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231219226", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T15:22:48Z", + "editedAt": "2024-07-16T15:28:48Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231219226", + "summary": "The author leans toward a factory receiving the arguments and returning render, mount and hydrate.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:process:ready_for_review:2024-07-16T15:52:21Z", + "kind": "process", + "actor": "trueadm", + "createdAt": "2024-07-16T15:52:21Z", + "url": "https://github.com/sveltejs/svelte/pull/12409", + "summary": "The author marks the PR ready for review.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231293468", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T15:56:36Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231293468", + "summary": "The second maintainer asks why that beats a two-function render and setup design.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231304743", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T16:02:18Z", + "editedAt": "2024-07-16T16:05:38Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231304743", + "summary": "The author proposes a factory with render and setup, arguments passed once as functions, and a hydrating flag.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231500563", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T17:59:28Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231500563", + "summary": "The second maintainer accepts closures but says a hydrating flag makes no sense and would break effect tracking.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231505135", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:02:16Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231505135", + "summary": "He adds setup never needs to know about hydration because it only receives existing DOM.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:review:2180944880", + "kind": "review", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:03:14Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#pullrequestreview-2180944880", + "summary": "The second maintainer withdraws his approval until the API is settled.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231517975", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T18:10:22Z", + "editedAt": "2024-07-16T18:10:31Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231517975", + "summary": "The author thinks setup might hydrate a React root and need to know.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231521768", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:12:51Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231521768", + "summary": "The second maintainer says that depends on the snippet's own render, not the app.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231527775", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T18:16:38Z", + "editedAt": "2024-07-16T18:18:54Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231527775", + "summary": "The author raises cases where server output is not hydrated and streaming rendering.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231533194", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2024-07-16T18:20:06Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231533194", + "summary": "A maintainer asks how a React component would fit the two-function design.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231536339", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:22:09Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231536339", + "summary": "The second maintainer shows rendering an empty element then creating a React root in setup.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231562748", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T18:35:30Z", + "editedAt": "2024-07-16T18:36:15Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231562748", + "summary": "The author argues setup needs the phase to choose between hydrating and creating a root.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231568281", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:37:15Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231568281", + "summary": "The second maintainer notes there is nothing to hydrate in an empty element.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231585721", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T18:44:06Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231585721", + "summary": "The author explains the element would hold a placeholder spinner replaced later.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231587451", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:44:42Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231587451", + "summary": "The second maintainer asks why clearing it would be wrong.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231590361", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T18:45:46Z", + "editedAt": "2024-07-16T18:46:30Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231590361", + "summary": "The author says the spinner should stay until React finishes rendering.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231602031", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T18:49:59Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231602031", + "summary": "The second maintainer restates that mount and hydrate differ only in where the HTML function runs and points to the other PR's passing tests.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231638077", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T19:04:49Z", + "editedAt": "2024-07-16T19:05:32Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231638077", + "summary": "The author agrees to settle on the two-function design but wants the arguments passed to an outer factory for computed values.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231702325", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T19:41:22Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231702325", + "summary": "The second maintainer rejects server and client names, prefers render and setup, and warns closures can share state across uses.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231707170", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T19:44:49Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231707170", + "summary": "The author expects a fresh snippet per use.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231708360", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T19:45:41Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231708360", + "summary": "The second maintainer points out the arguments are thunks.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231731993", + "kind": "comment", + "actor": "trueadm", + "createdAt": "2024-07-16T20:01:55Z", + "editedAt": "2024-07-16T20:03:08Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231731993", + "summary": "The author concedes a misunderstanding but says the overhead is small.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2231798712", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-16T20:45:37Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2231798712", + "summary": "The second maintainer updates PR #12425.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:process:closed:2024-07-17T08:48:27Z", + "kind": "process", + "actor": "trueadm", + "createdAt": "2024-07-17T08:48:27Z", + "url": "https://github.com/sveltejs/svelte/pull/12409", + "summary": "The author closes this PR unmerged in favour of the alternative.", + "actorId": 1519870, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2241150635", + "kind": "comment", + "actor": "targetlucked69", + "createdAt": "2024-07-20T13:19:37Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2241150635", + "summary": "A user asks whether the React question was answered.", + "actorId": 72330740, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + }, + { + "id": "svelte-12409:comment:2241173508", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-07-20T14:49:19Z", + "url": "https://github.com/sveltejs/svelte/pull/12409#issuecomment-2241173508", + "summary": "The second maintainer links his earlier answer.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-12409:pr:12409" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/svelte-css-nesting-approach.json b/evals/datasets/decisions-v1/cases/svelte-css-nesting-approach.json new file mode 100644 index 000000000..6e6cabb9b --- /dev/null +++ b/evals/datasets/decisions-v1/cases/svelte-css-nesting-approach.json @@ -0,0 +1,748 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "svelte-css-nesting-approach", + "title": "How Svelte should support CSS nesting", + "source": { + "url": "https://github.com/sveltejs/svelte/pull/9549", + "retrievedAt": "2026-10-18T07:23:46.860789+00:00", + "repository": "sveltejs/svelte", + "number": 9549 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-02-01T17:40:00Z" + }, + { + "id": "c2", + "at": "2024-02-09T14:15:00Z" + }, + { + "id": "c3", + "at": "2024-02-14T18:50:00Z" + }, + { + "id": "c4", + "at": "2024-02-14T18:58:00Z" + } + ], + "events": [ + { + "id": "svelte-9549:pr:9549", + "kind": "opening", + "actor": "AlbertMarashi", + "createdAt": "2023-11-20T02:46:30Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "An outside contributor opens a PR adding CSS nesting to Svelte's compiler, covering ampersand and bare nested rules, nested at-rules, combinators and suffix ampersands.", + "actorId": 17972275, + "actorType": "human" + }, + { + "id": "svelte-9549:comment:1827098386", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2023-11-27T04:13:23Z", + "editedAt": "2023-11-27T04:35:59Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1827098386", + "summary": "The contributor says all nesting kinds are implemented with tests and asks maintainers for review.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1405618491", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2023-11-27T04:59:07Z", + "editedAt": "2023-11-27T04:59:08Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1405618491", + "summary": "A maintainer suggests a shorter changeset wording.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1409285067", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2023-11-29T13:30:24Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1409285067", + "summary": "A maintainer recommends dropping a contributing-guide change to avoid a conflict.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1833708005", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2023-11-30T12:43:18Z", + "editedAt": "2023-12-14T06:53:00Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1833708005", + "summary": "The contributor asks for help from someone who knows the analyzer, unsure whether unused-selector detection is done right.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1918400954", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-01-31T05:16:54Z", + "editedAt": "2024-01-31T05:17:35Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1918400954", + "summary": "The contributor asks whether the PR will be merged.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1921508340", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-01T14:49:21Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1921508340", + "summary": "The lead maintainer apologises for the delay, welcomes the PR, and notes a group of validator tests failing.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1474842706", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-01T17:28:23Z", + "editedAt": "2024-02-01T17:34:55Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1474842706", + "summary": "The lead maintainer finds the logic faulty: treating a selector as nested because it starts with a combinator is wrong, and reverting it exposes further errors.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:review:1857102094" + }, + { + "id": "svelte-9549:review:1857102094", + "kind": "review", + "actor": "Rich-Harris", + "createdAt": "2024-02-01T17:34:55Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#pullrequestreview-1857102094", + "summary": "The lead maintainer requests changes, saying nested selectors must be properly expanded before they can be evaluated.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1922423413", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-01T22:48:06Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1922423413", + "summary": "The lead maintainer gives a selector-list example showing why expansion is tricky.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1923044929", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-02T06:47:18Z", + "editedAt": "2024-02-02T06:48:06Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1923044929", + "summary": "The contributor offers to try and asks whether expansion means merging parent selectors into nested ones to check usage.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1923325812", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2024-02-02T08:35:08Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1923325812", + "summary": "Another maintainer explains: flatten nested selectors to decide which apply, keep all if any is used first, and later comment out unused parts surgically.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1924052537", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-02T14:59:17Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1924052537", + "summary": "The lead maintainer confirms with a worked expansion of the example.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1925296442", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-03T11:49:27Z", + "editedAt": "2024-02-03T11:58:55Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1925296442", + "summary": "The contributor notes how a suffix ampersand changes the expansion.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1925367635", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-03T16:02:42Z", + "editedAt": "2024-02-07T23:55:10Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1925367635", + "summary": "The contributor reports inserting invisible parent selectors before nested rules, later marking that approach flawed and in need of a hierarchical tree.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480527595", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T20:53:51Z", + "editedAt": "2024-02-06T21:10:36Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480527595", + "summary": "The lead maintainer suggests a test's expected output should be scoped.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480532373", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T20:57:50Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480532373", + "summary": "The lead maintainer suggests folding the nesting selector into the simple selector type.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480532701", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T20:58:09Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480532701", + "summary": "The lead maintainer asks for consistent naming between Nested and Nesting.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480533248", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T20:58:47Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480533248", + "summary": "The lead maintainer suggests reverting a type change.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480535694", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:01:11Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480535694", + "summary": "The lead maintainer is wary of regex-based parsing and asks whether strings with special characters were tested.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480537430", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:03:06Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480537430", + "summary": "The lead maintainer asks for an explanatory comment.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480538840", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:04:36Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480538840", + "summary": "The lead maintainer suggests moving a property onto the type.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480540559", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:06:35Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480540559", + "summary": "The lead maintainer questions a redundant type annotation.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480542402", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:08:33Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480542402", + "summary": "The lead maintainer asks whether a code path can even happen.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:review-comment:1480543416", + "kind": "review-comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:09:40Z", + "editedAt": "2024-02-06T21:10:37Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#discussion_r1480543416", + "summary": "The lead maintainer notes a class need not be exported.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1930783521", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-06T21:30:42Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1930783521", + "summary": "The lead maintainer merges main, runs Prettier, and reports one failing test plus one that should fail.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:process:convert_to_draft:2024-02-06T22:24:03Z", + "kind": "process", + "actor": "AlbertMarashi", + "createdAt": "2024-02-06T22:24:03Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "The contributor converts the PR to draft.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1930887313", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-06T22:37:11Z", + "editedAt": "2024-02-07T00:34:19Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1930887313", + "summary": "The contributor says it is more complex than realised and needs a hierarchical selector tree rework.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1931478777", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-07T08:01:41Z", + "editedAt": "2024-02-07T08:01:54Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1931478777", + "summary": "The contributor plans another attempt the next day.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1931968412", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-07T12:42:08Z", + "editedAt": "2024-02-07T12:51:43Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1931968412", + "summary": "The contributor asks the lead maintainer to look at a final failing test if he wants.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:process:ready_for_review:2024-02-07T23:51:31Z", + "kind": "process", + "actor": "AlbertMarashi", + "createdAt": "2024-02-07T23:51:31Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "The contributor marks the PR ready for review.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1933134982", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-07T23:57:27Z", + "editedAt": "2024-02-08T02:20:34Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1933134982", + "summary": "The contributor reports all tests pass, asks for edge-case testing, and suggests simplifications such as removing the nesting selector type or expanding nesting during parsing.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1933263552", + "kind": "comment", + "actor": "jrmoynihan", + "createdAt": "2024-02-08T02:22:03Z", + "editedAt": "2024-02-08T02:24:52Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1933263552", + "summary": "A user thanks both for the work.", + "actorId": 65916939, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1934828649", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-08T19:47:54Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1934828649", + "summary": "The lead maintainer finds that keeping nesting introduces a specificity bug in Svelte's doubled scoping classes.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1934832727", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-08T19:51:01Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1934832727", + "summary": "The lead maintainer reports another bug.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1934847683", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-08T20:01:48Z", + "editedAt": "2024-02-09T03:35:00Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1934847683", + "summary": "The lead maintainer revisits the history of doubled scoping classes and floats a hybrid scoping approach using :where, versus emitting flattened CSS.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1935075316", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-08T23:09:51Z", + "editedAt": "2024-02-08T23:10:15Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1935075316", + "summary": "The contributor asks whether that means emitting un-nested CSS, which would lose nesting's size benefit, and agrees component styles should outrank global ones.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1935294387", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-09T03:51:02Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1935294387", + "summary": "The lead maintainer drops the un-nesting idea in favour of hybrid :where scoping and advises against inserting synthetic nodes during parsing.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1935408602", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-09T06:39:19Z", + "editedAt": "2024-02-09T06:46:25Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1935408602", + "summary": "The contributor offers to help refactor the CSS system, seeks a call on Discord, notes multiple ampersands are unsupported, and asks whether to merge as experimental.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:process:cross-referenced:2024-02-09T14:07:43Z", + "kind": "process", + "actor": "Rich-Harris", + "createdAt": "2024-02-09T14:07:43Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "The lead maintainer opens a separate PR for the hybrid scoping strategy.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1936023331", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-09T14:22:25Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1936023331", + "summary": "The lead maintainer backs a :global block idea and says the hybrid scoping PR should land first, adding that a half-done nesting release should not ship.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1936520534", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-09T19:55:42Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1936520534", + "summary": "The lead maintainer merges the hybrid scoping change and main into the branch, leaving one failing test.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1936525511", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-09T19:59:50Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1936525511", + "summary": "The lead maintainer explains the :global block would tidy styling inside raw HTML.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1937996120", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-12T02:35:04Z", + "editedAt": "2024-02-12T02:35:17Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1937996120", + "summary": "The contributor plans to add multiple-ampersand support.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1938314430", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-12T09:32:39Z", + "editedAt": "2024-02-12T10:27:27Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1938314430", + "summary": "The contributor questions whether a test's expectation is right.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1938530376", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-12T11:50:45Z", + "editedAt": "2024-02-12T12:35:05Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1938530376", + "summary": "The contributor lists remaining tasks and reports fixing the regex parsing by trying declarations first, then rules.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1938596334", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-12T12:34:01Z", + "editedAt": "2024-02-13T00:54:12Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1938596334", + "summary": "The contributor says the PR is ready to merge and praises the :where simplification.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1943054108", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T04:11:19Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1943054108", + "summary": "The lead maintainer asks the contributor to pause commits as he has further changes in mind, and explains a test result.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1943942989", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T14:42:14Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1943942989", + "summary": "The lead maintainer concludes flattening selectors is the wrong approach and gives a counterexample.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944341039", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-14T18:06:26Z", + "editedAt": "2024-02-14T18:13:36Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944341039", + "summary": "The contributor offers a variant of the example.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944353315", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-14T18:15:08Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944353315", + "summary": "The contributor notes :is appears only with selector lists.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944373423", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-14T18:26:36Z", + "editedAt": "2024-02-14T18:27:22Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944373423", + "summary": "The contributor disputes the maintainer's reading of a double-ampersand example.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944377032", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T18:29:16Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944377032", + "summary": "The lead maintainer insists his reading is right and suggests checking in a browser.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944398102", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-14T18:44:31Z", + "editedAt": "2024-02-14T18:45:55Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944398102", + "summary": "The contributor checks the spec and concedes.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944413734", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T18:55:29Z", + "editedAt": "2024-02-14T18:55:30Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944413734", + "summary": "The lead maintainer says he is reworking CSS handling himself, closes the PR because the implementation will differ greatly and tracking changes would be onerous, and credits it for improvements.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:process:closed:2024-02-14T18:55:29Z", + "kind": "process", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T18:55:29Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "The lead maintainer closes the PR unmerged.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944420212", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-14T19:00:22Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944420212", + "summary": "The contributor is disappointed not to become a contributor and offers help.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1944425232", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-14T19:04:00Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1944425232", + "summary": "The lead maintainer confirms browser behaviour.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1945581330", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2024-02-15T08:25:09Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1945581330", + "summary": "Another maintainer thanks the contributor, saying the PR sparked a better CSS parser.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1946175909", + "kind": "comment", + "actor": "Rich-Harris", + "createdAt": "2024-02-15T14:11:43Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1946175909", + "summary": "The lead maintainer suggests the :global block feature as a future contribution.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:comment:1947621070", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2024-02-16T01:37:54Z", + "editedAt": "2024-02-16T01:38:02Z", + "url": "https://github.com/sveltejs/svelte/pull/9549#issuecomment-1947621070", + "summary": "The contributor agrees to follow the new PR.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + }, + { + "id": "svelte-9549:process:cross-referenced:2024-02-16T02:39:48Z", + "kind": "process", + "actor": "Rich-Harris", + "createdAt": "2024-02-16T02:39:48Z", + "url": "https://github.com/sveltejs/svelte/pull/9549", + "summary": "The maintainer's replacement nested CSS PR is cross-referenced.", + "actorId": 1162160, + "actorType": "human", + "parentId": "svelte-9549:pr:9549" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/svelte-dynamic-element-attr.json b/evals/datasets/decisions-v1/cases/svelte-dynamic-element-attr.json new file mode 100644 index 000000000..8385fbd20 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/svelte-dynamic-element-attr.json @@ -0,0 +1,729 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "svelte-dynamic-element-attr", + "title": "svelte:element design and attribute name", + "source": { + "url": "https://github.com/sveltejs/svelte/pull/5481", + "retrievedAt": "2026-10-18T07:23:55.771302+00:00", + "repository": "sveltejs/svelte", + "number": 5481 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-11-01T00:00:00Z" + }, + { + "id": "c2", + "at": "2021-03-17T00:35:00Z" + }, + { + "id": "c3", + "at": "2021-04-30T00:00:00Z" + }, + { + "id": "c4", + "at": "2021-04-30T18:00:00Z" + } + ], + "events": [ + { + "id": "svelte-5481:pr:5481", + "kind": "opening", + "actor": "alfredringstad", + "createdAt": "2020-10-01T11:37:40Z", + "url": "https://github.com/sveltejs/svelte/pull/5481", + "summary": "The opener submits a PR adding with a tag property to render an HTML element whose type is only known at runtime, for CMS-driven content, with SSR and hydration support and a DynamicElement node wrapping Element.", + "actorId": 7252803, + "actorType": "human" + }, + { + "id": "svelte-5481:review-comment:500255207", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2020-10-06T13:00:05Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r500255207", + "summary": "A maintainer asks the author to remove commented-out code in the SSR handler.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:review-comment:500795814", + "kind": "review-comment", + "actor": "alfredringstad", + "createdAt": "2020-10-07T07:31:20Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r500795814", + "summary": "The author says he copied the class-handling code from the Element node instead.", + "actorId": 7252803, + "actorType": "human", + "parentId": "svelte-5481:review-comment:500255207" + }, + { + "id": "svelte-5481:review:521154548", + "kind": "review", + "actor": "tanhauhau", + "createdAt": "2020-10-31T17:11:02Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#pullrequestreview-521154548", + "summary": "A maintainer reviews, asks how element-specific bindings and events behave, whether children can be reused when the tag changes, and requests more tests and dev warnings.", + "actorId": 2338632, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:process:cross-referenced:2020-10-31T21:55:40Z", + "kind": "process", + "actor": "erzr", + "createdAt": "2020-10-31T21:55:40Z", + "url": "https://github.com/sveltejs/svelte/pull/5481", + "summary": "An earlier PR implementing the same proposal is cross-referenced.", + "actorId": 1308218, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:review-comment:515544783", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2020-10-31T22:00:42Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r515544783", + "summary": "A maintainer finds a tilde trick in the parser too clever.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:review-comment:515619331", + "kind": "review-comment", + "actor": "jonatansberg", + "createdAt": "2020-11-01T12:58:59Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r515619331", + "summary": "A contributor notes the same code exists for and asks whether to change both.", + "actorId": 58557, + "actorType": "human", + "parentId": "svelte-5481:review-comment:515544783" + }, + { + "id": "svelte-5481:review-comment:515622685", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2020-11-01T13:30:52Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r515622685", + "summary": "The maintainer says to change both.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:review-comment:515544783" + }, + { + "id": "svelte-5481:review-comment:515641363", + "kind": "review-comment", + "actor": "pngwn", + "createdAt": "2020-11-01T16:20:06Z", + "editedAt": "2021-03-31T17:37:26Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r515641363", + "summary": "Another maintainer doubts the trick was ever useful.", + "actorId": 12937446, + "actorType": "human", + "parentId": "svelte-5481:review-comment:515544783" + }, + { + "id": "svelte-5481:comment:768958426", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-01-28T10:32:49Z", + "editedAt": "2021-03-17T00:43:52Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-768958426", + "summary": "A user tests the fork and reports that scoped styles do not apply to dynamic elements.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:786000290", + "kind": "comment", + "actor": "ymatuhin", + "createdAt": "2021-02-25T15:48:21Z", + "editedAt": "2021-04-27T16:46:22Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-786000290", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 3757971, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:792445217", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-03-08T04:00:13Z", + "editedAt": "2021-04-27T16:46:11Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-792445217", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:792801246", + "kind": "comment", + "actor": "firefoxic", + "createdAt": "2021-03-08T14:42:47Z", + "editedAt": "2021-04-27T16:46:06Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-792801246", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 3382798, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:792804754", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2021-03-08T14:47:56Z", + "editedAt": "2021-04-27T16:46:17Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-792804754", + "summary": "A maintainer says unaddressed review comments and merge conflicts block merging.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:799865034", + "kind": "comment", + "actor": "DanielPower", + "createdAt": "2021-03-16T01:02:44Z", + "editedAt": "2021-03-16T01:05:03Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-799865034", + "summary": "A contributor proposes instead shipping importable element values for , so one mechanism covers both elements and components.", + "actorId": 12166320, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:799964825", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-03-16T05:33:37Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-799964825", + "summary": "A user prefers as more semantic and intuitive.", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800184047", + "kind": "comment", + "actor": "jonatansberg", + "createdAt": "2021-03-16T11:36:10Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800184047", + "summary": "A contributor says the userland component approach is not flexible enough for arbitrary elements from a CMS or in libraries.", + "actorId": 58557, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800253149", + "kind": "comment", + "actor": "DanielPower", + "createdAt": "2021-03-16T13:22:07Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800253149", + "summary": "The alternative's proposer says objects can be indexed by string too, and asks what makes his approach less capable.", + "actorId": 12166320, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800333651", + "kind": "comment", + "actor": "jonatansberg", + "createdAt": "2021-03-16T14:58:55Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800333651", + "summary": "The contributor answers: bundle size and custom element support.", + "actorId": 58557, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800356204", + "kind": "comment", + "actor": "DanielPower", + "createdAt": "2021-03-16T15:20:48Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800356204", + "summary": "The proposer shares a REPL of his idea and concedes custom elements are a problem for it.", + "actorId": 12166320, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800704073", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-03-17T00:29:48Z", + "editedAt": "2021-03-17T00:32:19Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800704073", + "summary": "A user rejects the alternative as adding complexity without solving the original problems and asks to keep .", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:800708215", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-03-17T00:41:17Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-800708215", + "summary": "The user withdraws the styling concern and asks for a quick merge, saying the fork works in production.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:811280613", + "kind": "comment", + "actor": "alfredringstad", + "createdAt": "2021-03-31T17:39:47Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-811280613", + "summary": "The author updates the PR to retain children when the tag changes, adds warnings and documentation.", + "actorId": 7252803, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:811285760", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-03-31T17:47:58Z", + "editedAt": "2021-07-23T11:43:57Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-811285760", + "summary": "A user asks that a falsy tag render only the children without a wrapping element.", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:811636049", + "kind": "comment", + "actor": "jonatansberg", + "createdAt": "2021-04-01T04:51:57Z", + "editedAt": "2021-04-01T04:52:29Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-811636049", + "summary": "A contributor shows a conditional-wrapper pattern using an if block and slot instead.", + "actorId": 58557, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:811838861", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-04-01T11:18:48Z", + "editedAt": "2021-07-23T11:47:37Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-811838861", + "summary": "The user accepts the wrapper-component approach.", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:812154538", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-04-01T20:30:49Z", + "editedAt": "2021-04-01T20:31:08Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-812154538", + "summary": "Another user suggests treating conditional wrappers as a separate issue and shows a component pattern.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:827189442", + "kind": "comment", + "actor": "Nick-Mazuk", + "createdAt": "2021-04-26T22:45:43Z", + "editedAt": "2021-04-27T16:43:25Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-827189442", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 5659171, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:827558587", + "kind": "comment", + "actor": "cbbfcd", + "createdAt": "2021-04-27T12:14:02Z", + "editedAt": "2021-04-27T16:43:19Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-827558587", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 20987775, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:827623799", + "kind": "comment", + "actor": "axelthat", + "createdAt": "2021-04-27T13:52:18Z", + "editedAt": "2021-04-27T16:43:30Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-827623799", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 31353695, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:review-comment:621414076", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2021-04-27T16:57:16Z", + "editedAt": "2021-04-27T17:09:40Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r621414076", + "summary": "A maintainer suggests single quotes in docs and test examples.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:review-comment:621779364", + "kind": "review-comment", + "actor": "benmccann", + "createdAt": "2021-04-28T03:13:05Z", + "editedAt": "2021-04-28T03:13:06Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#discussion_r621779364", + "summary": "A maintainer asks whether DynamicElement could extend Element or share a common base class.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:830252858", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2021-04-30T17:39:10Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-830252858", + "summary": "A maintainer reports that the maintainers discussed it and suggest renaming tag to this, for parity with and so custom elements can still take a tag attribute.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:842712780", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-05-17T23:36:53Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-842712780", + "summary": "A user asks the author when he can make the final change.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:843136233", + "kind": "comment", + "actor": "alfredringstad", + "createdAt": "2021-05-18T12:39:48Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-843136233", + "summary": "The author says he lacks time, notes the rename is easy but the base class refactor is harder, and invites others to take over.", + "actorId": 7252803, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:881993803", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-07-18T04:05:02Z", + "editedAt": "2021-07-18T04:08:36Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-881993803", + "summary": "A user says the PR is still awaited.", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:884719301", + "kind": "comment", + "actor": "benbender", + "createdAt": "2021-07-22T07:48:38Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-884719301", + "summary": "A contributor stresses the feature matters for component libraries and asks for a handover.", + "actorId": 462455, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:906916402", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-08-27T04:27:07Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-906916402", + "summary": "A user asks for someone to step in and merge, saying he relies on a fork.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:907289666", + "kind": "comment", + "actor": "aradalvand", + "createdAt": "2021-08-27T15:33:43Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-907289666", + "summary": "A user agrees the wait has been long.", + "actorId": 26527405, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:907299433", + "kind": "comment", + "actor": "frederikhors", + "createdAt": "2021-08-27T15:49:14Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-907299433", + "summary": "A user remarks that open source has no notion of long waits.", + "actorId": 41120635, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:907634451", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2021-08-28T14:31:43Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-907634451", + "summary": "A maintainer says the PR needs a rebase before merging.", + "actorId": 322311, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:process:labeled:2021-09-25T15:41:51Z", + "kind": "process", + "actor": "antony", + "createdAt": "2021-09-25T15:41:51Z", + "url": "https://github.com/sveltejs/svelte/pull/5481", + "summary": "A maintainer labels the PR help wanted.", + "actorId": 218949, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:933897107", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-10-04T22:14:54Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-933897107", + "summary": "A user preferred tag because bind:this works on elements, but accepts this provided bind:this still works.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:948279781", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-10-21T05:52:17Z", + "editedAt": "2021-11-27T16:06:48Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-948279781", + "summary": "The user offers help and asks what remains.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:948772220", + "kind": "comment", + "actor": "dummdidumm", + "createdAt": "2021-10-21T16:18:40Z", + "editedAt": "2021-10-21T16:19:15Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-948772220", + "summary": "A maintainer says the code needs cleanup: he patched class handling but finds duplication and casts because DynamicElement and Element lack a shared base.", + "actorId": 5968653, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:949065828", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-10-21T23:06:57Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-949065828", + "summary": "The user would accept merging with the casts and refactor in a follow-up PR.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:952460364", + "kind": "comment", + "actor": "baseballyama", + "createdAt": "2021-10-27T01:31:19Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-952460364", + "summary": "A maintainer says he is cleaning up the PR before merge as the team wants, and found a bug where handlers and attributes are lost on tag change.", + "actorId": 19153718, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:954224893", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-10-28T21:17:55Z", + "editedAt": "2021-10-28T21:19:18Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-954224893", + "summary": "A user says there is nothing left to discuss and he is fine with whatever name the team picks.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:954420628", + "kind": "comment", + "actor": "baseballyama", + "createdAt": "2021-10-29T04:27:52Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-954420628", + "summary": "The maintainer asks only about the spec and notes the this attribute was already settled by the maintainers.", + "actorId": 19153718, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:955623879", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-10-31T02:08:18Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-955623879", + "summary": "The user thinks everyone is happy to proceed.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:process:cross-referenced:2021-11-03T15:25:33Z", + "kind": "process", + "actor": "baseballyama", + "createdAt": "2021-11-03T15:25:33Z", + "url": "https://github.com/sveltejs/svelte/pull/5481", + "summary": "The maintainer's replacement PR 6898 is cross-referenced.", + "actorId": 19153718, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:959444071", + "kind": "comment", + "actor": "baseballyama", + "createdAt": "2021-11-03T15:27:42Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-959444071", + "summary": "The maintainer opens PR 6898 because he cannot push to this branch.", + "actorId": 19153718, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:980712265", + "kind": "comment", + "actor": "tanhauhau", + "createdAt": "2021-11-27T17:03:28Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-980712265", + "summary": "A maintainer closes this PR in favour of PR 6898.", + "actorId": 2338632, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:process:closed:2021-11-27T17:03:32Z", + "kind": "process", + "actor": "tanhauhau", + "createdAt": "2021-11-27T17:03:32Z", + "url": "https://github.com/sveltejs/svelte/pull/5481", + "summary": "The PR is closed unmerged.", + "actorId": 2338632, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1046275906", + "kind": "comment", + "actor": "lukaszpolowczyk", + "createdAt": "2022-02-20T16:42:38Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1046275906", + "summary": "A user proposes a special tag value that renders only the content, as a fragment.", + "actorId": 16800535, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090963695", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2022-04-07T00:42:25Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090963695", + "summary": "A user says fragments are not meant for this.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090966424", + "kind": "comment", + "actor": "lukaszpolowczyk", + "createdAt": "2022-04-07T00:47:56Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090966424", + "summary": "The proposer says the name is negotiable.", + "actorId": 16800535, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090969011", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2022-04-07T00:53:06Z", + "editedAt": "2022-04-07T00:53:37Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090969011", + "summary": "The user suggests a slot or wrapper component instead.", + "actorId": 17972275, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090970587", + "kind": "comment", + "actor": "lukaszpolowczyk", + "createdAt": "2022-04-07T00:56:22Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090970587", + "summary": "The proposer notes an earlier null-tag idea was rejected.", + "actorId": 16800535, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090978369", + "kind": "comment", + "actor": "baseballyama", + "createdAt": "2022-04-07T01:14:50Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090978369", + "summary": "A maintainer explains the replacement PR renders no element when this is nullish or empty, and that tag has been renamed to this.", + "actorId": 19153718, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + }, + { + "id": "svelte-5481:comment:1090981478", + "kind": "comment", + "actor": "lukaszpolowczyk", + "createdAt": "2022-04-07T01:22:02Z", + "url": "https://github.com/sveltejs/svelte/pull/5481#issuecomment-1090981478", + "summary": "The proposer accepts this.", + "actorId": 16800535, + "actorType": "human", + "parentId": "svelte-5481:pr:5481" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/tailwindcss-prettier-whitespace-dedupe.json b/evals/datasets/decisions-v1/cases/tailwindcss-prettier-whitespace-dedupe.json new file mode 100644 index 000000000..d298d1133 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/tailwindcss-prettier-whitespace-dedupe.json @@ -0,0 +1,960 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "tailwindcss-prettier-whitespace-dedupe", + "title": "Prettier plugin removing duplicate classes and extra whitespace", + "source": { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", + "retrievedAt": "2026-10-18T07:20:07.937703+00:00", + "repository": "tailwindlabs/tailwindcss", + "number": 7560, + "nodeId": "D_kwDOBlGyP84AO2JB" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-01-25T16:00:00Z" + }, + { + "id": "c2", + "at": "2023-01-13T00:00:00Z" + }, + { + "id": "c3", + "at": "2024-05-28T00:00:00Z" + }, + { + "id": "c4", + "at": "2024-06-01T00:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOBlGyP84AO2JB", + "kind": "opening", + "actor": "jakeprins", + "createdAt": "2022-01-25T08:15:43Z", + "editedAt": "2022-01-26T15:11:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", + "summary": "The opener asks the Tailwind Prettier plugin to also drop duplicate class names and extra spaces when sorting, as the Headwind extension does.", + "actorId": "MDQ6VXNlcjE3NzYyMzY2", + "actorType": "human" + }, + { + "id": "DC_kwDOBlGyP84AIeN1", + "kind": "comment", + "actor": "reinink", + "createdAt": "2022-01-25T15:48:49Z", + "editedAt": "2022-01-31T11:30:09Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220917", + "summary": "A maintainer likes deduplication and notes Prettier already collapses spaces in plain `class` attributes.", + "actorId": "MDQ6VXNlcjg4MjEzMw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN2", + "kind": "comment", + "actor": "reinink", + "createdAt": "2022-01-25T15:51:35Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220918", + "summary": "The maintainer then finds it does not collapse spaces inside bound `:class` template strings and suspects other attribute variants too.", + "actorId": "MDQ6VXNlcjg4MjEzMw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN3", + "kind": "comment", + "actor": "Harry2D", + "createdAt": "2022-01-27T09:11:01Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220919", + "summary": "A user confirms spaces remain in `className`.", + "actorId": "MDQ6VXNlcjgyMTQ5Njcw", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN4", + "kind": "comment", + "actor": "camiant", + "createdAt": "2022-01-31T11:29:28Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220920", + "summary": "A user asks if it will ship in an upcoming release.", + "actorId": "MDQ6VXNlcjc1Njc0MjA=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN5", + "kind": "comment", + "actor": "pavelbelyaev98", + "createdAt": "2022-02-04T18:18:47Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220921", + "summary": "A user says Svelte `class` also keeps extra spaces.", + "actorId": "MDQ6VXNlcjQzNDQ2ODM2", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN6", + "kind": "comment", + "actor": "jenstornell", + "createdAt": "2022-02-05T12:22:53Z", + "editedAt": "2022-02-05T12:24:03Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220922", + "summary": "A user notes bound class expressions can contain code, which may be why spaces are left alone, but still wants dedupe on plain `class`.", + "actorId": "MDQ6VXNlcjkyNzAxMQ==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIeN7", + "kind": "comment", + "actor": "snax4a", + "createdAt": "2022-02-07T15:55:41Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2220923", + "summary": "A user wants line breaks removed too.", + "actorId": "MDQ6VXNlcjIwNjY0ODY4", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AIe-d", + "kind": "comment", + "actor": "camiant", + "createdAt": "2022-02-21T20:58:16Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-2224029", + "summary": "A user supports removing duplicates.", + "actorId": "MDQ6VXNlcjc1Njc0MjA=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AMAk9", + "kind": "comment", + "actor": "b3nk3", + "createdAt": "2022-07-14T15:20:05Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3148093", + "summary": "A user asks for progress and offers help.", + "actorId": "MDQ6VXNlcjEwMTI1OTQw", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AMljh", + "kind": "comment", + "actor": "JackMcBride98", + "createdAt": "2022-08-01T14:52:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3299553", + "summary": "A user asks for whitespace removal.", + "actorId": "MDQ6VXNlcjM3MTQ4OTQx", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AM0tR", + "kind": "reply", + "actor": "Dupflo", + "createdAt": "2022-08-09T21:47:49Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3361617", + "summary": "A user agrees.", + "actorId": "MDQ6VXNlcjM5ODI4Nzc5", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AMljh" + }, + { + "id": "DC_kwDOBlGyP84AM5-p", + "kind": "reply", + "actor": "devguy221", + "createdAt": "2022-08-12T11:04:14Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3383209", + "summary": "A user asks for an update.", + "actorId": "MDQ6VXNlcjMzOTc5MjA=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AMljh" + }, + { + "id": "DC_kwDOBlGyP84ANG-L", + "kind": "comment", + "actor": "lukemacauley", + "createdAt": "2022-08-20T09:01:02Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3436427", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjkxNDAzODE1", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84ANbyT", + "kind": "comment", + "actor": "neotan", + "createdAt": "2022-08-31T21:15:16Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3521683", + "summary": "A user links their PR #94 to the plugin attempting a fix.", + "actorId": "MDQ6VXNlcjEwMzk5MDg3", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AOyYp", + "kind": "comment", + "actor": "kmthorsnes", + "createdAt": "2022-10-14T07:08:18Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-3876393", + "summary": "A user supports both features.", + "actorId": "MDQ6VXNlcjI0NzU2NTUw", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AQdp2", + "kind": "comment", + "actor": "quantuminformation", + "createdAt": "2022-12-05T17:56:47Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4315766", + "summary": "A user shows dynamically built class strings with leading spaces.", + "actorId": "MDQ6VXNlcjIxNjU2Ng==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84ARtfU", + "kind": "comment", + "actor": "jt6677", + "createdAt": "2023-01-10T09:03:26Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4642772", + "summary": "A user says they have wanted whitespace trimming for over a year.", + "actorId": "MDQ6VXNlcjYyNDIwMTY5", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84ARyw9", + "kind": "comment", + "actor": "chongruei", + "createdAt": "2023-01-12T06:59:38Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4664381", + "summary": "A user hopes it ships soon.", + "actorId": "MDQ6VXNlcjE5MjkzNzMz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84ARzQD", + "kind": "reply", + "actor": "jt6677", + "createdAt": "2023-01-12T10:53:14Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4666371", + "summary": "A user went back to Headwind despite its own gaps with clsx-style helpers.", + "actorId": "MDQ6VXNlcjYyNDIwMTY5", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARyw9" + }, + { + "id": "DC_kwDOBlGyP84ARzsy", + "kind": "comment", + "actor": "reinink", + "createdAt": "2023-01-12T14:26:03Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4668210", + "summary": "A maintainer reveals the feature was implemented in plugin PR #70 and reverted in PR #72, because in some code the spaces are meaningful, as shown in plugin issue #71.", + "actorId": "MDQ6VXNlcjg4MjEzMw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84ARzv4", + "kind": "reply", + "actor": "JackMcBride98", + "createdAt": "2023-01-12T14:46:38Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4668408", + "summary": "A user says template literals avoid the concatenation problem.", + "actorId": "MDQ6VXNlcjM3MTQ4OTQx", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84ARzwa", + "kind": "reply", + "actor": "gustavopch", + "createdAt": "2023-01-12T14:49:59Z", + "editedAt": "2023-01-12T14:50:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4668442", + "summary": "A user suggests array join patterns that always produce single spaces.", + "actorId": "MDQ6VXNlcjEwOTQxOTU4", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84ARz1I", + "kind": "reply", + "actor": "reinink", + "createdAt": "2023-01-12T15:18:50Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4668744", + "summary": "The maintainer replies they cannot control user code, so enabling it could silently break existing projects.", + "actorId": "MDQ6VXNlcjg4MjEzMw==", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AR0Fh", + "kind": "reply", + "actor": "gustavopch", + "createdAt": "2023-01-12T16:59:13Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4669793", + "summary": "A user proposes making it a Prettier config option.", + "actorId": "MDQ6VXNlcjEwOTQxOTU4", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84ASJ2R", + "kind": "reply", + "actor": "flavio-ever", + "createdAt": "2023-01-23T17:02:07Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4758929", + "summary": "A user agrees an option would be good.", + "actorId": "MDQ6VXNlcjIyODcwNjM5", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AStJh", + "kind": "reply", + "actor": "ahmafi", + "createdAt": "2023-02-08T10:25:00Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-4903521", + "summary": "A user wants the option off by default to avoid breakage.", + "actorId": "MDQ6VXNlcjEyNTYwMTA5", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AUS0U", + "kind": "reply", + "actor": "sjunepark", + "createdAt": "2023-03-15T10:34:07Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-5319956", + "summary": "A user supports an option.", + "actorId": "MDQ6VXNlcjc3NTc5Mjc2", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AUdQA", + "kind": "reply", + "actor": "DhvanilPatel", + "createdAt": "2023-03-19T23:37:57Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-5362688", + "summary": "A user supports an option.", + "actorId": "MDQ6VXNlcjcwNTk0OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AUpF-", + "kind": "reply", + "actor": "gukj", + "createdAt": "2023-03-23T20:48:20Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-5411198", + "summary": "A user supports an option, saying the breaking cases involve unusual string concatenation.", + "actorId": "MDQ6VXNlcjg0MDQ0MDg=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AW4I6", + "kind": "reply", + "actor": "aidarnouman", + "createdAt": "2023-05-25T05:58:23Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-5997114", + "summary": "A user supports an option.", + "actorId": "MDQ6VXNlcjIwNDczNzQz", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AW4Y_", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2023-05-25T08:02:47Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-5998143", + "summary": "A user asks maintainers to add a default-off option such as `stripExtraSpaces`, reusing the reverted code.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AXeFA", + "kind": "reply", + "actor": "tmns", + "createdAt": "2023-06-12T13:32:24Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-6152512", + "summary": "A user calls the option a good compromise.", + "actorId": "MDQ6VXNlcjM1Nzg1MDAz", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AZJuT", + "kind": "reply", + "actor": "raflymln", + "createdAt": "2023-07-31T10:04:56Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-6593427", + "summary": "A user adds urgent support.", + "actorId": "MDQ6VXNlcjE5Mjk5Mzc4", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AZzUh", + "kind": "reply", + "actor": "ljhskyso", + "createdAt": "2023-08-18T17:35:09Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-6763809", + "summary": "A user supports an option.", + "actorId": "MDQ6VXNlcjg3MDA2NjE=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84ARzsy" + }, + { + "id": "DC_kwDOBlGyP84AZ0ue", + "kind": "comment", + "actor": "mbdev3", + "createdAt": "2023-08-19T17:19:47Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-6769566", + "summary": "A user links a standalone script that does the cleanup.", + "actorId": "MDQ6VXNlcjU1ODQyNDQ2", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Ab5TL", + "kind": "comment", + "actor": "AndonMitev", + "createdAt": "2023-10-18T08:49:10Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-7312587", + "summary": "A user asks for trimming at the start, middle and end.", + "actorId": "MDQ6VXNlcjMyMjc0OTg3", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Acrx-", + "kind": "comment", + "actor": "shmakovdima", + "createdAt": "2023-11-09T08:06:09Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-7519358", + "summary": "A user asks for updates.", + "actorId": "MDQ6VXNlcjU2OTU3OTI=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AdgRW", + "kind": "comment", + "actor": "bowis", + "createdAt": "2023-12-01T21:31:12Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-7734358", + "summary": "A user calls the absence absurd.", + "actorId": "MDQ6VXNlcjI2MzMwNTYy", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Aeaj8", + "kind": "comment", + "actor": "adamwathan", + "createdAt": "2023-12-29T14:54:16Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-7973116", + "summary": "A maintainer says they will revisit after the holidays, sees no harm in another option now that others exist, and leans toward stripping whitespace by default in a new version with an opt-out.", + "actorId": "MDQ6VXNlcjQzMjMxODA=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AecMb", + "kind": "comment", + "actor": "PatrykKuniczak", + "createdAt": "2023-12-30T17:29:49Z", + "editedAt": "2025-04-14T08:59:54Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-7979803", + "summary": "A user assumed these features already existed and asks for them.", + "actorId": "MDQ6VXNlcjY0NjA4NTEw", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Aezma", + "kind": "comment", + "actor": "FEliuyg", + "createdAt": "2024-01-10T06:04:18Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8075674", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjE3ODQyNjEy", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Ae0dQ", + "kind": "comment", + "actor": "zhw-rneumann", + "createdAt": "2024-01-10T11:53:19Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8079184", + "summary": "A user thought it used to work.", + "actorId": "MDQ6VXNlcjgyMzc4NTA5", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AgLA3", + "kind": "comment", + "actor": "nikita2608", + "createdAt": "2024-02-11T16:00:12Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8433719", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjMzNTcxMDEw", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AgMfY", + "kind": "reply", + "actor": "wottpal", + "createdAt": "2024-02-12T10:22:53Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8439768", + "summary": "A user asks the maintainer for status and offers to contribute.", + "actorId": "MDQ6VXNlcjM5MzAxNTA=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Aeaj8" + }, + { + "id": "DC_kwDOBlGyP84Agn3G", + "kind": "comment", + "actor": "onkar-giram", + "createdAt": "2024-02-22T04:39:37Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8551878", + "summary": "A user asks about the whitespace feature.", + "actorId": "MDQ6VXNlcjc3NTM2OTgz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Agpsw", + "kind": "reply", + "actor": "Axel-KIRK", + "createdAt": "2024-02-22T16:56:14Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8559408", + "summary": "A user says the standalone script works.", + "actorId": "MDQ6VXNlcjM4NzE4OTU3", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZ0ue" + }, + { + "id": "DC_kwDOBlGyP84Ag1h3", + "kind": "reply", + "actor": "ebokoo", + "createdAt": "2024-02-27T16:42:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8607863", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjM0NTgwMDY1", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Aeaj8" + }, + { + "id": "DC_kwDOBlGyP84AhjOW", + "kind": "comment", + "actor": "marcusnewton", + "createdAt": "2024-03-15T03:01:43Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8795030", + "summary": "A user lost time debugging because they believed it had worked before.", + "actorId": "MDQ6VXNlcjIyNzU2NTkz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AiMhR", + "kind": "comment", + "actor": "tecoad", + "createdAt": "2024-03-31T10:17:00Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-8964177", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjI2Mjc3NDk=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AiqBL", + "kind": "comment", + "actor": "devGuerra", + "createdAt": "2024-04-11T14:24:13Z", + "editedAt": "2024-04-11T14:24:21Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9085003", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjY1Nzk3MzY=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Aitnm", + "kind": "comment", + "actor": "ebokoo", + "createdAt": "2024-04-12T19:42:00Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9099750", + "summary": "A user posts an empty comment.", + "actorId": "MDQ6VXNlcjM0NTgwMDY1", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AiuK4", + "kind": "reply", + "actor": "ImanMahmoudinasab", + "createdAt": "2024-04-13T06:05:03Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9102008", + "summary": "A user asks whether a suggested plugin handles the cases in plugin issue #71.", + "actorId": "MDQ6VXNlcjUyOTU1NTQ=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Aitnm" + }, + { + "id": "DC_kwDOBlGyP84AiuLP", + "kind": "reply", + "actor": "ebokoo", + "createdAt": "2024-04-13T06:11:38Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9102031", + "summary": "A user recommends two third-party Prettier plugins for whitespace and duplicate removal.", + "actorId": "MDQ6VXNlcjM0NTgwMDY1", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AIeN3" + }, + { + "id": "DC_kwDOBlGyP84AiuLe", + "kind": "reply", + "actor": "marcusnewton", + "createdAt": "2024-04-13T06:14:37Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9102046", + "summary": "A user says people want it as default behaviour in the official plugin.", + "actorId": "MDQ6VXNlcjIyNzU2NTkz", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Aitnm" + }, + { + "id": "DC_kwDOBlGyP84Ai0EN", + "kind": "comment", + "actor": "mclbdn", + "createdAt": "2024-04-16T06:51:49Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9126157", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjQ1MzM0MDU1", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84Ai1Tp", + "kind": "reply", + "actor": "cmaciasjimenez", + "createdAt": "2024-04-16T14:46:51Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9131241", + "summary": "A user asks why the behaviour changed.", + "actorId": "MDQ6VXNlcjE0MzkzMTc=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AhjOW" + }, + { + "id": "DC_kwDOBlGyP84AjH38", + "kind": "reply", + "actor": "nova-gh", + "createdAt": "2024-04-24T02:15:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9207292", + "summary": "A user says the third-party plugins stop working alongside the Tailwind plugin.", + "actorId": "MDQ6VXNlcjUxMTgyNzY0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AIeN3" + }, + { + "id": "DC_kwDOBlGyP84AjTjE", + "kind": "comment", + "actor": "danielcranney", + "createdAt": "2024-04-28T18:55:33Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9255108", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjc5NTI4MTMz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AjoNj", + "kind": "reply", + "actor": "ekwoka", + "createdAt": "2024-05-07T10:11:18Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9339747", + "summary": "A user explains backticks preserve whitespace, so stripping there is opinionated.", + "actorId": "MDQ6VXNlcjQzNTQwNDkx", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AIeN2" + }, + { + "id": "DC_kwDOBlGyP84Ajo2H", + "kind": "comment", + "actor": "wuleninja", + "createdAt": "2024-05-07T14:09:59Z", + "editedAt": "2024-05-13T09:21:29Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9342343", + "summary": "A user says the class-rewriting plugin is the right place for this and that the third-party plugin conflicts with it.", + "actorId": "MDQ6VXNlcjI0NDU3NDIx", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkM9M", + "kind": "comment", + "actor": "un33k", + "createdAt": "2024-05-19T20:47:36Z", + "editedAt": "2024-05-19T20:49:09Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9490252", + "summary": "A user explains the two third-party plugins must run before the Tailwind plugin and links an issue proposing a patch.", + "actorId": "MDQ6VXNlcjQwNzUzNw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkNq8", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2024-05-20T07:21:54Z", + "editedAt": "2024-05-20T07:26:32Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9493180", + "summary": "A user asks how to patch the plugin list.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkM9M" + }, + { + "id": "DC_kwDOBlGyP84AkNsN", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2024-05-20T07:31:40Z", + "editedAt": "2024-05-23T08:20:28Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9493261", + "summary": "The same user suggests absorbing the two small plugins' logic instead.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkM9M" + }, + { + "id": "DC_kwDOBlGyP84AkOFL", + "kind": "comment", + "actor": "un33k", + "createdAt": "2024-05-20T10:26:06Z", + "editedAt": "2024-05-20T10:34:56Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9494859", + "summary": "A user shares patch instructions and urges maintainers to list the external plugins rather than build the feature in.", + "actorId": "MDQ6VXNlcjQwNzUzNw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkOji", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2024-05-20T13:58:28Z", + "editedAt": "2024-05-20T14:02:35Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9496802", + "summary": "Another user disagrees, citing extra dependencies, maintenance and supply-chain risk, and points to the maintainer's support for a default.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkOFL" + }, + { + "id": "DC_kwDOBlGyP84AkP0a", + "kind": "comment", + "actor": "un33k", + "createdAt": "2024-05-21T00:36:09Z", + "editedAt": "2024-05-21T00:38:50Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9501978", + "summary": "A user says Tailwind has the final say and recalls a complex PR being rejected.", + "actorId": "MDQ6VXNlcjQwNzUzNw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkXIg", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2024-05-23T08:57:51Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9531936", + "summary": "A user shows a patch that re-applies the reverted change.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkM9M" + }, + { + "id": "DC_kwDOBlGyP84AkXQn", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2024-05-23T09:47:57Z", + "editedAt": "2024-05-23T09:50:00Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9532455", + "summary": "A user publishes a fork of the plugin with the reverted feature restored.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkZtA", + "kind": "comment", + "actor": "un33k", + "createdAt": "2024-05-24T03:59:42Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9542464", + "summary": "A user hopes for an official fix and suggests the fork author open a PR.", + "actorId": "MDQ6VXNlcjQwNzUzNw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkkYP", + "kind": "comment", + "actor": "thecrypticace", + "createdAt": "2024-05-28T22:01:12Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9586191", + "summary": "A maintainer says the team is working on it now and edge cases remain.", + "actorId": "MDQ6VXNlcjYxNDk5Mw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AkoFU", + "kind": "reply", + "actor": "ImanMahmoudinasab", + "createdAt": "2024-05-30T05:23:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9601364", + "summary": "A user asks to see the draft PR.", + "actorId": "MDQ6VXNlcjUyOTU1NTQ=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkkYP" + }, + { + "id": "DC_kwDOBlGyP84Ako1v", + "kind": "reply", + "actor": "reinink", + "createdAt": "2024-05-30T10:52:11Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9604463", + "summary": "A maintainer links plugin PR #272.", + "actorId": "MDQ6VXNlcjg4MjEzMw==", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkkYP" + }, + { + "id": "DC_kwDOBlGyP84Akp85", + "kind": "comment", + "actor": "thecrypticace", + "createdAt": "2024-05-30T18:07:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9609017", + "summary": "A maintainer announces v0.6.0 ships whitespace and duplicate removal enabled by default.", + "actorId": "MDQ6VXNlcjYxNDk5Mw==", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "D_kwDOBlGyP84AO2JB:process:closed:2024-05-30T18:07:40Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2024-05-30T18:07:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOBlGyP84AO2JB" + }, + { + "id": "DC_kwDOBlGyP84AksI_", + "kind": "reply", + "actor": "ekwoka", + "createdAt": "2024-05-31T12:20:10Z", + "editedAt": "2024-05-31T12:21:06Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9617983", + "summary": "A user reports v0.6.0 produces broken Liquid templates.", + "actorId": "MDQ6VXNlcjQzNTQwNDkx", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84AktDd", + "kind": "reply", + "actor": "thecrypticace", + "createdAt": "2024-05-31T17:41:08Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9621725", + "summary": "A maintainer says v0.6.1 disables the feature for Liquid and Svelte because changing string length can make those printers emit malformed code.", + "actorId": "MDQ6VXNlcjYxNDk5Mw==", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84AktTA", + "kind": "reply", + "actor": "ekwoka", + "createdAt": "2024-05-31T19:27:50Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9622720", + "summary": "The user offers to help fix it on the Liquid plugin side.", + "actorId": "MDQ6VXNlcjQzNTQwNDkx", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84AktXA", + "kind": "reply", + "actor": "thecrypticace", + "createdAt": "2024-05-31T19:54:11Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9622976", + "summary": "A maintainer explains the likely cause in those printers and would re-enable once fixed.", + "actorId": "MDQ6VXNlcjYxNDk5Mw==", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84Aky02", + "kind": "reply", + "actor": "karlhorky", + "createdAt": "2024-06-03T08:54:45Z", + "editedAt": "2024-06-03T08:55:17Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9645366", + "summary": "The fork author deprecates their fork now that the official release includes the feature.", + "actorId": "MDQ6VXNlcjE5MzU2OTY=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AkXQn" + }, + { + "id": "DC_kwDOBlGyP84Ak5i1", + "kind": "reply", + "actor": "Amitsharma45", + "createdAt": "2024-06-05T04:46:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9672885", + "summary": "A user says whitespace is still not removed for them.", + "actorId": "MDQ6VXNlcjU0NDEzMTEw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84Ak675", + "kind": "reply", + "actor": "thecrypticace", + "createdAt": "2024-06-05T13:57:03Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-9678585", + "summary": "A maintainer asks for an issue with a reproduction.", + "actorId": "MDQ6VXNlcjYxNDk5Mw==", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + }, + { + "id": "DC_kwDOBlGyP84ApuUG", + "kind": "reply", + "actor": "brycekunkel", + "createdAt": "2024-10-14T14:16:50Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560#discussioncomment-10937606", + "summary": "A user asks whether that issue was filed.", + "actorId": "MDQ6VXNlcjIyNDUwODk0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84Akp85" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/tailwindcss-variant-grouping.json b/evals/datasets/decisions-v1/cases/tailwindcss-variant-grouping.json new file mode 100644 index 000000000..b182ddd5f --- /dev/null +++ b/evals/datasets/decisions-v1/cases/tailwindcss-variant-grouping.json @@ -0,0 +1,895 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "tailwindcss-variant-grouping", + "title": "Grouping utilities under one variant", + "source": { + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701", + "retrievedAt": "2026-10-18T07:20:10.242009+00:00", + "repository": "tailwindlabs/tailwindcss", + "number": 11701, + "nodeId": "D_kwDOBlGyP84AUxqU" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-07-27T09:30:00Z" + }, + { + "id": "c2", + "at": "2023-08-05T03:00:00Z" + }, + { + "id": "c3", + "at": "2024-02-01T06:00:00Z" + }, + { + "id": "c4", + "at": "2024-02-01T09:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOBlGyP84AUxqU", + "kind": "opening", + "actor": "silicakes", + "createdAt": "2023-07-27T09:00:10Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701", + "summary": "The opener proposes grouping several utilities under one variant, such as focus:[a b c], to avoid repeating modifiers, possibly with chained groups, likening it to nesting in SCSS.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human" + }, + { + "id": "DC_kwDOBlGyP84AZCTz", + "kind": "comment", + "actor": "wongjn", + "createdAt": "2023-07-27T09:05:50Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6563059", + "summary": "A maintainer points to earlier answers from the framework's creator and a previous discussion where the idea was considered.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZCbQ", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T09:57:10Z", + "editedAt": "2023-07-27T09:57:52Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6563536", + "summary": "The opener says the CSS growth seen in those answers could be avoided by expanding groups into ordinary classes before compiling, and argues the earlier rejection over template transformation is unconvincing given arbitrary-value support.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZCrs", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2023-07-27T12:04:23Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6564588", + "summary": "The maintainer explains a space-separated group splits into separate browser classes, so matching it needs verbose attribute selectors per permutation, bloating CSS, and argues a no-spaces syntax would be the better form.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZDQT", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T15:38:57Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6566931", + "summary": "The opener asks why the group could not simply be expanded into individual variant classes before compiling.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZDQ1", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2023-07-27T15:42:44Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6566965", + "summary": "The maintainer says that would mean rewriting the markup and templates, which was already rejected before.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD2o", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T20:28:12Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569384", + "summary": "The opener suggests a plugin hook that transforms source before Tailwind sees it.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD3R", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2023-07-27T20:33:15Z", + "editedAt": "2023-07-27T20:44:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569425", + "summary": "The maintainer shows that even with a content transform, the generated selectors would not match the untransformed class names in the real markup.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD7Q", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T21:17:26Z", + "editedAt": "2023-07-27T21:21:08Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569680", + "summary": "The opener concedes and proposes comma-separated groups compiled to a single escaped class, asking whether an API for that exists.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD8I", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2023-07-27T21:27:44Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569736", + "summary": "The maintainer notes plugins and CSS layers already let users add classes.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD9N", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T21:38:31Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569805", + "summary": "The opener asks whether classes can be added dynamically from what is matched in markup.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD-K", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2023-07-27T21:50:06Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569866", + "summary": "The maintainer shares a playground showing a plugin that implements grouping that way.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZD_H", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-27T22:04:22Z", + "editedAt": "2023-07-27T22:15:36Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6569927", + "summary": "The opener is delighted and says people should know about it.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZEFc", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-27T23:22:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6570332", + "summary": "A user praises the solution.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + }, + { + "id": "DC_kwDOBlGyP84AZIyK", + "kind": "comment", + "actor": "silicakes", + "createdAt": "2023-07-30T22:15:10Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6589578", + "summary": "The opener publishes a small plugin based on the maintainer's approach.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZJ2l", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T11:08:28Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6593957", + "summary": "A user warns the plugin will keep growing the CSS bundle.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZJ5V", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-31T11:29:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6594133", + "summary": "Another user counters that the creator's measurements suggested the size difference is small while source becomes DRY.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZJ77", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T11:48:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6594299", + "summary": "The first user replies with a diagram.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKQf", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-31T14:06:43Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6595615", + "summary": "The opener argues gzip will absorb repeated declarations and promises a real benchmark.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKRA", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T14:10:06Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6595648", + "summary": "The first user says the bundle never stops growing with this approach.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKRv", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-07-31T14:15:39Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6595695", + "summary": "The opener says products are mostly modified rather than grown, so size stabilises.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKSC", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T14:17:26Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6595714", + "summary": "The user notes that without groups many edits change no CSS at all.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKXd", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-31T14:48:19Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6596061", + "summary": "The second user dismisses the diagram and argues long custom selectors are the real motivation, where grouping saves much source at little CSS cost.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKdM", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T15:20:58Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6596428", + "summary": "The first user works through byte counts showing grouped classes start smaller but grow faster than plain utilities as variants multiply.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKik", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-31T15:50:26Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6596772", + "summary": "The second user says the trade-off is about source code structure, not CSS size, and users should control it.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKjc", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T15:55:48Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6596828", + "summary": "The first user compares that to arguments for plain CSS and says repeating a prefix is cheap.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZKle", + "kind": "comment", + "actor": "sarimarton", + "createdAt": "2023-07-31T16:05:18Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6596958", + "summary": "The second user asks for clarification and questions the cheapness argument.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZLCA", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T19:52:57Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6598784", + "summary": "The first user argues generated CSS matters as much as markup and that grouping trades CSS quality for little typing.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZLCb", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T19:57:33Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6598811", + "summary": "The first user adds that a bloated bundle hurts app UX.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZLDL", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T20:01:22Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6598859", + "summary": "The first user notes the Prettier class-sorting plugin and IntelliSense would not handle grouped classes.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZLGE", + "kind": "reply", + "actor": "adamwathan", + "createdAt": "2023-07-31T20:25:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6599044", + "summary": "The framework's creator corrects the example: to preserve override behaviour, a group must emit separate rules in each utility's normal position, so the CSS is larger still.", + "actorId": "MDQ6VXNlcjQzMjMxODA=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZLGs", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T20:30:48Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6599084", + "summary": "The first user agrees that makes the CSS grow much faster.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZLIQ", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-31T20:42:01Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6599184", + "summary": "The second user disputes the first user's framing and says lack of tooling support is not an argument against a new feature.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZLJJ", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-07-31T20:49:52Z", + "editedAt": "2023-07-31T20:59:24Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6599241", + "summary": "The first user clarifies he ranks plain utilities above groups and groups above vanilla CSS.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZLSS", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-07-31T22:31:33Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6599826", + "summary": "The second user restates that grouping is a DRY trade-off unrelated to the vanilla CSS comparison.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZMAq", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-01T08:13:22Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6602794", + "summary": "The first user cites the creator's correction as showing rules multiply under grouping.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZMwh", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-01T13:45:10Z", + "editedAt": "2023-08-01T13:49:40Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6605857", + "summary": "The second user argues repetition exists either way and the creator's correction only describes a suboptimal implementation.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZMxu", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-01T13:51:45Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6605934", + "summary": "The second user suggests the creator's concern could be fixed by deduplicating selectors.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AZMz4", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-01T14:02:54Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6606072", + "summary": "The first user continues to argue grouping leaves you worse off than plain utilities.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZKle" + }, + { + "id": "DC_kwDOBlGyP84AZSj0", + "kind": "comment", + "actor": "silicakes", + "createdAt": "2023-08-03T16:06:57Z", + "editedAt": "2023-08-03T16:53:29Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6629620", + "summary": "The opener sees merit on both sides and proposes a build-time Vite plugin that expands grouped syntax into plain variant classes before Tailwind reads the code.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZTkq", + "kind": "comment", + "actor": "sarimarton", + "createdAt": "2023-08-04T03:06:23Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6633770", + "summary": "The second user shares a real case where his grouping plugin produced a single compact rule.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZT4Z", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-04T06:24:26Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6635033", + "summary": "The first user notes such a rule cannot be overridden by utilities and may still duplicate.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZUVL", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-04T10:14:34Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6636875", + "summary": "The second user calls the objection premature optimisation.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZUjK", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-04T11:51:50Z", + "editedAt": "2023-08-04T11:52:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6637770", + "summary": "The first user asks how grouping can avoid separate rulesets.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZUj3", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-04T11:57:03Z", + "editedAt": "2023-08-04T12:05:35Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6637815", + "summary": "The second user points to the one-rule output.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZUlE", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-04T12:07:19Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6637892", + "summary": "The first user says a correct implementation would need more rules and ordering problems would follow.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZUns", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-04T12:25:54Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6638060", + "summary": "The second user asks for a concrete example.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZV9E", + "kind": "reply", + "actor": "adamwathan", + "createdAt": "2023-08-05T02:30:15Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6643524", + "summary": "The creator explains a single collapsed rule changes declaration order and breaks overrides, and shares an example where a hover shadow fails to apply.", + "actorId": "MDQ6VXNlcjQzMjMxODA=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZV-8", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-05T03:29:28Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6643644", + "summary": "The second user calls the example contrived and shares a variant that works.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWE5", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-05T05:53:17Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6644025", + "summary": "The first user notes classes may be added later by JavaScript.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWPW", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-05T09:27:19Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6644694", + "summary": "The second user asks for a realistic case and compares the objection to rejecting !important.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWQF", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-05T09:44:05Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6644741", + "summary": "The first user says the risk is hard-to-debug breakage for little benefit.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWa5", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-05T12:34:43Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6645433", + "summary": "The second user disagrees and posts a real component with long repeated selectors.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWiH", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-05T14:08:48Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6645895", + "summary": "The first user suggests refactoring that example with config breakpoints and JavaScript instead.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWl4", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-05T15:03:06Z", + "editedAt": "2023-08-05T15:22:02Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6646136", + "summary": "The second user rejects the refactoring advice as a distraction.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWmv", + "kind": "reply", + "actor": "mybearworld", + "createdAt": "2023-08-05T15:15:13Z", + "editedAt": "2023-08-05T15:17:06Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6646191", + "summary": "The first user defends the refactoring suggestions.", + "actorId": "U_kgDOB8WHGw", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AZWqV", + "kind": "comment", + "actor": "sarimarton", + "createdAt": "2023-08-05T16:03:11Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6646421", + "summary": "The second user continues the rebuttal.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AZYUQ", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-08-06T23:31:43Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-6653200", + "summary": "The second user adds that the suggested config change would break the app's breakpoints.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AbMbP", + "kind": "comment", + "actor": "stephenhandley", + "createdAt": "2023-09-28T00:47:57Z", + "editedAt": "2023-09-28T00:53:19Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-7128783", + "summary": "A user shares a runtime helper that expands a parenthesised group syntax inside a class-merging function.", + "actorId": "MDQ6VXNlcjMyNTc=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AcrHM", + "kind": "reply", + "actor": "amritk", + "createdAt": "2023-11-09T00:34:41Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-7516620", + "summary": "A user says he was about to build a Vite plugin for this.", + "actorId": "MDQ6VXNlcjIwMzk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZSj0" + }, + { + "id": "DC_kwDOBlGyP84Act5U", + "kind": "reply", + "actor": "amritk", + "createdAt": "2023-11-09T23:43:41Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-7528020", + "summary": "The same user finds an existing grouping plugin.", + "actorId": "MDQ6VXNlcjIwMzk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZSj0" + }, + { + "id": "DC_kwDOBlGyP84AeJWh", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2023-12-19T23:16:37Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-7902625", + "summary": "The second user points to the new has variant in a later release as answering an earlier objection.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZTkq" + }, + { + "id": "DC_kwDOBlGyP84AeUiS", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2023-12-26T12:07:09Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-7948434", + "summary": "The opener asks whether the runtime helper costs performance at runtime.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AbMbP" + }, + { + "id": "DC_kwDOBlGyP84AfxwJ", + "kind": "comment", + "actor": "juniorforlife", + "createdAt": "2024-02-01T03:52:00Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8330249", + "summary": "A user asks whether any decision has been made.", + "actorId": "MDQ6VXNlcjY4MzYwOTE3", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AfyK_", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2024-02-01T08:29:07Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8331967", + "summary": "The maintainer says, as far as he knows, the maintainers will not add this to core, linking the earlier explanation.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AfxwJ" + }, + { + "id": "DC_kwDOBlGyP84Af3I8", + "kind": "reply", + "actor": "juniorforlife", + "createdAt": "2024-02-03T02:34:34Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8352316", + "summary": "The user is disappointed, calling long class lists Tailwind's biggest downside.", + "actorId": "MDQ6VXNlcjY4MzYwOTE3", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AfxwJ" + }, + { + "id": "DC_kwDOBlGyP84AgCAM", + "kind": "reply", + "actor": "sarimarton", + "createdAt": "2024-02-07T15:51:46Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8396812", + "summary": "The second user asks the creator whether resolving groups in the class extractor would make it pure syntax sugar.", + "actorId": "MDQ6VXNlcjIxNjkwNDM=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AfxwJ" + }, + { + "id": "DC_kwDOBlGyP84AgClX", + "kind": "reply", + "actor": "wongjn", + "createdAt": "2024-02-07T19:26:54Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8399191", + "summary": "The maintainer says that would break Tailwind's language-agnostic design, linking earlier explanations.", + "actorId": "MDQ6VXNlcjExMzEwNjI0", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AfxwJ" + }, + { + "id": "DC_kwDOBlGyP84Agcpx", + "kind": "reply", + "actor": "BarakChamo", + "createdAt": "2024-02-18T09:28:48Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8505969", + "summary": "A user asks how IDE extensions could support the plugin approach.", + "actorId": "MDQ6VXNlcjI4ODMzNDU=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AgdSy", + "kind": "comment", + "actor": "BarakChamo", + "createdAt": "2024-02-18T17:34:26Z", + "editedAt": "2024-02-19T03:18:38Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-8508594", + "summary": "A user who was redirected here summarises the trade-offs and proposes a combined approach, with a playground showing a label styled both ways.", + "actorId": "MDQ6VXNlcjI4ODMzNDU=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AiugR", + "kind": "comment", + "actor": "Evertt", + "createdAt": "2024-04-13T12:12:03Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-9103377", + "summary": "A user asks whether the version 4 rewrite changes the arguments against built-in grouping.", + "actorId": "MDQ6VXNlcjEyNjcyODI=", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84Aiugw", + "kind": "reply", + "actor": "Evertt", + "createdAt": "2024-04-13T12:16:58Z", + "editedAt": "2024-04-13T13:22:56Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-9103408", + "summary": "A user notes the runtime helper does run at runtime and posts an improved regex for nested parentheses.", + "actorId": "MDQ6VXNlcjEyNjcyODI=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AbMbP" + }, + { + "id": "DC_kwDOBlGyP84Aiul8", + "kind": "reply", + "actor": "silicakes", + "createdAt": "2024-04-13T13:33:32Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-9103740", + "summary": "The opener says IDEs should support the plugin since it produces native classes.", + "actorId": "MDQ6VXNlcjE3NTk1Mzk=", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZIyK" + }, + { + "id": "DC_kwDOBlGyP84AjiFE", + "kind": "comment", + "actor": "MrOxMasTer", + "createdAt": "2024-05-04T15:59:03Z", + "editedAt": "2024-05-04T16:40:25Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-9314628", + "summary": "A user surveys existing grouping plugins and syntaxes and their UX trade-offs.", + "actorId": "MDQ6VXNlcjU5MjkxMTIz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84AkSa7", + "kind": "comment", + "actor": "MrOxMasTer", + "createdAt": "2024-05-21T19:12:48Z", + "editedAt": "2024-05-21T19:16:26Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-9512635", + "summary": "The same user shares his own grouping plugins and notes linting and IntelliSense gaps.", + "actorId": "MDQ6VXNlcjU5MjkxMTIz", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84Avzh1", + "kind": "comment", + "actor": "jimydavis", + "createdAt": "2025-03-18T01:03:16Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-12531829", + "summary": "A user shares a Vite plugin that expands responsive groups into a safelist.", + "actorId": "MDQ6VXNlcjE2NDYzNzU2", + "actorType": "human", + "parentId": "D_kwDOBlGyP84AUxqU" + }, + { + "id": "DC_kwDOBlGyP84Awrvx", + "kind": "reply", + "actor": "whitespacecode", + "createdAt": "2025-04-08T09:33:47Z", + "url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701#discussioncomment-12762097", + "summary": "A user says the maintainer's playground plugin does not work for hover variants.", + "actorId": "MDQ6VXNlcjM3MTM5OTM2", + "actorType": "human", + "parentId": "DC_kwDOBlGyP84AZCTz" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/tc39-import-reflection-extensible-syntax.json b/evals/datasets/decisions-v1/cases/tc39-import-reflection-extensible-syntax.json new file mode 100644 index 000000000..225140926 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/tc39-import-reflection-extensible-syntax.json @@ -0,0 +1,815 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "tc39-import-reflection-extensible-syntax", + "title": "Extensible object syntax for import reflection", + "source": { + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18", + "retrievedAt": "2026-10-18T07:32:47.831632+00:00", + "repository": "tc39/proposal-source-phase-imports", + "number": 18 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-01-13T06:00:00Z" + }, + { + "id": "c2", + "at": "2022-07-20T01:00:00Z" + }, + { + "id": "c3", + "at": "2023-04-22T04:00:00Z" + }, + { + "id": "c4", + "at": "2023-05-16T07:00:00Z" + } + ], + "events": [ + { + "id": "proposal-source-phase-imports-18:issue:18", + "kind": "opening", + "actor": "jonathantneal", + "createdAt": "2022-01-13T05:54:58Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18", + "summary": "A user asks whether import reflection could use an extensible key-value form, with a CSS media example, to leave room for future uses.", + "actorId": 188426, + "actorType": "human" + }, + { + "id": "proposal-source-phase-imports-18:comment:1012363457", + "kind": "comment", + "actor": "justinfagnani", + "createdAt": "2022-01-13T17:43:21Z", + "editedAt": "2022-01-13T17:43:52Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1012363457", + "summary": "A user finds the media use case compelling, sketches conditional CSS imports, and asks how assertions, reflection and a possible attributes feature relate.", + "actorId": 522948, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1012868544", + "kind": "comment", + "actor": "jonathantneal", + "createdAt": "2022-01-14T07:47:13Z", + "editedAt": "2022-01-14T07:48:04Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1012868544", + "summary": "The opener lists more speculative attributes for fonts, audio and workers.", + "actorId": 188426, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1047041937", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-02-21T16:16:57Z", + "editedAt": "2022-02-21T16:17:39Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1047041937", + "summary": "A bundler author supports extensible syntax so new attributes need no parser change or TC39 process, citing an earlier import assertions thread and a prefetch example.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048238350", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-02-22T21:40:30Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048238350", + "summary": "A champion asks whether preloading would be better served by a dedicated import.preload function.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048260695", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-02-22T22:11:21Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048260695", + "summary": "The bundler author says attributes are easier to analyse statically, credits the idea to a delegate, and mentions lazy loading as another use.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048263399", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-02-22T22:14:34Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048263399", + "summary": "A delegate argues a syntactic import.preload would be just as analysable.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048291219", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-02-22T22:59:09Z", + "editedAt": "2022-02-22T23:04:13Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048291219", + "summary": "The bundler author replies that declarative imports allow preloading without running code and would mirror dynamic import options.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048314200", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-02-22T23:38:32Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048314200", + "summary": "The delegate says a syntactic form would appear on first parse anyway.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048318945", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-02-22T23:48:18Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048318945", + "summary": "The champion notes link rel=modulepreload already covers static early hints.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048375536", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-02-23T01:36:43Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048375536", + "summary": "The bundler author wants preloading for later loads too, and refocuses on extensibility for tools.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048390630", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-02-23T02:13:53Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048390630", + "summary": "The champion says use-case discussion is on topic and welcome.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1048435064", + "kind": "comment", + "actor": "jonathantneal", + "createdAt": "2022-02-23T04:15:03Z", + "editedAt": "2022-02-23T04:24:44Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1048435064", + "summary": "The opener explains they want one extensible API because they doubt TC39 understands tooling needs and because several separate syntaxes would arrive slowly.", + "actorId": 188426, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1076516814", + "kind": "comment", + "actor": "ggoodman", + "createdAt": "2022-03-23T16:06:26Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1076516814", + "summary": "A user separates runtime-semantic uses such as media and workers from tooling-intent uses, and suggests a dedicated namespace for tooling metadata.", + "actorId": 50030, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1145028568", + "kind": "comment", + "actor": "littledan", + "createdAt": "2022-06-02T15:56:07Z", + "editedAt": "2022-06-09T21:49:45Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1145028568", + "summary": "A delegate favours a general object-based syntax and, if a keyword is used, prefers one implying the module changes, such as with.", + "actorId": 189835, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1151662967", + "kind": "comment", + "actor": "littledan", + "createdAt": "2022-06-09T21:57:49Z", + "editedAt": "2022-06-09T21:58:08Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1151662967", + "summary": "The delegate, now convinced of the use case, still prefers a general syntax but fears committee blocking, does not want to stall the proposal, and suggests avoiding as.", + "actorId": 189835, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1153005599", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-06-11T22:08:42Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1153005599", + "summary": "The champion is open to replacing as in a way that leaves room for future attribute syntax, while focusing on module record details for now.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189624431", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-19T22:48:41Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189624431", + "summary": "The bundler author objects that the syntax moved to yet another fixed keyword, breaking symmetry with dynamic import's options object, and argues a with clause would have made the proposal unnecessary.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189629316", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-19T22:58:05Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189629316", + "summary": "A delegate says tools misusing import assertions likely violate the spec and asks for concrete use cases.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189633552", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-19T23:04:07Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189633552", + "summary": "The bundler author links two tools that experimented with such misuse.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189636169", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-19T23:08:27Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189636169", + "summary": "The delegate notes neither tool actually violated the spec.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189642964", + "kind": "comment", + "actor": "jridgewell", + "createdAt": "2022-07-19T23:21:04Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189642964", + "summary": "A delegate calls the rule that assertions cannot change module interpretation arbitrary and urges bundlers to ignore it.", + "actorId": 112982, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189644786", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-19T23:24:27Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189644786", + "summary": "The bundler author asks what the technical objection to extensible syntax is, arguing an options object with specified keys is semantically equal and avoids parser changes.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189679977", + "kind": "comment", + "actor": "Ayc0", + "createdAt": "2022-07-20T00:38:40Z", + "editedAt": "2022-07-20T00:38:51Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189679977", + "summary": "A user notes each bundler has its own loader syntax and argues an extensible spec could align them.", + "actorId": 22725671, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189690226", + "kind": "comment", + "actor": "ggoodman", + "createdAt": "2022-07-20T00:58:24Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189690226", + "summary": "A user proposes a reserved key or prefix for non-semantic tooling metadata, symmetric with dynamic import.", + "actorId": 50030, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189833957", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-20T05:06:42Z", + "editedAt": "2022-07-20T05:06:54Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189833957", + "summary": "A delegate rebukes advocacy of spec violation and argues interoperability needs tightly specified semantics, with specifiers as the space for tool innovation.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189838397", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-20T05:15:39Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189838397", + "summary": "A user counters that import.meta is already host-defined extensible metadata.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189838771", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-20T05:16:26Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189838771", + "summary": "The delegate distinguishes metadata for module authors from metadata passed by importers.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189840073", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-20T05:18:58Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189840073", + "summary": "The user calls that distinction irrelevant.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189841585", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-20T05:22:08Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189841585", + "summary": "The delegate says a module should not behave differently depending on its importer.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189845120", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-20T05:29:11Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189845120", + "summary": "The bundler author says extensibility exists precisely to avoid syntax changes and does not hurt interoperability.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1189878004", + "kind": "comment", + "actor": "devsnek", + "createdAt": "2022-07-20T06:24:32Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1189878004", + "summary": "A delegate likes extensibility but worries about attributes that fork a module into several instances, and is undecided.", + "actorId": 5952481, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1190269417", + "kind": "comment", + "actor": "ggoodman", + "createdAt": "2022-07-20T13:11:45Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1190269417", + "summary": "A user agrees forking is a real concern and says non-semantic attributes should not affect module identity.", + "actorId": 50030, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1190415083", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-20T15:15:18Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1190415083", + "summary": "The bundler author shows that dynamic import already treats reflect as part of the cache key and ignores unknown keys, and asks why static imports cannot do the same.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1190451891", + "kind": "comment", + "actor": "jridgewell", + "createdAt": "2022-07-20T15:47:57Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1190451891", + "summary": "The delegate who urged ignoring the rule rephrases it as a deliberate violation and supports a specified extension space.", + "actorId": 112982, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192729364", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-22T16:10:24Z", + "editedAt": "2022-07-22T16:14:40Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192729364", + "summary": "A user argues modules are already cached by importer and specifier, so they can differ by importer.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192737663", + "kind": "comment", + "actor": "devsnek", + "createdAt": "2022-07-22T16:20:26Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192737663", + "summary": "The delegate limits their concern to imports within one file.", + "actorId": 5952481, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192746172", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-22T16:30:39Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192746172", + "summary": "The user says forking within one file has legitimate uses such as importing Wasm modules rather than instances.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192747818", + "kind": "comment", + "actor": "devsnek", + "createdAt": "2022-07-22T16:32:41Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192747818", + "summary": "The delegate says reflect returns a different view of the same cache entry rather than forking.", + "actorId": 5952481, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192811582", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-22T17:57:00Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192811582", + "summary": "A delegate says the concern is conceptually distinct instances from one specifier, not duplication.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192817064", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-22T18:04:25Z", + "editedAt": "2022-07-22T18:09:18Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192817064", + "summary": "A user cites the spec to argue the same specifier can already resolve to different modules.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1192837820", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-22T18:33:26Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1192837820", + "summary": "The delegate concedes the point but maintains the same specifier in one file yields one module.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1194828244", + "kind": "comment", + "actor": "patrickgwsmith", + "createdAt": "2022-07-26T00:41:52Z", + "editedAt": "2022-07-26T01:00:36Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1194828244", + "summary": "A user asks how the media example should behave, once at load or re-evaluated on viewport change.", + "actorId": 2635733, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1194871935", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-07-26T01:39:54Z", + "editedAt": "2022-07-26T01:40:28Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1194871935", + "summary": "The champion says media queries are closer to conditional loading and lists resolution-level and syntax-level options.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1194876255", + "kind": "comment", + "actor": "patrickgwsmith", + "createdAt": "2022-07-26T01:46:21Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1194876255", + "summary": "The user asks how the dynamic approach would handle viewport changes.", + "actorId": 2635733, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1194957623", + "kind": "comment", + "actor": "justinfagnani", + "createdAt": "2022-07-26T03:36:50Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1194957623", + "summary": "A user notes dynamic import hurts loading through top-level await and prescanners, and that re-evaluation would be needed.", + "actorId": 522948, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1195699421", + "kind": "comment", + "actor": "ggoodman", + "createdAt": "2022-07-26T16:21:26Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1195699421", + "summary": "A user argues the value of extensible syntax lies in tooling transforming intent, especially with no runtime meaning.", + "actorId": 50030, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1195913716", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-26T19:52:13Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1195913716", + "summary": "A delegate says comments already provide extensible syntax with no runtime meaning.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196161616", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-27T01:16:38Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196161616", + "summary": "The bundler author asks again why dynamic and static imports differ.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196198988", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-27T02:34:25Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196198988", + "summary": "The delegate says dynamic import has no alternative, and static syntax faced objections to boilerplate.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196203042", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-27T02:42:49Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196203042", + "summary": "The bundler author worries every new attribute will need bespoke syntax and slow the standards process.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196238255", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2022-07-27T03:58:55Z", + "editedAt": "2022-07-27T03:59:03Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196238255", + "summary": "A delegate makes an off-topic link to the type annotations proposal.", + "actorId": 5390719, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196272674", + "kind": "comment", + "actor": "jridgewell", + "createdAt": "2022-07-27T05:10:41Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196272674", + "summary": "A delegate mocks the comments argument as implying no new features are needed.", + "actorId": 112982, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196429766", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-27T08:38:46Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196429766", + "summary": "A delegate argues permanence outweighs speed and that standards should minimise mistakes rather than speed experimentation.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196431258", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-27T08:40:14Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196431258", + "summary": "The delegate says the logic applies only to features without runtime semantics.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196874572", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-27T15:00:44Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196874572", + "summary": "The bundler author argues TC39 should not gatekeep features specific to one runtime or bundler.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1196952860", + "kind": "comment", + "actor": "ggoodman", + "createdAt": "2022-07-27T16:03:18Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1196952860", + "summary": "A user feels community feedback is being dismissed and leaves the discussion.", + "actorId": 50030, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1197097558", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-27T17:46:37Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1197097558", + "summary": "The bundler author posts a grouped list of possible import attributes requested in a tools meeting.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1197513508", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-28T00:22:06Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1197513508", + "summary": "A delegate asks for prose on what each would do in browsers and Node.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1197522245", + "kind": "comment", + "actor": "guybedford", + "createdAt": "2022-07-28T00:39:20Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1197522245", + "summary": "The champion responds case by case, saying several are non-goals or better served by existing or other proposals.", + "actorId": 598730, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1197786619", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2022-07-28T07:45:57Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1197786619", + "summary": "A user suggests module references stay a fixed keyword while asset references take extensible attributes.", + "actorId": 29990554, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1198382657", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-28T16:37:13Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1198382657", + "summary": "The bundler author explains each attribute idea in more detail.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1198705946", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-07-28T22:57:43Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1198705946", + "summary": "A delegate asks what image imports would do outside browsers and stresses universality across environments.", + "actorId": 45469, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1198726672", + "kind": "comment", + "actor": "devongovett", + "createdAt": "2022-07-28T23:37:42Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1198726672", + "summary": "The bundler author suggests hosts register supported attributes and reject unknown ones.", + "actorId": 19409, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1198735518", + "kind": "comment", + "actor": "Pauan", + "createdAt": "2022-07-28T23:59:20Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1198735518", + "summary": "A user argues module loading and import.meta are already host-specific, so extensible syntax helps environments.", + "actorId": 97238, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1275513330", + "kind": "comment", + "actor": "jridgewell", + "createdAt": "2022-10-12T02:50:54Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1275513330", + "summary": "A delegate notes Rollup now supports arbitrary assertions for plugins, showing bundlers converge on extensibility.", + "actorId": 112982, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1518505719", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2023-04-22T04:28:00Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1518505719", + "summary": "A user says import assertions became import attributes with extensible with syntax and reflection became import phases, so this issue appears addressed.", + "actorId": 29990554, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1518508583", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2023-04-22T04:44:54Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1518508583", + "summary": "A delegate asks that attributes allow boolean values.", + "actorId": 5390719, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:comment:1549087914", + "kind": "comment", + "actor": "lucacasonato", + "createdAt": "2023-05-16T06:53:45Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18#issuecomment-1549087914", + "summary": "A champion says the issue is resolved since this proposal now covers only import phases, and directs attribute feedback to the TC39 forum.", + "actorId": 7829205, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + }, + { + "id": "proposal-source-phase-imports-18:process:closed:2023-05-16T06:53:45Z", + "kind": "process", + "actor": "lucacasonato", + "createdAt": "2023-05-16T06:53:45Z", + "url": "https://github.com/tc39/proposal-source-phase-imports/issues/18", + "summary": "The champion closes the issue.", + "actorId": 7829205, + "actorType": "human", + "parentId": "proposal-source-phase-imports-18:issue:18" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/tsc-primordials-error-path-vote.json b/evals/datasets/decisions-v1/cases/tsc-primordials-error-path-vote.json new file mode 100644 index 000000000..d0a5e11c3 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/tsc-primordials-error-path-vote.json @@ -0,0 +1,1413 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "tsc-primordials-error-path-vote", + "title": "Node.js TSC vote on the future of primordials", + "source": { + "url": "https://github.com/nodejs/TSC/issues/1104", + "retrievedAt": "2026-10-18T07:33:04.394895+00:00", + "repository": "nodejs/TSC", + "number": 1104, + "related": [ + { + "url": "https://github.com/nodejs/TSC/pull/1158", + "retrievedAt": "2026-10-18T07:42:33.310030+00:00" + } + ] + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-10-18T14:30:00Z" + }, + { + "id": "c2", + "at": "2022-01-06T14:30:00Z" + }, + { + "id": "c3", + "at": "2022-02-12T22:00:00Z" + }, + { + "id": "c4", + "at": "2022-02-12T23:30:00Z" + } + ], + "events": [ + { + "id": "tsc-1104:issue:1104", + "kind": "opening", + "actor": "gireeshpunathil", + "createdAt": "2021-10-18T14:22:00Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "A TSC member opens a vote issue on primordials, listing possible goals (tamper-proof everything, only module loading, selectively by performance) and approaches (primordials, C++, other), and asks for input on which modules belong in the subset before voting in two weeks.", + "actorId": 6447530, + "actorType": "human" + }, + { + "id": "tsc-1104:comment:945842718", + "kind": "comment", + "actor": "targos", + "createdAt": "2021-10-18T14:36:14Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945842718", + "summary": "A TSC member asks what implement means in the options.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945859909", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-10-18T14:54:31Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945859909", + "summary": "The opener suggests migrate is the better word.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945897882", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-10-18T15:32:04Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945897882", + "summary": "A TSC member reframes the options as subset-only migration, migrate everything handling performance cliffs case by case, and an ill-defined status quo.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945924841", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-10-18T16:00:38Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945924841", + "summary": "The opener rewords, distinguishing continued migration with trade-offs from freezing until a new approach appears.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945931317", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-10-18T16:07:25Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945931317", + "summary": "The member asks whether freezing is really the status quo, which he understood as using primordials except in hot paths.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945936008", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-10-18T16:12:08Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945936008", + "summary": "The opener says migration had stopped after performance drops and rewords that option as leaving migration where it is.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945939091", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2021-10-18T16:15:25Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945939091", + "summary": "A TSC member recommends a multiple-choice vote like the earlier Promises vote.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:945966860", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-10-18T16:48:53Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-945966860", + "summary": "The opener agrees but wonders how to run it on GitHub.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:946143202", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-10-18T20:33:25Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-946143202", + "summary": "A TSC member suggests ranked-choice voting via OpaVote as used for the Corepack vote.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:953746877", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-10-28T11:14:47Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-953746877", + "summary": "The opener asks two members which modules should, should not, or may be migrated.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:953788365", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-10-28T12:16:11Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-953788365", + "summary": "A TSC member wants all modules migrated and says the subset referred to the loader.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:961158688", + "kind": "comment", + "actor": "BridgeAR", + "createdAt": "2021-11-04T15:32:02Z", + "editedAt": "2021-12-08T17:18:51Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-961158688", + "summary": "A TSC member asks for very specific voting options with pros and cons, and proposes a numbered list ranging from loader-only primordials or C++ to undoing all primordials or surveying the community, plus benefit criteria.", + "actorId": 8822573, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:964744361", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-11-10T03:07:36Z", + "editedAt": "2021-11-10T03:12:22Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-964744361", + "summary": "The opener worries that many options will confuse voters, since the brainstorm aimed to prune poor choices.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:974825710", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-11-21T14:18:25Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-974825710", + "summary": "The opener restructures the options into goals and approaches after a TSC meeting.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:984939601", + "kind": "comment", + "actor": "BridgeAR", + "createdAt": "2021-12-02T19:34:37Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-984939601", + "summary": "The member says checking goals would need multi-step voting, and argues primordials rarely deliver robustness because user code itself breaks under tampering.", + "actorId": 8822573, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:984943055", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-02T19:39:42Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-984943055", + "summary": "Another member replies that users control their apps but not Node, so an unfixable core problem differs from a fixable app one.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:990614003", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2021-12-10T04:43:14Z", + "editedAt": "2021-12-10T17:03:51Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-990614003", + "summary": "The opener posts the ten options presented at the 8 December TSC meeting and asks which to exclude.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991173918", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-12-10T17:51:42Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991173918", + "summary": "A TSC member proposes agreeing on test cases rather than a dependency list, and splitting the vote into how tamper-proof core should be and how to achieve it, noting different areas of core deserve different answers.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991219991", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-10T19:00:52Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991219991", + "summary": "A TSC member suggests ranked choice since tamper-proofing is not binary.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991888741", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-12T12:23:38Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991888741", + "summary": "A TSC member reports meeting consensus to drop three options and the REPL ones, leaving five choices.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991889550", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-12T12:27:56Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991889550", + "summary": "He argues to remove the community-survey option as a further delay and the freeze option as the worst of all worlds, and asks whether the bind-this option means waiting for V8.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991899011", + "kind": "comment", + "actor": "bmeck", + "createdAt": "2021-12-12T13:31:05Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991899011", + "summary": "A TSC member raises an unlisted alternative: isolate tamper-proof code in a separate loader thread behind minimal IPC, notes CJS cannot realistically be tamper-proof, and warns C++ hurts contributor accessibility.", + "actorId": 234659, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991948893", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-12T18:38:24Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991948893", + "summary": "A TSC member links a real user report where tampering with array prototypes broke console.log, as evidence of the robustness users expect.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991949977", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-12-12T18:45:54Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991949977", + "summary": "A TSC member explains the bind-this option would use proposal syntax with a build step to transpile it, not wait for V8.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991951850", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-12-12T18:58:22Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991951850", + "summary": "The member links Deno's decision to adopt primordials.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:991976385", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-12T21:47:03Z", + "editedAt": "2021-12-15T22:35:48Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-991976385", + "summary": "A TSC member notes the bind-this proposal is on the TC39 agenda, later deferred to January.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:995261478", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-12-15T22:24:29Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-995261478", + "summary": "A TSC member supports dropping the community-survey option, expecting it would only delay.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:995293861", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-15T23:23:57Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-995293861", + "summary": "A TSC member asks the 20 members who intends to abstain, to plan how to decide.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:995344106", + "kind": "comment", + "actor": "cjihrig", + "createdAt": "2021-12-16T01:01:45Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-995344106", + "summary": "A TSC member will vote asynchronously.", + "actorId": 2512748, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:995345501", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-12-16T01:04:11Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-995345501", + "summary": "A TSC member will abstain, seeing merit on both sides.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:process:labeled:2021-12-16T18:05:17Z", + "kind": "process", + "actor": "mhdawson", + "createdAt": "2021-12-16T18:05:17Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "A TSC member adds the issue to the TSC meeting agenda.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996077724", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2021-12-16T18:37:44Z", + "editedAt": "2021-12-16T18:37:56Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996077724", + "summary": "A TSC member asks whether bind-this is about making primordials ergonomic enough.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996083378", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-16T18:46:01Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996083378", + "summary": "A TSC member confirms and adds it may become standard idiom.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996094613", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-16T19:01:23Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996094613", + "summary": "A TSC member reports from the meeting that upcoming ESM changes will make ESM and policy tamper-proof anyway, so the vote should focus on other modules such as repl, http and console.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996099611", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-16T19:08:27Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996099611", + "summary": "A TSC member asks for reading on how that would work.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996252291", + "kind": "comment", + "actor": "Trott", + "createdAt": "2021-12-16T22:47:02Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996252291", + "summary": "The member links the meeting recording where it was explained.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996266541", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-12-16T23:15:14Z", + "editedAt": "2021-12-17T01:08:36Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996266541", + "summary": "A TSC member proposes six refined vote options, from fully tamper-proof via moving off the main thread through primordials-if-no-perf-regression to no primordials at all, and suggests separate votes per area, starting with the error path.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996272038", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2021-12-16T23:26:03Z", + "editedAt": "2021-12-16T23:26:44Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996272038", + "summary": "A TSC member asks what the options apply to and what porting away from JS means, and now plans to vote.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996278612", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2021-12-16T23:41:16Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996278612", + "summary": "A TSC member summarises the ESM answer as moving loaders off-thread.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996343695", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2021-12-17T01:16:49Z", + "editedAt": "2021-12-17T01:18:38Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996343695", + "summary": "The proposer says the scope will be defined per vote and clarifies the off-thread option, which he does not favour.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996355377", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2021-12-17T01:31:06Z", + "editedAt": "2021-12-20T16:24:21Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996355377", + "summary": "A comment GitHub marks as hidden (duplicate).", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:process:closed:2021-12-17T01:31:06Z", + "kind": "process", + "actor": "joyeecheung", + "createdAt": "2021-12-17T01:31:06Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "A TSC member accidentally closes the issue.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:process:reopened:2021-12-17T01:31:12Z", + "kind": "process", + "actor": "joyeecheung", + "createdAt": "2021-12-17T01:31:12Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "She reopens it immediately.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996355611", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2021-12-17T01:31:41Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996355611", + "summary": "She apologises for pressing the wrong button.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:996358282", + "kind": "comment", + "actor": "joyeecheung", + "createdAt": "2021-12-17T01:39:31Z", + "editedAt": "2021-12-17T01:40:59Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-996358282", + "summary": "She leans toward moving the REPL and loader off JS or the main thread, doubts primordials guarantee tamper-proofing, and says JS loader code is not easier to read in practice.", + "actorId": 4299420, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1006629496", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-06T14:22:46Z", + "editedAt": "2022-01-13T11:11:54Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1006629496", + "summary": "A TSC member formally calls a first vote limited to code on the error path, with six options, and invites objections to scope or wording.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1006645766", + "kind": "comment", + "actor": "bmeck", + "createdAt": "2022-01-06T14:44:20Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1006645766", + "summary": "A TSC member notes bind-this would not remove the need for some primordials and helpers, though more readable.", + "actorId": 234659, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1007446972", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-01-07T14:27:11Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1007446972", + "summary": "A TSC member cites the charter rule that a vote call needs a majority to second it, seconds it, and asks members to thumbs-up his comment.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1007515486", + "kind": "comment", + "actor": "MylesBorins", + "createdAt": "2022-01-07T15:50:45Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1007515486", + "summary": "A TSC member thumbs it up but plans to abstain for lack of context.", + "actorId": 498775, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1009580518", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2022-01-11T04:06:36Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1009580518", + "summary": "A TSC member supports a vote.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1009580930", + "kind": "comment", + "actor": "jasnell", + "createdAt": "2022-01-11T04:07:39Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1009580930", + "summary": "He pings the TSC to weigh in on moving to a vote.", + "actorId": 439929, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1009689655", + "kind": "comment", + "actor": "targos", + "createdAt": "2022-01-11T08:04:39Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1009689655", + "summary": "A TSC member asks to define the error path before voting.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1009820722", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-11T10:25:20Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1009820722", + "summary": "The proposer defines it as code that runs before or inside an unavoidable throw, excluding shared public APIs.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1011813789", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-01-13T05:40:56Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1011813789", + "summary": "A TSC member asks who will set up the voting mechanism.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1011816227", + "kind": "comment", + "actor": "gireeshpunathil", + "createdAt": "2022-01-13T05:46:50Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1011816227", + "summary": "The opener asks the proposer to run the vote.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1011934244", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2022-01-13T09:05:38Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1011934244", + "summary": "A TSC member asks for the error-path definition.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1012036063", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-13T11:10:41Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1012036063", + "summary": "The proposer links the definition and offers to run the vote if votes are public, since he is involved.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1012153810", + "kind": "comment", + "actor": "mcollina", + "createdAt": "2022-01-13T13:49:49Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1012153810", + "summary": "The member asks what full tamper-proofing would require, what stream changes it implies, and why only the error path.", + "actorId": 52195, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1012259850", + "kind": "comment", + "actor": "targos", + "createdAt": "2022-01-13T15:46:43Z", + "editedAt": "2022-01-13T17:44:36Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1012259850", + "summary": "A TSC member questions the value, since tamper-proofing the error path matters less than the normal path.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1012351472", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-13T17:28:20Z", + "editedAt": "2022-01-13T17:40:34Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1012351472", + "summary": "The proposer says it is a starting point where reliability likely beats performance, and explains the result would govern which PRs can land or be blocked.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1012373174", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-01-13T17:55:22Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1012373174", + "summary": "A TSC member says he mainly cares about the non-error path.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1013474070", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2022-01-14T21:07:41Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1013474070", + "summary": "A TSC member supports the vote but asks what the options apply to.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1013570916", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-01-15T01:16:18Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1013570916", + "summary": "A TSC member counts 11 seconds, a majority, and declares the vote on.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1158:pr:1158", + "kind": "opening", + "actor": "aduh95", + "createdAt": "2022-01-26T20:59:42Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "A TSC member opens a PR to hold the error-path vote with a new tool for encrypted ballots committed to a branch, counted by the Condorcet method after about two weeks.", + "actorId": 14309773, + "actorType": "human" + }, + { + "id": "tsc-1104:process:cross-referenced:2022-01-26T20:59:42Z", + "kind": "process", + "actor": "aduh95", + "createdAt": "2022-01-26T20:59:42Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "The proposer links the voting PR #1158.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1158:comment:1022626825", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-01-26T21:38:39Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1022626825", + "summary": "A TSC member asks where the tool's source is, since a file seems missing.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1022661710", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-26T22:28:16Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1022661710", + "summary": "The organiser says the stray file is gone and the repo and package are in sync.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1022663205", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-01-26T22:30:41Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1022663205", + "summary": "The member thanks him.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1023247392", + "kind": "comment", + "actor": "Ginden", + "createdAt": "2022-01-27T14:07:55Z", + "editedAt": "2022-02-05T12:25:07Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1023247392", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 3824055, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1023479367", + "kind": "comment", + "actor": "MylesBorins", + "createdAt": "2022-01-27T17:39:15Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1023479367", + "summary": "A TSC member likes the tool.", + "actorId": 498775, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1024906672", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-01-29T12:55:45Z", + "editedAt": "2022-02-05T12:25:15Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1024906672", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1028189214", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2022-02-02T17:41:41Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1028189214", + "summary": "A TSC member asks whether higher scores mean stronger preference.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1028256945", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-02T18:54:01Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1028256945", + "summary": "The organiser confirms any integer scale works, highest for most preferred.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1028378972", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2022-02-02T21:34:27Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1028378972", + "summary": "The member thanks him.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1104:comment:1029114561", + "kind": "comment", + "actor": "ronag", + "createdAt": "2022-02-03T15:35:50Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1029114561", + "summary": "A TSC member asks how to vote.", + "actorId": 3065230, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:comment:1029286212", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-03T18:38:05Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1029286212", + "summary": "The proposer points to the voting PR.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1158:comment:1029289743", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-03T18:42:31Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1029289743", + "summary": "The organiser reminds the TSC to vote before it closes.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1029294857", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-03T18:48:56Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1029294857", + "summary": "The organiser explains how to abstain while marking a disliked option.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030623797", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-02-05T13:20:55Z", + "editedAt": "2022-02-05T14:40:44Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030623797", + "summary": "A TSC member hits a permissions bug in the shell voting script and reports it.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030643332", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-02-05T15:18:52Z", + "editedAt": "2022-02-05T15:34:38Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030643332", + "summary": "He reports the web ballot omitted author info and adds it by hand.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030875445", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-06T17:18:27Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030875445", + "summary": "A TSC member renames his ballot file to his handle.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030877104", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-06T17:27:38Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030877104", + "summary": "The organiser explains how the handle is chosen for file names.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030878642", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-06T17:35:59Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030878642", + "summary": "The member notes he used a command without the handle flag.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1030881689", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-06T17:54:30Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1030881689", + "summary": "The organiser fixes the tool to sanitise file names.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033007448", + "kind": "comment", + "actor": "danielleadams", + "createdAt": "2022-02-08T19:59:52Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033007448", + "summary": "A TSC member likes the voting method.", + "actorId": 6271256, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033081971", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-08T21:31:59Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033081971", + "summary": "A TSC member likes it too but objects that the encryption relies on one person holding the key.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033129764", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-08T22:32:32Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033129764", + "summary": "The organiser agrees trust should be distributed, perhaps via key splitting or CI, in a future version.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033179502", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-02-08T23:55:17Z", + "editedAt": "2022-02-08T23:55:38Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033179502", + "summary": "A TSC member argues topic votes should be public like legislative votes and encryption could be dropped.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033183524", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-09T00:02:38Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033183524", + "summary": "A TSC member thinks a trustless design is possible and that the key will be revealed after the vote.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033183907", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-09T00:03:13Z", + "editedAt": "2022-02-09T00:22:25Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033183907", + "summary": "The organiser keeps encryption so voters cannot influence each other, but agrees ballots should end up public.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033191815", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-09T00:15:55Z", + "editedAt": "2022-02-09T00:17:22Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033191815", + "summary": "The organiser suggests moving the trust discussion to its own thread.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1033194021", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-09T00:19:31Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1033194021", + "summary": "The member agrees and says he has a rough design.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1037244387", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-12T14:43:14Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1037244387", + "summary": "The organiser announces the vote closes by end of day.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1037554442", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-12T23:00:21Z", + "editedAt": "2022-02-12T23:07:13Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1037554442", + "summary": "The organiser posts results: with about 86% participation, the winning option allows error-path primordials provided performance does not regress significantly, ahead of dropping prototype-method primordials.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041452972", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-16T12:42:04Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041452972", + "summary": "A TSC member is confused whether the winning option endorses or limits primordials.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041481848", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-02-16T13:17:14Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041481848", + "summary": "A TSC member reads it as accepting primordials in error paths unless they regress performance.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041517899", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-16T13:57:20Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041517899", + "summary": "The organiser adds that removing error-path primordials would be refused unless they cause measurable regressions, and agrees future wording should be clearer.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041562538", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-16T14:42:05Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041562538", + "summary": "A TSC member asks whether that means writing error-path benchmarks.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041582974", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-02-16T15:00:54Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041582974", + "summary": "A TSC member asks whether the PR should now land.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041597383", + "kind": "comment", + "actor": "aduh95", + "createdAt": "2022-02-16T15:13:48Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041597383", + "summary": "The organiser says ballots must be decrypted first and a participation record added.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041625918", + "kind": "comment", + "actor": "RaisinTen", + "createdAt": "2022-02-16T15:21:59Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041625918", + "summary": "A TSC member thinks benchmarks would be required, so a pending error-path PR would be blocked.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041629605", + "kind": "comment", + "actor": "ljharb", + "createdAt": "2022-02-16T15:22:30Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041629605", + "summary": "A TSC member asks about code outside the error path.", + "actorId": 45469, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041654235", + "kind": "comment", + "actor": "tniessen", + "createdAt": "2022-02-16T15:25:35Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041654235", + "summary": "A TSC member says that was out of scope and more votes should follow.", + "actorId": 3109072, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1041813462", + "kind": "comment", + "actor": "targos", + "createdAt": "2022-02-16T15:55:58Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1041813462", + "summary": "A TSC member thought error-path performance was not a concern at all, and only effects on normal paths would block a change.", + "actorId": 2352663, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1042554497", + "kind": "comment", + "actor": "Trott", + "createdAt": "2022-02-17T04:09:43Z", + "editedAt": "2022-02-17T04:09:58Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1042554497", + "summary": "A TSC member agrees error-path performance has never been a priority.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review-comment:811444606", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2022-02-21T21:49:09Z", + "url": "https://github.com/nodejs/TSC/pull/1158#discussion_r811444606", + "summary": "The organiser suggests a formatting fix to the results file.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:process:ready_for_review:2022-02-21T21:49:34Z", + "kind": "process", + "actor": "aduh95", + "createdAt": "2022-02-21T21:49:34Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "The organiser marks the vote PR ready for review.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review:889122333", + "kind": "review", + "actor": "mhdawson", + "createdAt": "2022-02-21T21:50:40Z", + "url": "https://github.com/nodejs/TSC/pull/1158#pullrequestreview-889122333", + "summary": "A TSC member approves.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1047251288", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2022-02-21T21:50:54Z", + "editedAt": "2022-02-21T21:52:27Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1047251288", + "summary": "The member says voting on the error path before the main path made him vote conservatively.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review-comment:811549348", + "kind": "review-comment", + "actor": "gireeshpunathil", + "createdAt": "2022-02-22T03:27:08Z", + "url": "https://github.com/nodejs/TSC/pull/1158#discussion_r811549348", + "summary": "The opener of the issue says his vote is missing from the results file.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review-comment:811724673", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2022-02-22T09:12:13Z", + "editedAt": "2022-02-22T09:12:14Z", + "url": "https://github.com/nodejs/TSC/pull/1158#discussion_r811724673", + "summary": "The organiser adds the missing ballot, which ranked moving off the main thread highest.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review-comment:811729666", + "kind": "review-comment", + "actor": "aduh95", + "createdAt": "2022-02-22T09:17:45Z", + "url": "https://github.com/nodejs/TSC/pull/1158#discussion_r811729666", + "summary": "The organiser apologises for the omission and links the fix.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:review-comment:811549348" + }, + { + "id": "tsc-1158:review:889596569", + "kind": "review", + "actor": "gireeshpunathil", + "createdAt": "2022-02-22T10:35:12Z", + "url": "https://github.com/nodejs/TSC/pull/1158#pullrequestreview-889596569", + "summary": "The issue opener approves.", + "actorId": 6447530, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:review:889975786", + "kind": "review", + "actor": "RaisinTen", + "createdAt": "2022-02-22T15:35:25Z", + "url": "https://github.com/nodejs/TSC/pull/1158#pullrequestreview-889975786", + "summary": "A TSC member approves.", + "actorId": 42526976, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:comment:1049240484", + "kind": "comment", + "actor": "BridgeAR", + "createdAt": "2022-02-23T21:39:52Z", + "url": "https://github.com/nodejs/TSC/pull/1158#issuecomment-1049240484", + "summary": "A TSC member questions why the performance option was offered if it is treated like full tamper-proofing, suggesting the vote might have gone differently.", + "actorId": 8822573, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1104:comment:1049241476", + "kind": "comment", + "actor": "mhdawson", + "createdAt": "2022-02-23T21:41:13Z", + "url": "https://github.com/nodejs/TSC/issues/1104#issuecomment-1049241476", + "summary": "A TSC member reports the meeting agreed to close this issue and open new ones for follow-on votes.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1104:process:closed:2022-02-23T21:41:13Z", + "kind": "process", + "actor": "mhdawson", + "createdAt": "2022-02-23T21:41:13Z", + "url": "https://github.com/nodejs/TSC/issues/1104", + "summary": "The issue is closed.", + "actorId": 9373002, + "actorType": "human", + "parentId": "tsc-1104:issue:1104" + }, + { + "id": "tsc-1158:review:891756932", + "kind": "review", + "actor": "Trott", + "createdAt": "2022-02-23T22:10:27Z", + "url": "https://github.com/nodejs/TSC/pull/1158#pullrequestreview-891756932", + "summary": "A TSC member approves after testing the tooling.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:process:merged:2022-02-23T22:11:59Z", + "kind": "process", + "actor": "Trott", + "createdAt": "2022-02-23T22:11:59Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "The vote PR is merged.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:process:closed:2022-02-23T22:12:00Z", + "kind": "process", + "actor": "Trott", + "createdAt": "2022-02-23T22:12:00Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "The vote PR closes on merge.", + "actorId": 718899, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:process:cross-referenced:2022-02-24T10:58:32Z", + "kind": "process", + "actor": "aduh95", + "createdAt": "2022-02-24T10:58:32Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "The organiser links a Node core PR adding primordials guidelines to the docs.", + "actorId": 14309773, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + }, + { + "id": "tsc-1158:process:cross-referenced:2024-04-16T17:18:21Z", + "kind": "process", + "actor": "avivkeller", + "createdAt": "2024-04-16T17:18:21Z", + "url": "https://github.com/nodejs/TSC/pull/1158", + "summary": "A contributor later links a docs PR about using primordials when coding.", + "actorId": 38299977, + "actorType": "human", + "parentId": "tsc-1158:pr:1158" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/typescript-node12-esm-mode.json b/evals/datasets/decisions-v1/cases/typescript-node12-esm-mode.json new file mode 100644 index 000000000..ffd780f12 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/typescript-node12-esm-mode.json @@ -0,0 +1,1195 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "typescript-node12-esm-mode", + "title": "module node12 and nodenext in TypeScript", + "source": { + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "retrievedAt": "2026-10-18T07:25:35.775255+00:00", + "repository": "microsoft/TypeScript", + "number": 44501 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-06-17T21:00:00Z" + }, + { + "id": "c2", + "at": "2021-07-01T12:00:00Z" + }, + { + "id": "c3", + "at": "2021-09-24T12:00:00Z" + }, + { + "id": "c4", + "at": "2021-09-25T00:00:00Z" + } + ], + "events": [ + { + "id": "typescript-44501:pr:44501", + "kind": "opening", + "actor": "weswigham", + "createdAt": "2021-06-08T04:57:20Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A maintainer adds module: node12 and nodenext options so .ts and .js files compile as ESM or CJS within one program based on the nearest package.json type field, transpiling import-equals to createRequire in ESM and keeping dynamic import in CJS, with implied resolution, target and esModuleInterop settings.", + "actorId": 2932786, + "actorType": "human" + }, + { + "id": "typescript-44501:comment:856439421", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-06-08T04:57:30Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-856439421", + "summary": "The opener asks the bot to pack a build.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:856439501", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-08T04:57:46Z", + "editedAt": "2021-06-08T04:57:50Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-856439501", + "summary": "A bot starts packing a build.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:856448137", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-08T05:16:25Z", + "editedAt": "2021-06-08T05:20:48Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-856448137", + "summary": "A bot posts an installable build and playground.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861027174", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-06-14T22:08:13Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861027174", + "summary": "The opener asks the bot to pack a build.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861027201", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-14T22:08:15Z", + "editedAt": "2021-06-14T22:08:20Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861027201", + "summary": "A bot starts packing a build.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861029210", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-06-14T22:12:45Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861029210", + "summary": "The opener asks the bot to run extended tests.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861029218", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-14T22:12:46Z", + "editedAt": "2021-06-14T22:12:49Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861029218", + "summary": "A bot starts the extended test suite.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861035471", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-14T22:28:23Z", + "editedAt": "2021-06-14T22:31:54Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861035471", + "summary": "A bot posts an installable build and playground.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861037779", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-06-14T22:34:33Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861037779", + "summary": "The opener asks the bot to run extended tests again.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:861037791", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-06-14T22:34:35Z", + "editedAt": "2021-06-14T22:34:37Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-861037791", + "summary": "A bot starts the extended test suite.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-06-17T18:48:11Z", + "kind": "process", + "actor": "jessetrinity", + "createdAt": "2021-06-17T18:48:11Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A maintainer links a related PR on import specifier endings in completions.", + "actorId": 42591254, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:653853350", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-17T18:55:46Z", + "editedAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653853350", + "summary": "A maintainer asks why an ancestor-directory helper is not used.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review:686693234" + }, + { + "id": "typescript-44501:review-comment:653856395", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-17T19:00:15Z", + "editedAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653856395", + "summary": "A maintainer suggests exporting a parameter type.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review:686693234" + }, + { + "id": "typescript-44501:review-comment:653863173", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-17T19:11:34Z", + "editedAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653863173", + "summary": "A maintainer asks why the createRequire transform depends on script target rather than the node module mode, since it is useless for browser ESM.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review:686693234" + }, + { + "id": "typescript-44501:review-comment:653880084", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-17T19:39:35Z", + "editedAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653880084", + "summary": "A maintainer checks that ES2015 to ESNext modes are for browser ESM and that no resolution mode suits them.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review:686693234" + }, + { + "id": "typescript-44501:review-comment:653901431", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-17T20:10:24Z", + "editedAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653901431", + "summary": "A maintainer asks about the drive-by declaration fix and suggests clearer comment wording.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review:686693234" + }, + { + "id": "typescript-44501:review:686693234", + "kind": "review", + "actor": "andrewbranch", + "createdAt": "2021-06-17T20:22:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#pullrequestreview-686693234", + "summary": "A maintainer requests changes, with only the transform-gating question blocking.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:653944948", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-06-17T21:08:03Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653944948", + "summary": "The opener says the construct still errors outside node modes but the node-style output is reasonable and may work on runtimes with CJS interop.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:653863173" + }, + { + "id": "typescript-44501:review-comment:653945794", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-06-17T21:08:55Z", + "editedAt": "2021-06-17T21:08:56Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653945794", + "summary": "The opener confirms no resolution mode understands URLs, so classic is closest.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:653880084" + }, + { + "id": "typescript-44501:review-comment:653946401", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-06-17T21:09:32Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r653946401", + "summary": "The opener explains what a shorthand ambient module is.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:653901431" + }, + { + "id": "typescript-44501:review:687525032", + "kind": "review", + "actor": "andrewbranch", + "createdAt": "2021-06-18T15:23:28Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#pullrequestreview-687525032", + "summary": "A maintainer approves.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:654519821", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-06-18T15:26:30Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r654519821", + "summary": "A maintainer accepts the explanation and praises the createRequire helper.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review-comment:653863173" + }, + { + "id": "typescript-44501:review-comment:655778910", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-21T23:49:56Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655778910", + "summary": "A maintainer suggests a doc wording fix.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review-comment:655779245", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-21T23:50:58Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655779245", + "summary": "A maintainer suggests a doc fix and moving a cache parameter last.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review-comment:655783209", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-22T00:02:11Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655783209", + "summary": "A maintainer asks whether a field could be named nodeFormat.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review-comment:655787454", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-22T00:14:36Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655787454", + "summary": "A maintainer asks whether a long comment appears in public quick info.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review-comment:655787597", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-22T00:14:52Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655787597", + "summary": "A maintainer suggests a comment fix.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review-comment:655789375", + "kind": "review-comment", + "actor": "sandersn", + "createdAt": "2021-06-22T00:20:00Z", + "editedAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r655789375", + "summary": "A maintainer suggests a doc fix.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:review:688949224" + }, + { + "id": "typescript-44501:review:688949224", + "kind": "review", + "actor": "sandersn", + "createdAt": "2021-06-22T00:24:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#pullrequestreview-688949224", + "summary": "A maintainer leaves typo fixes.", + "actorId": 293473, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review:689580290", + "kind": "review", + "actor": "andrewbranch", + "createdAt": "2021-06-22T14:25:32Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#pullrequestreview-689580290", + "summary": "A maintainer requests changes so that completions and auto-imports always write full extensions under the new resolution modes.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:866415279", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-06-23T00:02:56Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-866415279", + "summary": "The opener argues that can wait because the new resolution rules are not in this PR yet.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review:690758457", + "kind": "review", + "actor": "andrewbranch", + "createdAt": "2021-06-23T14:45:43Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#pullrequestreview-690758457", + "summary": "A maintainer approves.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:871798521", + "kind": "comment", + "actor": "AlbertMarashi", + "createdAt": "2021-06-30T23:49:44Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-871798521", + "summary": "A user asks what the PR is waiting on.", + "actorId": 17972275, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:871799424", + "kind": "comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-06-30T23:52:27Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-871799424", + "summary": "A maintainer says it will likely land in 4.5 after more review and scenario testing.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:871891995", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-07-01T03:50:06Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-871891995", + "summary": "The opener says this PR must land together with the extension and resolution follow-ups to avoid partial support in a release.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:668299845", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-07-12T22:32:43Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r668299845", + "summary": "The opener keeps the implied prefix so the name points to Node the platform rather than AST nodes.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:655783209" + }, + { + "id": "typescript-44501:review-comment:668300287", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-07-12T22:33:52Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r668300287", + "summary": "The opener says the comment is internal rationale only.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:655787454" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-07-12T23:20:17Z", + "kind": "process", + "actor": "weswigham", + "createdAt": "2021-07-12T23:20:17Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "The opener links the follow-up extension support PR on his fork.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:878661855", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-07-12T23:21:11Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-878661855", + "summary": "The opener announces the extension support follow-up targeting this branch.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:887807726", + "kind": "comment", + "actor": "CraigMacomber", + "createdAt": "2021-07-27T20:20:08Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-887807726", + "summary": "A user reports the build fixed one package but broke parsing of import type in declaration files.", + "actorId": 42876482, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:897308277", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-08-12T02:56:49Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-897308277", + "summary": "A contributor proposes hyphenated names node-12 and node-next.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:687368104", + "kind": "review-comment", + "actor": "Jack-Works", + "createdAt": "2021-08-12T03:53:01Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r687368104", + "summary": "A contributor asks for normalized compiler options to avoid repeated lookups.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:897358228", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-08-12T05:24:08Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-897358228", + "summary": "The opener says hyphens cause command line parsing problems.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:687397965", + "kind": "review-comment", + "actor": "weswigham", + "createdAt": "2021-08-12T05:26:28Z", + "editedAt": "2021-08-12T05:26:38Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r687397965", + "summary": "The opener says normalizing would need tracking processed and raw options through types.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:review-comment:687368104" + }, + { + "id": "typescript-44501:comment:897688573", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-08-12T14:29:53Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-897688573", + "summary": "The contributor is surprised hyphens matter in option values.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:898095484", + "kind": "comment", + "actor": "Jamesernator", + "createdAt": "2021-08-13T01:42:52Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-898095484", + "summary": "A user notes most option values are camelCase and module values are case-insensitive already.", + "actorId": 8518303, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:688458507", + "kind": "review-comment", + "actor": "ewlsh", + "createdAt": "2021-08-13T11:58:40Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r688458507", + "summary": "A user from GNOME's JavaScript runtime notes their ESM users rely on the ES module settings.", + "actorId": 2943271, + "actorType": "human", + "parentId": "typescript-44501:review-comment:653880084" + }, + { + "id": "typescript-44501:comment:904702898", + "kind": "comment", + "actor": "bmeck", + "createdAt": "2021-08-24T14:40:24Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-904702898", + "summary": "A Node contributor asks whether his earlier concern about default exports is handled.", + "actorId": 234659, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:906785271", + "kind": "comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-08-26T22:27:53Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-906785271", + "summary": "A maintainer asks the bot to pack a build.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:906785288", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-08-26T22:27:56Z", + "editedAt": "2021-08-26T22:28:00Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-906785288", + "summary": "A bot starts packing a build.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:906791896", + "kind": "comment", + "actor": "typescript-bot", + "createdAt": "2021-08-26T22:44:46Z", + "editedAt": "2021-08-26T22:49:00Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-906791896", + "summary": "A bot posts an installable build and playground.", + "actorId": 23042052, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:907506369", + "kind": "comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-08-27T22:23:17Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-907506369", + "summary": "A maintainer reports that changing package.json does not trigger watch rebuilds or switch emit format without deleting build info.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:907507513", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-08-27T22:27:12Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-907507513", + "summary": "The opener says the follow-up PR handles that.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-09-08T09:02:59Z", + "kind": "process", + "actor": "mrmckeb", + "createdAt": "2021-09-08T09:02:59Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A user links a downstream package adding ESM support.", + "actorId": 5043083, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:918228733", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-09-13T14:07:15Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-918228733", + "summary": "A contributor asks why nodenext requires type module in package.json.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:708647245", + "kind": "review-comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-09-14T21:30:07Z", + "editedAt": "2021-09-14T21:40:44Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r708647245", + "summary": "A maintainer worries that module implying target feels circular, though he had suggested it.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:708647788", + "kind": "review-comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-09-14T21:31:05Z", + "editedAt": "2021-09-14T21:40:44Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r708647788", + "summary": "A maintainer asks how transpileModule decides ESM or CJS without package.json.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:708651772", + "kind": "review-comment", + "actor": "DanielRosenwasser", + "createdAt": "2021-09-14T21:37:54Z", + "editedAt": "2021-09-14T21:40:44Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r708651772", + "summary": "A maintainer asks for a clearer comment on the import.meta.url condition.", + "actorId": 972891, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:922159332", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-09-18T01:53:09Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-922159332", + "summary": "A contributor reports confusing errors importing .mts files and that only the .mjs specifier works.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:922159465", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-09-18T01:54:03Z", + "editedAt": "2021-09-18T01:55:21Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-922159465", + "summary": "The contributor adds that auto-import omits the extension.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:922259930", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-09-18T11:05:18Z", + "editedAt": "2021-09-18T11:06:56Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-922259930", + "summary": "The opener says the diagnostic should name the emitted extension and auto-import should prefer extensions in ESM import sites.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:922332071", + "kind": "comment", + "actor": "ctjlewis", + "createdAt": "2021-09-18T15:57:52Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-922332071", + "summary": "A contributor praises the work and links a related specifier discussion.", + "actorId": 1657236, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:712337454", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-09-20T16:39:33Z", + "editedAt": "2021-09-20T16:39:34Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r712337454", + "summary": "A maintainer suggests clearer diagnostic wording.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:review-comment:714148370", + "kind": "review-comment", + "actor": "andrewbranch", + "createdAt": "2021-09-22T17:11:44Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#discussion_r714148370", + "summary": "A maintainer suggests transpileModule callers could use a .mts or .cts file name.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:review-comment:708647788" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-09-23T15:24:46Z", + "kind": "process", + "actor": "kalvenschraut", + "createdAt": "2021-09-23T15:24:46Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A user links a downstream ESM config PR.", + "actorId": 30308012, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:926960500", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2021-09-24T22:59:20Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-926960500", + "summary": "The opener says the work was merged through the combined PR #45884.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:closed:2021-09-24T22:59:20Z", + "kind": "process", + "actor": "weswigham", + "createdAt": "2021-09-24T22:59:20Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "The opener closes the PR in favour of the combined PR.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:932801251", + "kind": "comment", + "actor": "mattbishop", + "createdAt": "2021-10-02T18:40:59Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-932801251", + "summary": "A user asks whether local imports may use .ts extensions as in Deno.", + "actorId": 363909, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:932943161", + "kind": "comment", + "actor": "orta", + "createdAt": "2021-10-03T12:41:58Z", + "editedAt": "2021-10-08T12:19:37Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-932943161", + "summary": "A team member says no for Node ESM, links prior decisions, suggests a Deno mode might allow it later, and warns repeats will be marked duplicate.", + "actorId": 49038, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:932997814", + "kind": "comment", + "actor": "mattbishop", + "createdAt": "2021-10-03T18:00:13Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-932997814", + "summary": "The user worries this splits TypeScript into Deno and Node flavours.", + "actorId": 363909, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:933142870", + "kind": "comment", + "actor": "Jack-Works", + "createdAt": "2021-10-04T04:57:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-933142870", + "summary": "A contributor notes declaration files would also differ by resolution mode.", + "actorId": 5390719, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:933636369", + "kind": "comment", + "actor": "Pacjonek", + "createdAt": "2021-10-04T16:11:26Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-933636369", + "summary": "A user asks why the compiler cannot rewrite .ts to .js and calls .js imports unpleasant.", + "actorId": 8076994, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:933669847", + "kind": "comment", + "actor": "simllll", + "createdAt": "2021-10-04T16:53:07Z", + "editedAt": "2021-10-05T10:08:45Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-933669847", + "summary": "A user reports dynamic imports still compiled to require under the beta.", + "actorId": 5757263, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:933698094", + "kind": "comment", + "actor": "simllll", + "createdAt": "2021-10-04T17:27:52Z", + "editedAt": "2021-10-04T17:37:47Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-933698094", + "summary": "The user traces it to an inherited moduleResolution setting.", + "actorId": 5757263, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:938153204", + "kind": "comment", + "actor": "danrivett", + "createdAt": "2021-10-07T21:02:17Z", + "editedAt": "2021-10-08T12:09:28Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-938153204", + "summary": "A comment GitHub marks as hidden (duplicate) arguing the compiler should rewrite extensionless imports to .js.", + "actorId": 30873208, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:938158047", + "kind": "comment", + "actor": "ctjlewis", + "createdAt": "2021-10-07T21:09:45Z", + "editedAt": "2021-10-08T12:09:34Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-938158047", + "summary": "A comment GitHub marks as hidden (duplicate) supporting an opt-in import rewriting flag and quoting a maintainer's refusal.", + "actorId": 1657236, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:938201054", + "kind": "comment", + "actor": "danrivett", + "createdAt": "2021-10-07T22:32:01Z", + "editedAt": "2021-10-08T12:09:40Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-938201054", + "summary": "A comment GitHub marks as hidden (duplicate) arguing rewriting is a syntax change, not a runtime one.", + "actorId": 30873208, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:938210972", + "kind": "comment", + "actor": "ctjlewis", + "createdAt": "2021-10-07T22:54:58Z", + "editedAt": "2021-10-08T12:09:46Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-938210972", + "summary": "A comment GitHub marks as hidden (duplicate) agreeing and saying maintainers consider it settled.", + "actorId": 1657236, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:941677868", + "kind": "comment", + "actor": "renke", + "createdAt": "2021-10-12T22:30:15Z", + "editedAt": "2021-10-12T22:38:46Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-941677868", + "summary": "A user reports auto-import and watch problems with exports.", + "actorId": 25464, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:941682949", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-10-12T22:34:02Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-941682949", + "summary": "A maintainer asks for separate issues with repros.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:941694118", + "kind": "comment", + "actor": "renke", + "createdAt": "2021-10-12T22:42:10Z", + "editedAt": "2021-10-12T22:42:22Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-941694118", + "summary": "The user asks how best to provide a repro.", + "actorId": 25464, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:941698731", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-10-12T22:45:31Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-941698731", + "summary": "A maintainer suggests trying the nightly and a small repo.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:941780794", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-10-13T00:09:53Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-941780794", + "summary": "A maintainer links an existing watch mode issue.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-11-05T15:42:12Z", + "kind": "process", + "actor": "tylersayshi", + "createdAt": "2021-11-05T15:42:12Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A user links a downstream TypeScript migration.", + "actorId": 26290074, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:965277514", + "kind": "comment", + "actor": "benjie", + "createdAt": "2021-11-10T14:32:13Z", + "editedAt": "2021-11-10T14:36:42Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-965277514", + "summary": "A user reports package self-referencing fails under nodenext.", + "actorId": 129910, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:965561477", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-11-10T17:16:29Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-965561477", + "summary": "A maintainer confirms a bug and files it.", + "actorId": 3277153, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:965766399", + "kind": "comment", + "actor": "benjie", + "createdAt": "2021-11-10T21:37:01Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-965766399", + "summary": "The user reports a follow-on overwrite error.", + "actorId": 129910, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:cross-referenced:2021-11-24T15:11:10Z", + "kind": "process", + "actor": "weswigham", + "createdAt": "2021-11-24T15:11:10Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "The opener links a DefinitelyTyped export map change.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:980097547", + "kind": "comment", + "actor": "arpowers", + "createdAt": "2021-11-26T16:21:18Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-980097547", + "summary": "A user asks for guidance on lint rules and extension conventions across a large project.", + "actorId": 308134, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:986962155", + "kind": "comment", + "actor": "loynoir", + "createdAt": "2021-12-06T16:54:56Z", + "editedAt": "2021-12-06T17:03:30Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-986962155", + "summary": "A user proposes syntax sugar for fallback requires.", + "actorId": 78727408, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207262692", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2022-08-06T18:44:14Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207262692", + "summary": "A user asks to extend export-map type lookup to the old node resolution mode.", + "actorId": 29990554, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207271767", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2022-08-06T19:36:17Z", + "editedAt": "2022-08-06T19:46:13Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207271767", + "summary": "The opener declines because old Node lacks exports support, points to a planned more flexible mode, and says the example map is incomplete.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207296519", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2022-08-06T23:16:03Z", + "editedAt": "2022-08-06T23:20:08Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207296519", + "summary": "The user asks whether the default resolution will eventually support exports and how to type each condition.", + "actorId": 29990554, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207319496", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2022-08-07T02:47:03Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207319496", + "summary": "The opener says the init default may change soon but the compiler default only slowly since it breaks things.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207320104", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2022-08-07T02:53:55Z", + "editedAt": "2022-08-07T02:55:12Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207320104", + "summary": "The opener asks for the beta blog example to be fixed and gives the right shape.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207402007", + "kind": "comment", + "actor": "nayeemrmn", + "createdAt": "2022-08-07T12:52:35Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207402007", + "summary": "The user notes the docs link to the older post.", + "actorId": 29990554, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207511949", + "kind": "comment", + "actor": "lgarron", + "createdAt": "2022-08-07T23:54:46Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207511949", + "summary": "A library author asks where to track the default change.", + "actorId": 248078, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1207517899", + "kind": "comment", + "actor": "weswigham", + "createdAt": "2022-08-08T00:16:56Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1207517899", + "summary": "The opener says no issue tracks it.", + "actorId": 2932786, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:comment:1208053317", + "kind": "comment", + "actor": "thw0rted", + "createdAt": "2022-08-08T12:18:22Z", + "editedAt": "2022-08-08T12:19:33Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501#issuecomment-1208053317", + "summary": "A user asks how the one-js-one-d.ts rule applies to DefinitelyTyped packages.", + "actorId": 943160, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:cross-referenced:2022-08-09T07:22:55Z", + "kind": "process", + "actor": "orta", + "createdAt": "2022-08-09T07:22:55Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "A team member links a website docs fix for the resolution option.", + "actorId": 49038, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + }, + { + "id": "typescript-44501:process:locked:2025-10-21T23:52:21Z", + "kind": "process", + "actor": "microsoft", + "createdAt": "2025-10-21T23:52:21Z", + "url": "https://github.com/microsoft/TypeScript/pull/44501", + "summary": "The conversation is locked.", + "actorId": 6154722, + "actorType": "human", + "parentId": "typescript-44501:pr:44501" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/uuid6-alt-text-encoding.json b/evals/datasets/decisions-v1/cases/uuid6-alt-text-encoding.json new file mode 100644 index 000000000..a3f1a96a3 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/uuid6-alt-text-encoding.json @@ -0,0 +1,1113 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "uuid6-alt-text-encoding", + "title": "Alternate text encodings for new UUIDs", + "source": { + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "retrievedAt": "2026-10-18T07:35:36.576120+00:00", + "repository": "uuid6/new-uuid-encoding-techniques-ietf-draft", + "number": 3 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-03-05T00:00:00Z" + }, + { + "id": "c2", + "at": "2022-03-03T06:00:00Z" + }, + { + "id": "c3", + "at": "2022-03-16T21:00:00Z" + }, + { + "id": "c4", + "at": "2022-03-16T22:00:00Z" + } + ], + "events": [ + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:issue:3", + "kind": "opening", + "actor": "fabiolimace", + "createdAt": "2020-03-03T06:30:05Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "A user asks the draft to use the existing base32hex alphabet from RFC 4648 rather than inventing a new base32 alphabet.", + "actorId": 808846, + "actorType": "human" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761006", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2020-03-07T18:57:31Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761006", + "summary": "A draft editor explains the custom alphabet exists so text sorts like the raw bytes, valuable for database keys, and floats switching to Crockford's base32.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761015", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2020-03-07T21:10:49Z", + "editedAt": "2022-04-18T20:56:29Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761015", + "summary": "The opener notes base32hex already sorts correctly but agrees Crockford's is better, as it avoids look-alike characters and accidental profanity and is used by ULID.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761017", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2020-03-07T21:31:16Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761017", + "summary": "The editor will adopt Crockford's base32 next revision, judging a correctly sorting format a better fit than reusing the existing standard.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761018", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2020-03-07T22:22:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761018", + "summary": "The opener has no objection and considers the issue resolved.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:closed:2020-03-07T22:23:06Z", + "kind": "process", + "actor": "bradleypeabody", + "createdAt": "2020-03-07T22:23:06Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The editor closes the issue.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:renamed:2020-12-21T10:34:36Z", + "kind": "process", + "actor": "fabiolimace", + "createdAt": "2020-12-21T10:34:36Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The opener makes a small wording change to the title.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761020", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2020-12-21T10:50:05Z", + "editedAt": "2020-12-21T11:00:54Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761020", + "summary": "The opener points to a separate IETF draft proposing a compact base64url or base32 UUID form.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761022", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2020-12-31T22:34:09Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761022", + "summary": "The editor will look into it and try to collaborate with its author.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761024", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2021-04-09T16:42:12Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761024", + "summary": "The editor reports writing to that draft's author.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761027", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2021-04-09T20:19:10Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761027", + "summary": "The opener asks whether to reopen the issue to show work in progress.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761030", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2021-04-09T20:22:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761030", + "summary": "The editor agrees and reopens.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:reopened:2021-04-09T20:22:45Z", + "kind": "process", + "actor": "bradleypeabody", + "createdAt": "2021-04-09T20:22:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The editor reopens the issue.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761033", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2021-05-26T02:06:30Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761033", + "summary": "A UUID library author supports base32 or base58 to shorten UUIDs, prefers lowercase, and hopes the compact-name draft is merged in.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761036", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2021-05-26T03:01:39Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761036", + "summary": "The editor notes the current draft has no alternate encoding but personally favours documenting Crockford's base32.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:labeled:2022-01-31T14:33:06Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-01-31T14:33:06Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "A co-editor marks the topic out of scope.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:closed:2022-01-31T14:33:10Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-01-31T14:33:10Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor closes the issue.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:cross-referenced:2022-02-19T12:57:08Z", + "kind": "process", + "actor": "bradleypeabody", + "createdAt": "2022-02-19T12:57:08Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The editor links the Draft 03 pull request, which reintroduces encoding text.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:reopened:2022-02-22T22:03:49Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-02-22T22:03:49Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor reopens the issue.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:unlabeled:2022-02-22T22:04:05Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-02-22T22:04:05Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor removes the out-of-scope label.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:labeled:2022-02-22T22:04:05Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-02-22T22:04:05Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor labels it a discussion.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761039", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-02-23T00:39:56Z", + "editedAt": "2022-02-23T03:27:07Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761039", + "summary": "The opener lists open questions: RFC 4648 bit-group encoding versus modulo arithmetic, how to write a base32 URN, letter case, and whether Crockford's lenient decoding breaks uniqueness.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:renamed:2022-02-23T03:03:37Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-02-23T03:03:37Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor retitles the issue as a general discussion of alternate text encodings.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761042", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-02-23T03:03:55Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761042", + "summary": "The co-editor reopens it and links a review thread from the Draft 03 pull request.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761043", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-02-23T20:09:47Z", + "editedAt": "2022-02-23T20:13:25Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761043", + "summary": "The library author wants lowercase whatever is chosen, lists base32 variants including Crockford, z-base-32 and geohash, mentions base58, and offers sample encodings.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761045", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-02-23T21:31:00Z", + "editedAt": "2022-02-23T21:51:16Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761045", + "summary": "The opener argues base32hex needs fewer caveats than Crockford, notes geohash is also friendly, and shows with SQL that mixed-case alphabets like base58 or base62 sort inconsistently under common collations.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761047", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-02-24T04:54:49Z", + "editedAt": "2022-02-24T04:55:44Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761047", + "summary": "The editor agrees case-sensitive formats are unwise for ordering, drafts concise Crockford encoding rules, and suggests ULID becomes compatible with UUIDv7.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761048", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-02-24T05:03:10Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761048", + "summary": "The editor argues for exactly one extra format that is compact, case-insensitive, byte-order sortable and easy to tell from hex, to keep parsing simple.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761049", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-02-24T11:51:52Z", + "editedAt": "2022-02-24T12:09:05Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761049", + "summary": "The opener shows ULID's encoding differs from RFC 4648 output, so compatibility does not hold.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761051", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-02-24T17:00:38Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761051", + "summary": "The editor concedes the ULID point.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761053", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-02-24T17:38:05Z", + "editedAt": "2022-02-24T17:46:19Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761053", + "summary": "The opener explains why ULID encodes its parts separately.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761056", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-02-27T01:16:03Z", + "editedAt": "2022-02-27T01:30:52Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761056", + "summary": "A contributor notes base32hex can use built-in language features, and challenges the group to compare more compact bases before settling.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761060", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-02-27T06:30:33Z", + "editedAt": "2022-02-27T06:49:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761060", + "summary": "The opener agrees alphabets can be translated trivially.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761062", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-02-27T08:27:26Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761062", + "summary": "The contributor shows plain modulo base36 breaks sort order for extended IDs, and urges weighing bases 36, 58 and 62 rather than the easy option.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761067", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-02-27T08:33:46Z", + "editedAt": "2022-02-27T08:36:17Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761067", + "summary": "The library author restates that bases above 32 need mixed case or symbols, and now leans to unpadded geohash base32.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761069", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-02-27T12:22:46Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761069", + "summary": "The contributor argues compact JSON transport may matter more than database collation, and questions the value of friendly alphabets over base32hex.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761072", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-03-03T01:35:50Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761072", + "summary": "The library author shifts toward base58 or base62, arguing people copy rather than read IDs and collations can be changed.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761075", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-03T02:26:34Z", + "editedAt": "2022-03-03T02:26:50Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761075", + "summary": "The editor lays out the core trade-off as shorter IDs versus case-insensitive IDs versus allowing both, noting that multiple formats make parsing ambiguous.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761078", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-03T12:04:12Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761078", + "summary": "The contributor suggests specifying both a case-insensitive and a compact format so libraries interoperate, pairing base36 with base62 or base32 with base64.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761080", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-04T08:30:06Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761080", + "summary": "The editor reflects that an application usually picks one canonical text form and will think further.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761083", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-03-04T09:11:25Z", + "editedAt": "2022-03-05T09:39:27Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761083", + "summary": "The opener prefers base32hex, or base64url when ordering does not matter, and floats letter-only base52 and base48 alphabets.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761088", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-04T15:52:19Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761088", + "summary": "A contributor suggests alternate encodings belong in a separate spec.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761090", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-04T17:29:24Z", + "editedAt": "2022-03-04T17:33:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761090", + "summary": "The editor insists the document must answer what a library's String method should return, or much of its value is lost.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761093", + "kind": "comment", + "actor": "cbandy", + "createdAt": "2022-03-05T03:27:58Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761093", + "summary": "A user asks for a source for the claim that JSON encodes binary as base64.", + "actorId": 106560, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761095", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-05T07:24:43Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761095", + "summary": "The contributor likes base52 for avoiding leading zeros and argues text format is urgent, though the familiar hex form should stay the default.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761098", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-03-05T10:35:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761098", + "summary": "The library author likes both new alphabets.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761099", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-05T16:38:00Z", + "editedAt": "2022-03-05T16:45:17Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761099", + "summary": "A UUID library maintainer questions adding any new format, valuing one canonical form, and ties it to whether the RFC replaces or extends RFC 4122.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761103", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-05T20:20:29Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761103", + "summary": "The editor concedes the JSON point and walks through a web-shop scenario where IDs appear in databases, email addresses, URLs and IoT payloads.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761106", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-03-05T23:37:07Z", + "editedAt": "2022-03-05T23:51:34Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761106", + "summary": "The opener says non-power-of-two bases need big-integer modulo arithmetic and shares sample code.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761108", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-06T00:22:53Z", + "editedAt": "2022-03-07T12:07:39Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761108", + "summary": "The contributor shares a general base conversion routine and simple base36 and base32 versions to show the code is small.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761115", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-06T09:00:09Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761115", + "summary": "The contributor argues the text format drives people to UUID alternatives, but that the new RFC should keep 8-4-4-4-12 as the mandatory canonical form and recommend extra formats.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761118", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-03-06T11:10:21Z", + "editedAt": "2022-03-06T11:37:44Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761118", + "summary": "The opener praises the routine and suggests C code in the spec if another base is chosen.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761122", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-03-06T13:33:31Z", + "editedAt": "2022-03-06T15:41:51Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761122", + "summary": "The opener measures how often short words appear in random IDs per base, finding base36 does best.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761127", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-03-07T21:18:33Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761127", + "summary": "The co-editor summarises: keep 8-4-4-4-12 as a must, allow any base, guide toward base36, and reference common methods.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761130", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-07T22:42:47Z", + "editedAt": "2022-03-08T01:11:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761130", + "summary": "The editor rejects allowing any base because parsers cannot tell formats apart, and argues for one extra hyphen-free, case-insensitive format, preferring Crockford base32 over base36.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761133", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-08T12:02:00Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761133", + "summary": "The contributor doubts one alternative is enough given how many ID schemes use base62 or base64.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761136", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-08T15:22:59Z", + "editedAt": "2022-03-08T15:23:57Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761136", + "summary": "The editor says apps can still use other encodings and asks how a library's String and Parse would support two formats.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761138", + "kind": "comment", + "actor": "fabiolimace", + "createdAt": "2022-03-08T16:26:30Z", + "editedAt": "2022-03-08T16:26:56Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761138", + "summary": "The opener sketches a default encoding plus parse and format functions that take a base or alphabet.", + "actorId": 808846, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761141", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-08T16:57:25Z", + "editedAt": "2022-04-18T20:56:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761141", + "summary": "The library maintainer warns a format argument defeats tree-shaking in JavaScript bundles.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761144", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-08T23:51:45Z", + "editedAt": "2022-04-18T20:56:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761144", + "summary": "The contributor suspects the editor really wants Crockford as the new default and disagrees, proposing extra methods, length-based detection and showing a short C routine.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:cross-referenced:2022-03-09T23:45:51Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-03-09T23:45:51Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor links the Draft 03 phase 4 pull request containing the encoding section.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761146", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-10T04:33:27Z", + "editedAt": "2022-04-18T20:56:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761146", + "summary": "The editor admits they did want Crockford as the default but accepts that may be too big a change, and cites the bundle-size concern against open-ended bases.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761150", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-10T04:54:31Z", + "editedAt": "2022-03-10T04:55:44Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761150", + "summary": "The editor proposes keeping hex as default and adding an optional compact Crockford base32 format, while noting apps may use any encoding.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761155", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-03-10T05:33:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761155", + "summary": "The library author would rather move to one modern format outright than keep the old one.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761159", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-10T13:36:38Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761159", + "summary": "The contributor says changing the default would break dependants, and asks again whether base36 plus base62 is acceptable instead of an any-base approach.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761161", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-03-10T14:35:19Z", + "editedAt": "2022-04-18T20:56:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761161", + "summary": "The co-editor reports a first pass of the encoding section in the draft PR and fixes a sample UUID for examples.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761163", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-10T16:27:46Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761163", + "summary": "The library maintainer finds the optional compact proposal balanced but expects to adopt cautiously, wants the any-base appendix dropped, and opposes multiple formats as against the purpose of standards.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761167", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-10T16:51:12Z", + "editedAt": "2022-04-18T20:56:33Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761167", + "summary": "The library maintainer compares it to imperial versus metric units and suggests a full replacement RFC may be the honest path, half in jest.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761170", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-03-10T20:52:22Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761170", + "summary": "The library author argues the spec must decide between extending and modernising, and suggests either splitting the RFC or mandating one new encoding.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761173", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-12T02:55:33Z", + "editedAt": "2022-03-12T12:42:13Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761173", + "summary": "The contributor proposes text where 8-4-4-4-12 is mandatory and libraries should also support base36 and base62, detected by length.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761176", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-12T08:39:53Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761176", + "summary": "The editor floats making Crockford base32 the canonical text for the new variant only, leaving older versions on hex.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761179", + "kind": "comment", + "actor": "martinheidegger", + "createdAt": "2022-03-12T08:54:42Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761179", + "summary": "A user warns Crockford's base32 is not an RFC and has loose edge cases, so may need its own spec.", + "actorId": 914122, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761182", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-03-12T09:13:38Z", + "editedAt": "2022-03-12T09:14:17Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761182", + "summary": "The library author says implementations use Crockford's alphabet with RFC 4648's algorithm.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761185", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-12T12:43:20Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761185", + "summary": "The contributor clarifies the recommendation targets libraries and argues standard alternatives are for interoperability, not application-specific choices.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761187", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-12T13:16:03Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761187", + "summary": "A contributor suggests reviving the legacy UUID layout and calls other encodings the developer's choice.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761190", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-12T14:05:27Z", + "editedAt": "2022-03-12T14:05:45Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761190", + "summary": "The library maintainer doubts users will accept new versions without hex.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761191", + "kind": "comment", + "actor": "broofa", + "createdAt": "2022-03-12T17:32:53Z", + "editedAt": "2022-04-18T20:56:33Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761191", + "summary": "The library maintainer shows that the draft's permissive wording would allow absurd encodings such as playing cards and cuneiform.", + "actorId": 164050, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761192", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-12T19:42:14Z", + "editedAt": "2022-03-12T20:48:38Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761192", + "summary": "The editor falls back to hex plus one compact format, and asks what format a database query should return if many are allowed.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761195", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-12T20:34:26Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761195", + "summary": "A contributor argues this draft should only update RFC 4122 with new versions and says they are writing a separate draft to obsolete it.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761198", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-12T20:52:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761198", + "summary": "The editor welcomes collaboration but sees the contested items as essential to make UUIDs useful.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761200", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-12T21:10:51Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761200", + "summary": "The contributor says updating and obsoleting work should be kept apart.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761203", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-13T03:13:01Z", + "editedAt": "2022-03-13T03:52:06Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761203", + "summary": "The contributor clarifies they want exactly two concrete formats, one case-insensitive and one compact, and argues the second adds little cost.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761206", + "kind": "comment", + "actor": "bradleypeabody", + "createdAt": "2022-03-13T16:17:32Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761206", + "summary": "The editor prefers Crockford base32 for familiarity and worries extra formats complicate parsing and invite a slippery slope.", + "actorId": 3239710, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761208", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-13T23:26:22Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761208", + "summary": "A contributor explains the IETF difference between updating and obsoleting an RFC.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761212", + "kind": "comment", + "actor": "LiosK", + "createdAt": "2022-03-13T23:40:35Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761212", + "summary": "The contributor says they will follow consensus, notes base36 is built into several languages, and opposes variable-length UUIDs.", + "actorId": 95567, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761216", + "kind": "comment", + "actor": "ben221199", + "createdAt": "2022-03-13T23:55:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761216", + "summary": "A contributor agrees new versions can update RFC 4122 but plans a separate obsoleting draft.", + "actorId": 12856904, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761218", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-03-14T14:29:18Z", + "editedAt": "2022-04-18T20:56:34Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761218", + "summary": "The co-editor summarises open engineering problems, especially how a receiver learns which encoding was used, weighing a single base, the multibase draft, or an extended URN.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761221", + "kind": "comment", + "actor": "sergeyprokhorenko", + "createdAt": "2022-03-14T20:41:13Z", + "editedAt": "2022-04-18T20:56:34Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761221", + "summary": "A contributor prefers JSON over URNs for carrying such metadata.", + "actorId": 31864557, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:labeled:2022-03-16T21:51:11Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-03-16T21:51:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor marks the topic out of scope again.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761224", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-03-16T21:51:36Z", + "editedAt": "2022-03-16T22:07:16Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761224", + "summary": "The co-editor announces that, after talking with the editor, alternate encodings are out of scope for Draft 03 and will move to a separate new draft with the E variant and long UUIDs.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1101761229", + "kind": "comment", + "actor": "kyzer-davis", + "createdAt": "2022-03-21T23:29:10Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1101761229", + "summary": "The co-editor publishes Draft 00 of a separate encoding-techniques document, including an extended URN to signal encoding, and personally favours an inclusive approach.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:unlabeled:2022-04-18T20:57:05Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2022-04-18T20:57:05Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor removes the out-of-scope label.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:comment:1153430817", + "kind": "comment", + "actor": "daegalus", + "createdAt": "2022-06-13T03:41:54Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3#issuecomment-1153430817", + "summary": "The library author notes a Hacker News thread where alternate encoding was the most requested feature.", + "actorId": 670212, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:locked:2024-09-04T20:56:18Z", + "kind": "process", + "actor": "uuid6", + "createdAt": "2024-09-04T20:56:18Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The repository owner locks the issue.", + "actorId": 60278088, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + }, + { + "id": "new-uuid-encoding-techniques-ietf-draft-3:process:converted_to_discussion:2024-09-11T13:46:11Z", + "kind": "process", + "actor": "kyzer-davis", + "createdAt": "2024-09-11T13:46:11Z", + "url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "summary": "The co-editor converts the issue into a discussion.", + "actorId": 867657, + "actorType": "human", + "parentId": "new-uuid-encoding-techniques-ietf-draft-3:issue:3" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/uv-named-explicit-indexes.json b/evals/datasets/decisions-v1/cases/uv-named-explicit-indexes.json new file mode 100644 index 000000000..6b08d55b3 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/uv-named-explicit-indexes.json @@ -0,0 +1,903 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "uv-named-explicit-indexes", + "title": "Named and explicit package indexes in uv", + "source": { + "url": "https://github.com/astral-sh/uv/pull/7481", + "retrievedAt": "2026-10-18T07:26:30.340037+00:00", + "repository": "astral-sh/uv", + "number": 7481 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2024-09-18T02:30:00Z" + }, + { + "id": "c2", + "at": "2024-09-21T00:00:00Z" + }, + { + "id": "c3", + "at": "2024-10-15T12:00:00Z" + }, + { + "id": "c4", + "at": "2024-10-16T00:00:00Z" + } + ], + "events": [ + { + "id": "uv-7481:pr:7481", + "kind": "opening", + "actor": "charliermarsh", + "createdAt": "2024-09-18T01:57:10Z", + "url": "https://github.com/astral-sh/uv/pull/7481", + "summary": "A maintainer adds a [[tool.uv.index]] table for named registry indexes, with ordering by definition, pinning packages to a named index through tool.uv.sources, an explicit flag that limits an index to pinned packages, a default flag that replaces PyPI, and future work listed.", + "actorId": 1309177, + "actorType": "human" + }, + { + "id": "uv-7481:comment:2357346512", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-18T02:08:15Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2357346512", + "summary": "The author asks reviewers to agree on the semantics in the summary before docs are written.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1764302805", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-09-18T02:08:40Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1764302805", + "summary": "The author notes a leftover type kept for future find-links support.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2357439336", + "kind": "comment", + "actor": "zanieb", + "createdAt": "2024-09-18T03:53:03Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2357439336", + "summary": "A maintainer objects that table-defined indexes outranking command-line index flags is wrong, and asks whether explicit is needed beyond a name, whether uv add sets it, how pinning affects transitive dependencies, and how to teach the PyPI fallback.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2357446310", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-18T04:00:54Z", + "editedAt": "2024-09-18T04:01:33Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2357446310", + "summary": "The author offers to invert the priority or add an --index flag, explains names also serve credentials, considers making uv add pin explicitly, and says pinning will not apply to transitive dependencies.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2357469798", + "kind": "comment", + "actor": "inflation", + "createdAt": "2024-09-18T04:27:55Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2357469798", + "summary": "A user asks for explicit to be the default, since extra indexes shadowing PyPI is the main footgun today.", + "actorId": 2375962, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2357831459", + "kind": "comment", + "actor": "smphhh", + "createdAt": "2024-09-18T08:28:53Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2357831459", + "summary": "A user asks about glob-pattern pinning of packages to indexes as a way to cover transitive dependencies.", + "actorId": 303002, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2358595930", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-18T14:13:46Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2358595930", + "summary": "The author says glob pinning could be added later but worries it duplicates how packages get mapped to indexes and complicates the schema.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2364320001", + "kind": "comment", + "actor": "corleyma", + "createdAt": "2024-09-20T18:41:37Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2364320001", + "summary": "A user says pattern assignment is still important in corporate setups for transitive dependencies.", + "actorId": 2080732, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2364332565", + "kind": "comment", + "actor": "zanieb", + "createdAt": "2024-09-20T18:48:29Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2364332565", + "summary": "A maintainer floats a distinct configuration section, possibly with globs, for tying indirect dependencies to a defined index.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2364507944", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-20T19:43:02Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2364507944", + "summary": "The author agrees that a standalone mapping of packages to named indexes beats extending the index schema.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2377650034", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-26T18:27:07Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2377650034", + "summary": "The author warns of many upcoming pushes to the branch.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2378239766", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-27T01:41:11Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2378239766", + "summary": "The author marks it ready for review with docs.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2378407549", + "kind": "comment", + "actor": "j178", + "createdAt": "2024-09-27T05:05:23Z", + "editedAt": "2024-09-27T07:14:44Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2378407549", + "summary": "A contributor finds the lockfile is always discarded because explicit indexes are missing from the remote index list, with a repro.", + "actorId": 10510431, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2379175756", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-09-27T12:37:12Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2379175756", + "summary": "The author thanks them for the catch.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1780667747", + "kind": "review-comment", + "actor": "konstin", + "createdAt": "2024-09-30T08:38:23Z", + "editedAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1780667747", + "summary": "A maintainer suggests the docs prefer the JSON simple API.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:review:2336769122" + }, + { + "id": "uv-7481:review-comment:1780677285", + "kind": "review-comment", + "actor": "konstin", + "createdAt": "2024-09-30T08:44:20Z", + "editedAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1780677285", + "summary": "A maintainer asks whether a user-level index would be tried before a project one, and how to list a project's indexes.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:review:2336769122" + }, + { + "id": "uv-7481:review-comment:1780683295", + "kind": "review-comment", + "actor": "konstin", + "createdAt": "2024-09-30T08:48:06Z", + "editedAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1780683295", + "summary": "A maintainer asks whether constraints plus sources could pin transitive dependencies.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:review:2336769122" + }, + { + "id": "uv-7481:review-comment:1780685864", + "kind": "review-comment", + "actor": "konstin", + "createdAt": "2024-09-30T08:49:45Z", + "editedAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1780685864", + "summary": "A maintainer asks whether a field should hold an index name rather than a URL.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:review:2336769122" + }, + { + "id": "uv-7481:review-comment:1780750937", + "kind": "review-comment", + "actor": "konstin", + "createdAt": "2024-09-30T09:31:46Z", + "editedAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1780750937", + "summary": "A maintainer flags a stale test comment.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:review:2336769122" + }, + { + "id": "uv-7481:review:2336769122", + "kind": "review", + "actor": "konstin", + "createdAt": "2024-09-30T09:38:04Z", + "url": "https://github.com/astral-sh/uv/pull/7481#pullrequestreview-2336769122", + "summary": "A maintainer approves the PR.", + "actorId": 6826232, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781858399", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:37:48Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781858399", + "summary": "A maintainer suggests clearer doc wording for explicit indexes.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781860036", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:40:33Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781860036", + "summary": "A maintainer says a comment states the opposite of the behaviour.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781860331", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:41:01Z", + "editedAt": "2024-09-30T22:41:02Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781860331", + "summary": "A maintainer asks whether a TODO is handled elsewhere.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781861517", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:43:16Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781861517", + "summary": "A maintainer asks whether a name check avoids confusing credentials in URLs.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781867558", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:52:26Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781867558", + "summary": "A maintainer finds a pip-related comment unclear.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781868734", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-09-30T22:54:36Z", + "editedAt": "2024-09-30T22:54:37Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781868734", + "summary": "The author says it is a deliberate TODO.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781860331" + }, + { + "id": "uv-7481:review-comment:1781868823", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-09-30T22:54:46Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781868823", + "summary": "The author confirms the comment is stale.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781860036" + }, + { + "id": "uv-7481:review-comment:1781869171", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-09-30T22:55:19Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781869171", + "summary": "The author explains the check avoids misreading certain URLs as names.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781861517" + }, + { + "id": "uv-7481:review-comment:1781869284", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T22:55:32Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781869284", + "summary": "A maintainer says the comment is wrong as written.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780685864" + }, + { + "id": "uv-7481:review-comment:1781886765", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:11:52Z", + "editedAt": "2024-09-30T23:11:53Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781886765", + "summary": "A maintainer repeats an earlier wording comment.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781887854", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:12:21Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781887854", + "summary": "A maintainer asks whether docs should mention index strategies.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781893311", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:15:11Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781893311", + "summary": "A maintainer notes a test covers named, not explicit, indexes.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781895226", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:15:56Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781895226", + "summary": "A maintainer suggests a placeholder domain in tests.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781895743", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:16:32Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781895743", + "summary": "A maintainer asks what happens if a named index is passed again on the command line.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781899329", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:18:09Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781899329", + "summary": "A maintainer worries the word explicit in docs will be confused with the flag.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781901257", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:19:09Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781901257", + "summary": "A maintainer questions the phrase base index.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781901519", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:19:33Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781901519", + "summary": "A maintainer says two environment variable descriptions look swapped.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781903197", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:20:36Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781903197", + "summary": "A maintainer suggests a docs wording tweak.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781903507", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:21:07Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781903507", + "summary": "A maintainer suggests avoiding the word explicit in prose.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781905082", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:21:58Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781905082", + "summary": "A maintainer would move format details elsewhere in the docs.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780667747" + }, + { + "id": "uv-7481:review-comment:1781905580", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:22:34Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781905580", + "summary": "A maintainer asks why the page sits under configuration not concepts.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781906730", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:23:05Z", + "editedAt": "2024-09-30T23:23:06Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781906730", + "summary": "A maintainer says project configuration should always outrank outside configuration.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780677285" + }, + { + "id": "uv-7481:review-comment:1781907891", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:23:52Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781907891", + "summary": "A maintainer asks how to disable the default index entirely.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781909541", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:24:54Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781909541", + "summary": "A maintainer suggests clarifying that only torch comes from that index.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781911795", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:26:09Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781911795", + "summary": "A maintainer notes command-line overrides of a named index are silently ignored and asks why.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781914413", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:27:43Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781914413", + "summary": "A maintainer suggests deduplicating pip-compatibility docs.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1781917025", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-09-30T23:28:49Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781917025", + "summary": "A maintainer agrees with the name check after all.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781861517" + }, + { + "id": "uv-7481:review-comment:1781921901", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-09-30T23:32:00Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781921901", + "summary": "The author says the override gap is an implementation limitation from how settings are merged.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781911795" + }, + { + "id": "uv-7481:review-comment:1781979459", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:29:42Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781979459", + "summary": "The author confirms project indexes come first.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780677285" + }, + { + "id": "uv-7481:review-comment:1781979565", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:29:56Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781979565", + "summary": "The author says a transitive package would have to become a direct dependency.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780683295" + }, + { + "id": "uv-7481:review-comment:1781979766", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:30:20Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781979766", + "summary": "The author says the field is correctly a URL but the comment was wrong.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1780685864" + }, + { + "id": "uv-7481:review-comment:1781982931", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:37:09Z", + "editedAt": "2024-10-01T00:37:10Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781982931", + "summary": "The author says the command line wins.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781895743" + }, + { + "id": "uv-7481:review-comment:1781984280", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:40:27Z", + "editedAt": "2024-10-01T00:40:28Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781984280", + "summary": "The author says only --no-index disables all indexes.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781907891" + }, + { + "id": "uv-7481:review-comment:1781984457", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:40:52Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781984457", + "summary": "The author placed it beside authentication docs.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781905580" + }, + { + "id": "uv-7481:review-comment:1781987397", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:47:30Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781987397", + "summary": "The author adds a test for repeating a named index on the command line.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781895743" + }, + { + "id": "uv-7481:review-comment:1781988362", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:49:38Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781988362", + "summary": "The author is fine keeping dedicated pip-difference docs.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781914413" + }, + { + "id": "uv-7481:review-comment:1781989163", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T00:51:30Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1781989163", + "summary": "The author asks whether to hide the legacy index flags.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1782029422", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-10-01T02:16:27Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782029422", + "summary": "A maintainer says to hide them in a later release.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781989163" + }, + { + "id": "uv-7481:review-comment:1782095240", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T04:31:35Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782095240", + "summary": "The author says the override fix will come in a separate PR.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781911795" + }, + { + "id": "uv-7481:review-comment:1782102875", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T04:44:58Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782102875", + "summary": "The author considers recording where each index was defined.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781911795" + }, + { + "id": "uv-7481:review-comment:1782110568", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-10-01T04:57:32Z", + "editedAt": "2024-10-01T04:57:33Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782110568", + "summary": "A maintainer expects disabling PyPI to be common.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781907891" + }, + { + "id": "uv-7481:review:2339115694", + "kind": "review", + "actor": "zanieb", + "createdAt": "2024-10-01T04:58:17Z", + "url": "https://github.com/astral-sh/uv/pull/7481#pullrequestreview-2339115694", + "summary": "A maintainer approves the PR.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:review-comment:1782647026", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T12:04:20Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782647026", + "summary": "The author says that equals defining another default index.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781907891" + }, + { + "id": "uv-7481:review-comment:1782658107", + "kind": "review-comment", + "actor": "zanieb", + "createdAt": "2024-10-01T12:13:00Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782658107", + "summary": "The maintainer finds that odd but says it need not block the PR.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781907891" + }, + { + "id": "uv-7481:review-comment:1782730296", + "kind": "review-comment", + "actor": "charliermarsh", + "createdAt": "2024-10-01T13:00:58Z", + "url": "https://github.com/astral-sh/uv/pull/7481#discussion_r1782730296", + "summary": "The author acknowledges default currently does two things: replacing PyPI and changing priority.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:review-comment:1781907891" + }, + { + "id": "uv-7481:comment:2397239711", + "kind": "comment", + "actor": "szobov", + "createdAt": "2024-10-07T15:24:15Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2397239711", + "summary": "A user reports testing the branch successfully and asks how to help get it released.", + "actorId": 7851779, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2397312036", + "kind": "comment", + "actor": "charliermarsh", + "createdAt": "2024-10-07T15:55:25Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2397312036", + "summary": "The author plans to release it the following week.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2405009689", + "kind": "comment", + "actor": "pythonbyte", + "createdAt": "2024-10-10T12:53:34Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2405009689", + "summary": "A user asks for uv add to write index entries in this PR.", + "actorId": 25188076, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2405191315", + "kind": "comment", + "actor": "odie5533", + "createdAt": "2024-10-10T14:05:05Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2405191315", + "summary": "A contributor points to two follow-up PRs for that.", + "actorId": 371066, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2405469047", + "kind": "comment", + "actor": "pythonbyte", + "createdAt": "2024-10-10T15:42:11Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2405469047", + "summary": "The user thanks them.", + "actorId": 25188076, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:process:merged:2024-10-15T22:24:23Z", + "kind": "process", + "actor": "charliermarsh", + "createdAt": "2024-10-15T22:24:23Z", + "url": "https://github.com/astral-sh/uv/pull/7481", + "summary": "The author merges the PR.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:process:closed:2024-10-15T22:24:23Z", + "kind": "process", + "actor": "charliermarsh", + "createdAt": "2024-10-15T22:24:23Z", + "url": "https://github.com/astral-sh/uv/pull/7481", + "summary": "The PR is closed on merge.", + "actorId": 1309177, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2428423927", + "kind": "comment", + "actor": "danieleades", + "createdAt": "2024-10-22T07:05:26Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2428423927", + "summary": "A user asks about API key authentication for private registries.", + "actorId": 33452915, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2429034631", + "kind": "comment", + "actor": "zanieb", + "createdAt": "2024-10-22T11:33:16Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2429034631", + "summary": "A maintainer says an API key works in the password variable.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2429152367", + "kind": "comment", + "actor": "danieleades", + "createdAt": "2024-10-22T12:30:14Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2429152367", + "summary": "The user reports resolution failing with a private explicit index.", + "actorId": 33452915, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2429172909", + "kind": "comment", + "actor": "zanieb", + "createdAt": "2024-10-22T12:38:51Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2429172909", + "summary": "A maintainer asks them to open a new issue.", + "actorId": 2586601, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + }, + { + "id": "uv-7481:comment:2477900032", + "kind": "comment", + "actor": "dariocurr", + "createdAt": "2024-11-15T03:52:56Z", + "url": "https://github.com/astral-sh/uv/pull/7481#issuecomment-2477900032", + "summary": "A user asks about the proxy URL feature listed as future work.", + "actorId": 48800335, + "actorType": "human", + "parentId": "uv-7481:pr:7481" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vite-lib-auto-externalize-deps.json b/evals/datasets/decisions-v1/cases/vite-lib-auto-externalize-deps.json new file mode 100644 index 000000000..e8b1dc685 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vite-lib-auto-externalize-deps.json @@ -0,0 +1,446 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vite-lib-auto-externalize-deps", + "title": "Auto-externalize dependencies in library mode", + "source": { + "url": "https://github.com/vitejs/vite/pull/10632", + "retrievedAt": "2026-10-18T07:24:14.097739+00:00", + "repository": "vitejs/vite", + "number": 10632 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-11-05T00:00:00Z" + }, + { + "id": "c2", + "at": "2022-12-05T11:10:00Z" + }, + { + "id": "c3", + "at": "2023-08-14T15:00:00Z" + }, + { + "id": "c4", + "at": "2024-07-24T11:00:00Z" + } + ], + "events": [ + { + "id": "vite-10632:pr:10632", + "kind": "opening", + "actor": "Shinigami92", + "createdAt": "2022-10-25T14:08:32Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "A maintainer opens a breaking-change PR so library mode automatically treats package dependencies as external, linked to an earlier discussion.", + "actorId": 7195563, + "actorType": "human" + }, + { + "id": "vite-10632:process:labeled:2022-10-25T14:08:48Z+", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-10-25T14:08:48Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author labels the PR as a breaking change.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1004578263", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-10-25T14:38:36Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1004578263", + "summary": "The author notes the code copies a pattern from config loading but reads package.json from the working directory, and is unsure that is right.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1012669165", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-11-03T09:32:24Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1012669165", + "summary": "The author notes peer and optional dependencies probably need handling too.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1304291947", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2022-11-04T21:58:06Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1304291947", + "summary": "The author reports a local test works, opens it for review, and asks for help with tests and the working-directory question.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:process:ready_for_review:2022-11-04T21:58:10Z", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-11-04T21:58:10Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author marks the PR ready for review.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1024913652", + "kind": "review-comment", + "actor": "yyx990803", + "createdAt": "2022-11-17T08:58:02Z", + "editedAt": "2022-11-17T08:58:06Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1024913652", + "summary": "The project lead suggests finding package.json from the library entry rather than the config root.", + "actorId": 499550, + "actorType": "human", + "parentId": "vite-10632:review:1183900937" + }, + { + "id": "vite-10632:review:1183900937", + "kind": "review", + "actor": "yyx990803", + "createdAt": "2022-11-17T08:58:06Z", + "url": "https://github.com/vitejs/vite/pull/10632#pullrequestreview-1183900937", + "summary": "The project lead requests changes.", + "actorId": 499550, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1026201169", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-11-18T09:23:24Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1026201169", + "summary": "The author switches to the entry when it is a single string and asks whether object entries need handling or can be left to manual config.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1024913652" + }, + { + "id": "vite-10632:comment:1323957697", + "kind": "comment", + "actor": "benmccann", + "createdAt": "2022-11-22T16:39:52Z", + "editedAt": "2022-11-22T16:40:22Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1323957697", + "summary": "A collaborator asks whether the behaviour should apply to apps as well, citing SvelteKit's own post-build step, and notes docs are needed.", + "actorId": 322311, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1327505094", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2022-11-25T13:55:59Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1327505094", + "summary": "The author adds docs and suggests the application case be a separate issue.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1038765684", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-03T11:25:18Z", + "editedAt": "2022-12-03T11:37:35Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038765684", + "summary": "A maintainer points out default formats can include UMD, plugins can change formats later, and output arrays may set formats, so the check is unreliable.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:review:1203454658" + }, + { + "id": "vite-10632:review-comment:1038766298", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-03T11:33:05Z", + "editedAt": "2022-12-03T11:37:35Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038766298", + "summary": "A maintainer proposes disabling the feature with a warning when entries resolve to different package.json files.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:review-comment:1024913652" + }, + { + "id": "vite-10632:review:1203454658", + "kind": "review", + "actor": "sapphi-red", + "createdAt": "2022-12-03T11:37:35Z", + "url": "https://github.com/vitejs/vite/pull/10632#pullrequestreview-1203454658", + "summary": "A maintainer comments that interactions with other options need more thought.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1038769959", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-03T12:13:11Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038769959", + "summary": "The author asks whether the type for rollupOptions is wrong since an array did not error.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038770487", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-03T12:18:25Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038770487", + "summary": "The maintainer corrects that they meant the output option.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038802993", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-03T16:04:56Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038802993", + "summary": "The author lists the cases where detection switches off and argues it is safe to merge and iterate, since manual externals still override it.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:comment:1336189873", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2022-12-03T16:06:13Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1336189873", + "summary": "The author is reluctant to support complex multi-entry setups now and suggests the community iterate later.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1038923620", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-04T07:46:20Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038923620", + "summary": "The maintainer gives three concrete configs where detection would wrongly run despite UMD output.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038924750", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-04T07:54:43Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038924750", + "summary": "The author says the examples clarify the problem.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:process:convert_to_draft:2022-12-04T09:11:13Z", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-12-04T09:11:13Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author returns the PR to draft.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1038940413", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-04T09:51:49Z", + "editedAt": "2022-12-04T09:51:50Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038940413", + "summary": "The author proposes requiring explicit formats, admits not knowing how to handle the configResolved hook, and considers shipping a plugin instead.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038945973", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-04T10:31:59Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038945973", + "summary": "The maintainer suggests moving the logic after output options are resolved.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038980835", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-04T14:32:42Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038980835", + "summary": "The author applies the suggestion and reports all the examples now work locally.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:review-comment:1038980958", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2022-12-04T14:33:25Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1038980958", + "summary": "The author offers to apply externals per format.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:review-comment:1038765684" + }, + { + "id": "vite-10632:process:ready_for_review:2022-12-04T14:54:21Z", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-12-04T14:54:21Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author marks the PR ready again.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1039435911", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-05T10:48:43Z", + "editedAt": "2022-12-05T10:55:06Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1039435911", + "summary": "The maintainer shows a multi-entry config that still misfires and suggests checking resolved outputs for UMD or IIFE.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:review-comment:1039437519", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2022-12-05T10:50:24Z", + "editedAt": "2022-12-05T10:55:06Z", + "url": "https://github.com/vitejs/vite/pull/10632#discussion_r1039437519", + "summary": "The maintainer suggests docs wording reflecting that output formats are considered.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1337143514", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2022-12-05T11:04:20Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1337143514", + "summary": "The maintainer calls the mixed lookup rule inconsistent and offers three choices: always use the config root, use the single entry or disable, or use all entries and disable if they disagree.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:process:convert_to_draft:2022-12-05T11:13:24Z", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-12-05T11:13:24Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author returns the PR to draft.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1339339745", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2022-12-06T13:11:13Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1339339745", + "summary": "The author says it will miss Vite 4 and may start with a plugin.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:process:labeled:2022-12-07T19:19:56Z", + "kind": "process", + "actor": "Shinigami92", + "createdAt": "2022-12-07T19:19:56Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "The author marks the PR on hold.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1644388899", + "kind": "comment", + "actor": "luxaritas", + "createdAt": "2023-07-20T18:21:58Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1644388899", + "summary": "A contributor raises adding extra externals such as Node builtins on top of automatic ones, and nested package.json files in monorepos.", + "actorId": 18635705, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1677575440", + "kind": "comment", + "actor": "patak-cat", + "createdAt": "2023-08-14T15:39:10Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1677575440", + "summary": "A maintainer drops it from the Vite 5 milestone, suggesting it wait for a broader library-mode review.", + "actorId": 583075, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:1678511588", + "kind": "comment", + "actor": "Shinigami92", + "createdAt": "2023-08-15T07:08:19Z", + "editedAt": "2023-08-15T07:08:55Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-1678511588", + "summary": "The author says they switched to tsup and the PR can be closed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:comment:2247590038", + "kind": "comment", + "actor": "bluwy", + "createdAt": "2024-07-24T10:49:53Z", + "url": "https://github.com/vitejs/vite/pull/10632#issuecomment-2247590038", + "summary": "A maintainer closes the PR based on that.", + "actorId": 34116392, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + }, + { + "id": "vite-10632:process:closed:2024-07-24T10:49:53Z", + "kind": "process", + "actor": "bluwy", + "createdAt": "2024-07-24T10:49:53Z", + "url": "https://github.com/vitejs/vite/pull/10632", + "summary": "A maintainer closes the PR unmerged.", + "actorId": 34116392, + "actorType": "human", + "parentId": "vite-10632:pr:10632" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vite-node-worker-threads.json b/evals/datasets/decisions-v1/cases/vite-node-worker-threads.json new file mode 100644 index 000000000..393491aef --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vite-node-worker-threads.json @@ -0,0 +1,621 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vite-node-worker-threads", + "title": "Node worker_threads support in Vite", + "source": { + "url": "https://github.com/vitejs/vite/pull/3932", + "retrievedAt": "2026-10-18T07:24:07.231242+00:00", + "repository": "vitejs/vite", + "number": 3932 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-06-29T07:00:00Z" + }, + { + "id": "c2", + "at": "2021-08-17T00:00:00Z" + }, + { + "id": "c3", + "at": "2025-08-01T00:00:00Z" + }, + { + "id": "c4", + "at": "2025-10-02T00:00:00Z" + } + ], + "events": [ + { + "id": "vite-3932:pr:3932", + "kind": "opening", + "actor": "prathameshnetake", + "createdAt": "2021-06-24T06:45:14Z", + "url": "https://github.com/vitejs/vite/pull/3932", + "summary": "A contributor opens a PR so the existing ?worker import works for Node targets, importing Worker from worker_threads and resolving chunk paths relative to the calling module.", + "actorId": 4309729, + "actorType": "human" + }, + { + "id": "vite-3932:comment:868542231", + "kind": "comment", + "actor": "antfu", + "createdAt": "2021-06-25T14:31:05Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-868542231", + "summary": "A maintainer asks for the use case.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:869926453", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-06-28T18:40:45Z", + "editedAt": "2021-08-16T18:31:57Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-869926453", + "summary": "The author shows a worker_threads example and explains the two failures for Node builds: no global Worker and absolute chunk paths, proposing a target check and __dirname-relative paths.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:870026755", + "kind": "comment", + "actor": "antfu", + "createdAt": "2021-06-28T20:42:04Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-870026755", + "summary": "The maintainer asks why one would bundle a Node app with Vite, such as Electron or SSR.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:870272455", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-06-29T06:20:27Z", + "editedAt": "2021-06-29T06:22:07Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-870272455", + "summary": "The author says it is for an Electron app running machine-learning work on worker threads.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:894960356", + "kind": "comment", + "actor": "antfu", + "createdAt": "2021-08-09T05:25:53Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-894960356", + "summary": "The maintainer accepts the scenario and asks for tests.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:895491241", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-09T19:43:42Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-895491241", + "summary": "The author agrees to add tests.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:689288105", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-16T07:10:46Z", + "editedAt": "2021-08-16T07:11:00Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r689288105", + "summary": "A maintainer asks why a value can be assumed to be a string.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:689399833", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-16T09:59:00Z", + "editedAt": "2021-08-16T10:02:36Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r689399833", + "summary": "The author replaces it with an isTargetNode helper.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:689288105" + }, + { + "id": "vite-3932:comment:899383054", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-16T10:00:11Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-899383054", + "summary": "The author reports tests are added.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:689438603", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-16T11:01:53Z", + "editedAt": "2021-08-16T11:02:07Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r689438603", + "summary": "A maintainer suggests using Array.some.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:review:730583604" + }, + { + "id": "vite-3932:review:730583604", + "kind": "review", + "actor": "Shinigami92", + "createdAt": "2021-08-16T11:02:07Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-730583604", + "summary": "A maintainer requests changes.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:689465126", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-16T11:46:15Z", + "editedAt": "2021-08-16T11:46:16Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r689465126", + "summary": "The author agrees to the suggestion.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:689438603" + }, + { + "id": "vite-3932:review:730699434", + "kind": "review", + "actor": "Shinigami92", + "createdAt": "2021-08-16T13:14:20Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-730699434", + "summary": "A maintainer's review is later dismissed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review:730911004", + "kind": "review", + "actor": "Shinigami92", + "createdAt": "2021-08-16T16:28:13Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-730911004", + "summary": "A maintainer's review is later dismissed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:689847333", + "kind": "review-comment", + "actor": "antfu", + "createdAt": "2021-08-16T20:45:07Z", + "editedAt": "2021-08-16T20:46:40Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r689847333", + "summary": "A maintainer objects that changing the client worker type to include Node workers could break existing code and require @types/node, and suggests users handle the rare case themselves.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:review:731118596" + }, + { + "id": "vite-3932:review:731118596", + "kind": "review", + "actor": "antfu", + "createdAt": "2021-08-16T20:46:12Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-731118596", + "summary": "A maintainer requests changes.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:690068846", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-17T06:23:00Z", + "editedAt": "2021-08-17T06:23:01Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r690068846", + "summary": "Another maintainer agrees with the concern.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:review-comment:689847333" + }, + { + "id": "vite-3932:review-comment:690186131", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-17T09:14:01Z", + "editedAt": "2021-08-17T09:14:02Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r690186131", + "summary": "The author agrees and will revert the type change.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:689847333" + }, + { + "id": "vite-3932:review-comment:691546719", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-18T19:33:43Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691546719", + "summary": "The author reports the update.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:689847333" + }, + { + "id": "vite-3932:review-comment:691594973", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-18T20:52:53Z", + "editedAt": "2021-08-18T20:53:34Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691594973", + "summary": "A maintainer says a leftover declaration can be removed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:691594998", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-18T20:52:56Z", + "editedAt": "2021-08-18T20:53:34Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691594998", + "summary": "A maintainer repeats that a leftover declaration can be removed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:691595870", + "kind": "review-comment", + "actor": "Shinigami92", + "createdAt": "2021-08-18T20:54:17Z", + "editedAt": "2021-08-18T20:54:18Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691595870", + "summary": "A maintainer questions a cast in the playground that previously was unnecessary.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review-comment:691978440", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-19T10:15:20Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691978440", + "summary": "The author explains the cast is now needed because the import type is only the web Worker.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:691595870" + }, + { + "id": "vite-3932:review-comment:691978773", + "kind": "review-comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-19T10:15:47Z", + "url": "https://github.com/vitejs/vite/pull/3932#discussion_r691978773", + "summary": "The author will fix the leftover.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:review-comment:691594998" + }, + { + "id": "vite-3932:review:733833924", + "kind": "review", + "actor": "Shinigami92", + "createdAt": "2021-08-19T10:41:03Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-733833924", + "summary": "A maintainer's review is later dismissed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:901887339", + "kind": "comment", + "actor": "antfu", + "createdAt": "2021-08-19T12:49:36Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-901887339", + "summary": "A maintainer asks for documentation.", + "actorId": 11247099, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:902051510", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-08-19T16:20:19Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-902051510", + "summary": "The author agrees to write docs.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:910601068", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-09-01T19:06:41Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-910601068", + "summary": "The author adds a guide for Node worker threads and asks for review.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:review:744328396", + "kind": "review", + "actor": "Shinigami92", + "createdAt": "2021-09-01T19:30:12Z", + "url": "https://github.com/vitejs/vite/pull/3932#pullrequestreview-744328396", + "summary": "A maintainer's review is later dismissed.", + "actorId": 7195563, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:925166451", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2021-09-22T18:12:38Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-925166451", + "summary": "The author pings for review.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1370191288", + "kind": "comment", + "actor": "Caleb-Irwin", + "createdAt": "2023-01-03T20:23:39Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1370191288", + "summary": "A user asks if the PR is dead.", + "actorId": 56744087, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1374389933", + "kind": "comment", + "actor": "prathamesh-toptal", + "createdAt": "2023-01-07T06:14:49Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1374389933", + "summary": "The author, from another account, says they will check whether the need is already met.", + "actorId": 121118542, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1535623022", + "kind": "comment", + "actor": "garrettmflynn", + "createdAt": "2023-05-05T02:33:59Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1535623022", + "summary": "A user asks for workarounds for a library targeting both browser and Node.", + "actorId": 46533749, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1537827957", + "kind": "comment", + "actor": "feenn", + "createdAt": "2023-05-08T06:32:14Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1537827957", + "summary": "A user asks for updates.", + "actorId": 801465, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1699745325", + "kind": "comment", + "actor": "heygrady", + "createdAt": "2023-08-30T19:49:31Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1699745325", + "summary": "A user describes Vitest failing on worker_threads code in Node mode and a workaround of testing built output.", + "actorId": 274076, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1858697547", + "kind": "comment", + "actor": "yunsii", + "createdAt": "2023-12-16T03:17:12Z", + "editedAt": "2023-12-16T03:17:30Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1858697547", + "summary": "A user asks whether library mode still cannot bundle a Node package with a worker pool.", + "actorId": 18096089, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:1879969295", + "kind": "comment", + "actor": "rxliuli", + "createdAt": "2024-01-07T06:27:04Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-1879969295", + "summary": "A contributor suggests using a plugin like electron-vite's worker plugin.", + "actorId": 24560368, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:2216896257", + "kind": "comment", + "actor": "Shyam-Chen", + "createdAt": "2024-07-09T08:10:25Z", + "editedAt": "2024-07-09T08:26:59Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-2216896257", + "summary": "A contributor says Vite's frontend focus explains the gap, and that worker files currently must be copied as JavaScript at build time.", + "actorId": 13535256, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:2275904688", + "kind": "comment", + "actor": "jarrodpayne", + "createdAt": "2024-08-08T13:58:27Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-2275904688", + "summary": "A user asks whether a better solution was found.", + "actorId": 342623, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:2279863423", + "kind": "comment", + "actor": "Shyam-Chen", + "createdAt": "2024-08-10T07:03:10Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-2279863423", + "summary": "The contributor says they still copy the worker file with a static-copy plugin.", + "actorId": 13535256, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:2597046017", + "kind": "comment", + "actor": "sirlancelot", + "createdAt": "2025-01-16T22:35:35Z", + "editedAt": "2025-01-16T22:36:18Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-2597046017", + "summary": "A user asks if this will ever land, citing vite-node use.", + "actorId": 71916, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3100812010", + "kind": "comment", + "actor": "sarendipitee", + "createdAt": "2025-07-22T04:09:32Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3100812010", + "summary": "A user asks maintainers to explain why it has not landed.", + "actorId": 191920, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3355268776", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-10-01T08:24:34Z", + "editedAt": "2025-10-01T08:24:48Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3355268776", + "summary": "A team member reports a team meeting welcomed the feature but asked for a separate ?nodeWorker query instead of reusing ?worker, and for dev-mode support, not only build, pointing to Vitest's worker emulation as a hint.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3368308015", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2025-10-04T14:39:36Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3368308015", + "summary": "The author agrees to rework the PR along those lines.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3493103669", + "kind": "comment", + "actor": "aviallon", + "createdAt": "2025-11-05T20:03:31Z", + "editedAt": "2025-11-05T20:06:58Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3493103669", + "summary": "A user offers sponsorship and links a community plugin.", + "actorId": 7479436, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3531341448", + "kind": "comment", + "actor": "jlarmstrongiv", + "createdAt": "2025-11-14T07:37:47Z", + "editedAt": "2025-11-14T07:37:57Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3531341448", + "summary": "A user says none of the plugin options worked for them.", + "actorId": 20903247, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3559146922", + "kind": "comment", + "actor": "adworacz", + "createdAt": "2025-11-20T17:09:56Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3559146922", + "summary": "A user reports the community plugin works when pinned to an older version.", + "actorId": 561689, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3559485555", + "kind": "comment", + "actor": "aviallon", + "createdAt": "2025-11-20T18:34:01Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3559485555", + "summary": "A user says full-stack frameworks make this more pressing.", + "actorId": 7479436, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:process:closed:2025-11-26T09:35:37Z", + "kind": "process", + "actor": "prathameshnetake", + "createdAt": "2025-11-26T09:35:37Z", + "url": "https://github.com/vitejs/vite/pull/3932", + "summary": "The author closes the PR.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:process:cross-referenced:2025-11-26T10:53:41Z", + "kind": "process", + "actor": "prathameshnetake", + "createdAt": "2025-11-26T10:53:41Z", + "url": "https://github.com/vitejs/vite/pull/3932", + "summary": "The author's replacement PR #21160 is linked.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + }, + { + "id": "vite-3932:comment:3581078061", + "kind": "comment", + "actor": "prathameshnetake", + "createdAt": "2025-11-26T12:23:45Z", + "url": "https://github.com/vitejs/vite/pull/3932#issuecomment-3581078061", + "summary": "The author says the old code had drifted too far and asks maintainers to review the new PR, which incorporates the feedback.", + "actorId": 4309729, + "actorType": "human", + "parentId": "vite-3932:pr:3932" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vite-optimizer-browserhash-restart.json b/evals/datasets/decisions-v1/cases/vite-optimizer-browserhash-restart.json new file mode 100644 index 000000000..ac39633d4 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vite-optimizer-browserhash-restart.json @@ -0,0 +1,551 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vite-optimizer-browserhash-restart", + "title": "Stable optimizer browserHash across dev server restarts", + "source": { + "url": "https://github.com/vitejs/vite/pull/20609", + "retrievedAt": "2026-10-18T07:24:19.484868+00:00", + "repository": "vitejs/vite", + "number": 20609 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-08-13T15:00:00Z" + }, + { + "id": "c2", + "at": "2025-09-02T00:00:00Z" + }, + { + "id": "c3", + "at": "2025-10-17T07:00:00Z" + }, + { + "id": "c4", + "at": "2025-10-17T08:00:00Z" + } + ], + "events": [ + { + "id": "vite-20609:pr:20609", + "kind": "opening", + "actor": "infiton", + "createdAt": "2025-08-13T14:46:38Z", + "url": "https://github.com/vitejs/vite/pull/20609", + "summary": "An outside contributor from Gadget proposes setting the in-memory browserHash to the value later written to the deps metadata file, so a dev server restarted mid page load does not serve a second copy of React under a different hash.", + "actorId": 4368488, + "actorType": "human" + }, + { + "id": "vite-20609:comment:3197061926", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-08-18T13:59:03Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3197061926", + "summary": "The opener asks a maintainer how to get the PR triaged.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3206364105", + "kind": "comment", + "actor": "airhorns", + "createdAt": "2025-08-20T13:33:08Z", + "editedAt": "2025-08-22T00:19:18Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3206364105", + "summary": "A comment GitHub marks as hidden (duplicate); a contributor adds support.", + "actorId": 158950, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3206601353", + "kind": "comment", + "actor": "aurelienbobenrieth", + "createdAt": "2025-08-20T14:14:12Z", + "editedAt": "2025-08-22T00:19:27Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3206601353", + "summary": "A comment GitHub marks as hidden (duplicate); a user adds support.", + "actorId": 37140583, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3207688902", + "kind": "comment", + "actor": "seilon", + "createdAt": "2025-08-20T19:05:19Z", + "editedAt": "2025-08-22T00:19:36Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3207688902", + "summary": "A comment GitHub marks as hidden (duplicate); a user adds support.", + "actorId": 14301870, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3210331720", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2025-08-21T12:07:19Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3210331720", + "summary": "A maintainer says Vite assumes one server instance serves a whole page load, and asks whether a restart would not already force a reload via the WebSocket.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3211111555", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-08-21T15:30:25Z", + "editedAt": "2025-08-21T15:30:45Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3211111555", + "summary": "The opener explains that in React Router SSR the client script loads late, so a duplicate React can crash the page before reconnection, and asks if in-memory and on-disk hashes should match.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3211942765", + "kind": "comment", + "actor": "colby-makowsky", + "createdAt": "2025-08-21T20:13:00Z", + "editedAt": "2025-08-22T00:19:47Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3211942765", + "summary": "A comment GitHub marks as hidden (duplicate); a user adds support.", + "actorId": 2815631, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3213036631", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2025-08-22T04:58:12Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3213036631", + "summary": "The maintainer says matching hashes is preferable but not required, will not object unless something breaks, and recommends loading the Vite client first.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review-comment:2292697333", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2025-08-22T05:01:51Z", + "editedAt": "2025-08-22T05:02:07Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2292697333", + "summary": "The maintainer flags that the change may overwrite per-dependency hashes set when a missing dependency is added, breaking the documented behaviour.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3214282865", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-08-22T12:53:12Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3214282865", + "summary": "The opener says they cannot control script order because the framework and their users decide it.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review-comment:2293656204", + "kind": "review-comment", + "actor": "infiton", + "createdAt": "2025-08-22T12:53:29Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2293656204", + "summary": "The opener says they will check and add a test if something breaks.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:review-comment:2292697333" + }, + { + "id": "vite-20609:review-comment:2293760311", + "kind": "review-comment", + "actor": "infiton", + "createdAt": "2025-08-22T13:35:09Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2293760311", + "summary": "The opener argues the override is safe on the first build since all scanned deps are known, notes the earlier behaviour lacks a test, and asks another maintainer for input.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:review-comment:2292697333" + }, + { + "id": "vite-20609:comment:3214410298", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-08-22T13:36:12Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3214410298", + "summary": "The opener hands follow-up to a colleague while on vacation.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3225135458", + "kind": "comment", + "actor": "airhorns", + "createdAt": "2025-08-26T17:46:11Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3225135458", + "summary": "The colleague argues even a first-loaded client cannot rule out a restart in remote dev environments, and asks what the downside of the fix is.", + "actorId": 158950, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review-comment:2313053174", + "kind": "review-comment", + "actor": "sapphi-red", + "createdAt": "2025-09-01T06:57:24Z", + "editedAt": "2025-09-01T06:57:25Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2313053174", + "summary": "The maintainer agrees the assignment is fine but identifies a deeper issue: hashes for dependencies discovered later are never persisted, so other code paths would also need fixing, which they are willing to leave for now.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:review-comment:2292697333" + }, + { + "id": "vite-20609:review-comment:2319644356", + "kind": "review-comment", + "actor": "infiton", + "createdAt": "2025-09-03T17:09:28Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2319644356", + "summary": "The opener sees no clean fix for those paths and asks to land this part first.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:review-comment:2292697333" + }, + { + "id": "vite-20609:comment:3250084578", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-09-03T17:10:04Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3250084578", + "summary": "The opener reports being back and available.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3266302214", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-09-08T13:24:58Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3266302214", + "summary": "The opener asks whether it can be merged.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review:3221049725", + "kind": "review", + "actor": "sapphi-red", + "createdAt": "2025-09-13T15:56:38Z", + "url": "https://github.com/vitejs/vite/pull/20609#pullrequestreview-3221049725", + "summary": "The maintainer approves the PR.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:process:renamed:2025-09-13T15:57:11Z", + "kind": "process", + "actor": "sapphi-red", + "createdAt": "2025-09-13T15:57:11Z", + "url": "https://github.com/vitejs/vite/pull/20609", + "summary": "The maintainer retitles the PR to the optimizer scope.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3288573967", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2025-09-13T16:01:07Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3288573967", + "summary": "The maintainer asks for a second maintainer's review.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review:3233191234", + "kind": "review", + "actor": "bluwy", + "createdAt": "2025-09-17T08:00:50Z", + "url": "https://github.com/vitejs/vite/pull/20609#pullrequestreview-3233191234", + "summary": "A second maintainer finds it acceptable but asks for a code comment explaining why the new code waits for scan processing.", + "actorId": 34116392, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3304626548", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-09-17T21:31:17Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3304626548", + "summary": "The opener asks the first maintainer to merge.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3304884168", + "kind": "comment", + "actor": "bluwy", + "createdAt": "2025-09-17T23:53:43Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3304884168", + "summary": "The second maintainer notes their comment is still unaddressed and asks the opener not to push.", + "actorId": 34116392, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3305011219", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-09-18T00:54:28Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3305011219", + "summary": "A contributor triggers an ecosystem CI run.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3305012342", + "kind": "comment", + "actor": "pkg-pr-new[bot]", + "createdAt": "2025-09-18T00:55:18Z", + "editedAt": "2025-10-09T23:46:09Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3305012342", + "summary": "A bot posts a preview package for the PR.", + "actorId": 167837488, + "actorType": "bot", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3305056816", + "kind": "comment", + "actor": "vite-ecosystem-ci[bot]", + "createdAt": "2025-09-18T01:24:35Z", + "editedAt": "2025-09-18T03:02:42Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3305056816", + "summary": "A comment GitHub marks as hidden (duplicate); a bot reports ecosystem CI results with a few suite failures.", + "actorId": 112554340, + "actorType": "bot", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3305236606", + "kind": "comment", + "actor": "vite-ecosystem-ci[bot]", + "createdAt": "2025-09-18T02:57:00Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3305236606", + "summary": "A bot reports ecosystem CI results, with laravel, unocss and sveltekit failing.", + "actorId": 112554340, + "actorType": "bot", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3305257605", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2025-09-18T03:10:10Z", + "editedAt": "2025-09-18T04:25:16Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3305257605", + "summary": "The maintainer first suspects the sveltekit failure, then finds it also fails on main.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review:3237362902", + "kind": "review", + "actor": "hi-ogawa", + "createdAt": "2025-09-18T05:42:55Z", + "url": "https://github.com/vitejs/vite/pull/20609#pullrequestreview-3237362902", + "summary": "A contributor doubts this fully fixes the use case but finds it fine as a start, and asks whether another ?v= injection site in the resolver also needs to wait.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3323888350", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-09-23T12:52:11Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3323888350", + "summary": "The opener asks how to help get it released.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3326022892", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-09-24T00:42:57Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3326022892", + "summary": "A contributor asks if the patch was tested on the platform, pointing to the preview build.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3326461163", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-09-24T04:39:17Z", + "editedAt": "2025-09-24T04:39:26Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3326461163", + "summary": "The opener says they have run the patch on 6.3.5 for over a month and it fully resolved the issue.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review:3287495227", + "kind": "review", + "actor": "sapphi-red", + "createdAt": "2025-10-01T04:06:24Z", + "url": "https://github.com/vitejs/vite/pull/20609#pullrequestreview-3287495227", + "summary": "The maintainer requests changes so the two open review points are addressed.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:process:review_dismissed:2025-10-09T22:59:22Z", + "kind": "process", + "actor": "infiton", + "createdAt": "2025-10-09T22:59:22Z", + "url": "https://github.com/vitejs/vite/pull/20609", + "summary": "The opener dismisses the earlier review.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3387730628", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-10-09T23:00:16Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3387730628", + "summary": "The opener says the comments are addressed.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:review-comment:2418128951", + "kind": "review-comment", + "actor": "graphite-app[bot]", + "createdAt": "2025-10-09T23:01:30Z", + "editedAt": "2025-10-09T23:01:31Z", + "url": "https://github.com/vitejs/vite/pull/20609#discussion_r2418128951", + "summary": "A bot reviewer warns that a resolver call may now return a Promise that is not awaited.", + "actorId": 96075541, + "actorType": "bot", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3414247619", + "kind": "comment", + "actor": "sapphi-red", + "createdAt": "2025-10-17T07:38:18Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3414247619", + "summary": "The maintainer reverses course: a broken WebSocket should surface as an overlay error instead, partial module graphs remain a problem, the change effectively makes the scanner blocking and undoes an earlier PR, and the diff is too large to port to rolldown-vite before the next major.", + "actorId": 49056869, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3414692653", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-10-17T09:47:34Z", + "editedAt": "2025-10-17T09:50:21Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3414692653", + "summary": "A contributor shares a repro suggesting the real cause may be the Vite client loading too late in React Router, and asks for a concrete repro of the Gadget setup.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3415088832", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-10-17T11:25:59Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3415088832", + "summary": "The opener asks whether the repro implies a userland fix.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3415419269", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-10-17T12:39:29Z", + "editedAt": "2025-10-17T12:39:57Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3415419269", + "summary": "The contributor clarifies the causes may differ and suggests loading the client early from the HTML head or React Router's bootstrap script.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3586382159", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-11-27T15:12:02Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3586382159", + "summary": "The opener says they will close this and try another approach.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:process:closed:2025-11-27T15:12:02Z", + "kind": "process", + "actor": "infiton", + "createdAt": "2025-11-27T15:12:02Z", + "url": "https://github.com/vitejs/vite/pull/20609", + "summary": "The opener closes the PR unmerged.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3589570215", + "kind": "comment", + "actor": "infiton", + "createdAt": "2025-11-28T14:38:41Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3589570215", + "summary": "The opener posts a minimal repro of their setup and notes newer Vite mostly fails with an outdated-dependency 504 instead.", + "actorId": 4368488, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + }, + { + "id": "vite-20609:comment:3594339926", + "kind": "comment", + "actor": "hi-ogawa", + "createdAt": "2025-12-01T03:09:34Z", + "url": "https://github.com/vitejs/vite/pull/20609#issuecomment-3594339926", + "summary": "A contributor asks them to file an issue with the repro.", + "actorId": 4232207, + "actorType": "human", + "parentId": "vite-20609:pr:20609" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-centered-editor-layout.json b/evals/datasets/decisions-v1/cases/vscode-centered-editor-layout.json new file mode 100644 index 000000000..150bf9d59 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-centered-editor-layout.json @@ -0,0 +1,842 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-centered-editor-layout", + "title": "Centered editor layout for zen mode", + "source": { + "url": "https://github.com/microsoft/vscode/issues/15684", + "retrievedAt": "2026-10-18T07:19:37.866245+00:00", + "repository": "microsoft/vscode", + "number": 15684 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-11-19T00:00:00Z" + }, + { + "id": "c2", + "at": "2017-12-28T00:00:00Z" + }, + { + "id": "c3", + "at": "2018-02-20T00:00:00Z" + }, + { + "id": "c4", + "at": "2018-02-22T00:00:00Z" + } + ], + "events": [ + { + "id": "vscode-15684:issue:15684", + "kind": "opening", + "actor": "mjbvz", + "createdAt": "2016-11-18T01:36:24Z", + "url": "https://github.com/microsoft/vscode/issues/15684", + "summary": "A maintainer proposes a centered editor layout option, inspired by an Atom extension, that soft-wraps and centers content, mainly for zen mode and prose, while noting it adds a UI configuration to support that does not fit every VS Code paradigm.", + "actorId": 12821956, + "actorType": "human" + }, + { + "id": "vscode-15684:comment:267195957", + "kind": "comment", + "actor": "Zyst", + "createdAt": "2016-12-15T00:04:05Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-267195957", + "summary": "A user asks whether any extension does this today.", + "actorId": 3832380, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:267207319", + "kind": "comment", + "actor": "mjbvz", + "createdAt": "2016-12-15T01:11:27Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-267207319", + "summary": "A maintainer says extensions cannot change the workbench layout like this.", + "actorId": 12821956, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:267232611", + "kind": "comment", + "actor": "atombender", + "createdAt": "2016-12-15T03:58:04Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-267232611", + "summary": "A user suggests letting people set a target width in characters so a line of that length stays centered.", + "actorId": 50314, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:267640822", + "kind": "comment", + "actor": "coreh", + "createdAt": "2016-12-16T16:58:46Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-267640822", + "summary": "A user asks whether an extension could fake it with extra gutters.", + "actorId": 418473, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:283531812", + "kind": "comment", + "actor": "phest", + "createdAt": "2017-03-02T01:54:24Z", + "editedAt": "2017-03-02T05:12:34Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-283531812", + "summary": "A user also wants top and bottom margins, citing WriteRoom, with a mockup.", + "actorId": 8858, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:288681147", + "kind": "comment", + "actor": "filipesilva", + "createdAt": "2017-03-23T10:45:20Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-288681147", + "summary": "A user says zen mode on an ultrawide monitor wastes space with the editor stuck left.", + "actorId": 4172079, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:289389825", + "kind": "comment", + "actor": "msageryd", + "createdAt": "2017-03-27T08:40:37Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-289389825", + "summary": "A user on a 27-inch screen supports centering for ergonomic reasons.", + "actorId": 4483085, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:290062488", + "kind": "comment", + "actor": "filipesilva", + "createdAt": "2017-03-29T11:32:26Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-290062488", + "summary": "A user compares VS Code zen mode with WebStorm's centered distraction-free mode on ultrawide screens.", + "actorId": 4172079, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:290665986", + "kind": "comment", + "actor": "datendenker", + "createdAt": "2017-03-31T09:33:14Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-290665986", + "summary": "A user adds support.", + "actorId": 12610822, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:290920066", + "kind": "comment", + "actor": "marcotas", + "createdAt": "2017-04-01T13:27:33Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-290920066", + "summary": "A user adds support.", + "actorId": 3236791, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:298705250", + "kind": "comment", + "actor": "Grogs", + "createdAt": "2017-05-02T17:32:42Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-298705250", + "summary": "A user adds support, saying this keeps zen mode behind IntelliJ.", + "actorId": 1212907, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:300830685", + "kind": "comment", + "actor": "prokher", + "createdAt": "2017-05-11T15:43:19Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-300830685", + "summary": "A user adds support.", + "actorId": 399393, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:302266480", + "kind": "comment", + "actor": "cmer", + "createdAt": "2017-05-18T00:21:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-302266480", + "summary": "A user adds support.", + "actorId": 412, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:302900069", + "kind": "comment", + "actor": "bradharms", + "createdAt": "2017-05-20T21:34:21Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-302900069", + "summary": "A user adds support.", + "actorId": 1239044, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:303772940", + "kind": "comment", + "actor": "prichodko", + "createdAt": "2017-05-24T16:10:33Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-303772940", + "summary": "A user adds support.", + "actorId": 14926950, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304171132", + "kind": "comment", + "actor": "bjrnt", + "createdAt": "2017-05-26T02:02:29Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304171132", + "summary": "A user adds support.", + "actorId": 484114, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304588386", + "kind": "comment", + "actor": "neronmoon", + "createdAt": "2017-05-29T07:05:53Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304588386", + "summary": "A user adds support.", + "actorId": 486922, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304707921", + "kind": "comment", + "actor": "klaytonfaria", + "createdAt": "2017-05-29T17:55:54Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304707921", + "summary": "A user adds support.", + "actorId": 1502981, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304708533", + "kind": "comment", + "actor": "jens1o", + "createdAt": "2017-05-29T18:01:13Z", + "editedAt": "2017-12-23T17:21:56Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304708533", + "summary": "A contributor asks people to use reactions instead of +1 comments.", + "actorId": 11234139, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304725132", + "kind": "comment", + "actor": "filipesilva", + "createdAt": "2017-05-29T20:17:40Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304725132", + "summary": "A user agrees reactions help gauge interest.", + "actorId": 4172079, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304741699", + "kind": "comment", + "actor": "phest", + "createdAt": "2017-05-29T22:59:15Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304741699", + "summary": "A user defends commenters as wanting a status update.", + "actorId": 8858, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:304769151", + "kind": "comment", + "actor": "jens1o", + "createdAt": "2017-05-30T03:59:08Z", + "editedAt": "2017-05-30T03:59:31Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-304769151", + "summary": "The contributor points to the reaction button and apologises for the tone.", + "actorId": 11234139, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:310897336", + "kind": "comment", + "actor": "asgmojtaba", + "createdAt": "2017-06-25T11:28:40Z", + "editedAt": "2017-06-25T11:30:18Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-310897336", + "summary": "A user shares a workaround: split the editor with an empty tab to approximate centering.", + "actorId": 8407187, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:325439516", + "kind": "comment", + "actor": "exallium", + "createdAt": "2017-08-28T18:33:29Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-325439516", + "summary": "A user says it would help outside zen mode too.", + "actorId": 782820, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:328790251", + "kind": "comment", + "actor": "lomholdt", + "createdAt": "2017-09-12T09:02:51Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-328790251", + "summary": "A user on an ultrawide asks again for centering.", + "actorId": 1733744, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:335656658", + "kind": "comment", + "actor": "btstream", + "createdAt": "2017-10-11T01:42:55Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-335656658", + "summary": "A user adds support.", + "actorId": 380671, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:336621300", + "kind": "comment", + "actor": "thundernixon", + "createdAt": "2017-10-14T08:53:45Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-336621300", + "summary": "A user thanks the workaround author and wishes for a hotkey.", + "actorId": 7355414, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:343350660", + "kind": "comment", + "actor": "anhdat", + "createdAt": "2017-11-10T01:49:43Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-343350660", + "summary": "A user shares another workaround using an empty search panel.", + "actorId": 2699721, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:349300432", + "kind": "comment", + "actor": "mathsalmi", + "createdAt": "2017-12-05T13:14:07Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-349300432", + "summary": "A contributor complains the issue has been open a year.", + "actorId": 1981698, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:349350695", + "kind": "comment", + "actor": "jens1o", + "createdAt": "2017-12-05T16:03:20Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-349350695", + "summary": "A contributor invites them to send a PR.", + "actorId": 11234139, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:process:cross-referenced:2017-12-23T15:45:35Z", + "kind": "process", + "actor": "SrTobi", + "createdAt": "2017-12-23T15:45:35Z", + "url": "https://github.com/microsoft/vscode/issues/15684", + "summary": "A contributor links PR #40757, which adds a center mode.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:353733022", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2017-12-23T15:47:05Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-353733022", + "summary": "A contributor announces a PR with a preview animation.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:353735377", + "kind": "comment", + "actor": "mathsalmi", + "createdAt": "2017-12-23T16:30:45Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-353735377", + "summary": "The earlier complainer praises the work and apologises.", + "actorId": 1981698, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354002024", + "kind": "comment", + "actor": "dtgriscom", + "createdAt": "2017-12-26T19:06:44Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354002024", + "summary": "A user asks why it is limited to zen mode and whether margins scale with multiple editor groups.", + "actorId": 842958, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354096359", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2017-12-27T10:57:56Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354096359", + "summary": "The PR author explains it activates only in zen mode with one group and a text editor, behind a `zenMode.centerEditor` setting, and asks for use cases to decide behaviour elsewhere.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354110733", + "kind": "comment", + "actor": "dtgriscom", + "createdAt": "2017-12-27T13:01:08Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354110733", + "summary": "A user proposes making it general rather than zen-only, sizing by text columns instead of percentages, and an align option, sketching an `editor.limitWidth` settings object.", + "actorId": 842958, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354130068", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2017-12-27T15:31:30Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354130068", + "summary": "The PR author likes columns and adds ideas: an option to let the rightmost editor fill remaining space, and centering on the window rather than the available area.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354148749", + "kind": "comment", + "actor": "dtgriscom", + "createdAt": "2017-12-27T17:40:53Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354148749", + "summary": "The user urges keeping it minimal, worrying that columns and window-centering add special cases that make the PR less likely to be accepted.", + "actorId": 842958, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354149975", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2017-12-27T17:50:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354149975", + "summary": "The PR author agrees and will wait for a maintainer to approve the technical approach before adding features.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354171841", + "kind": "comment", + "actor": "dtgriscom", + "createdAt": "2017-12-27T20:17:09Z", + "editedAt": "2017-12-27T20:17:34Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354171841", + "summary": "The user says their own request was closed as a duplicate of this one.", + "actorId": 842958, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:process:renamed:2017-12-28T08:22:57Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2017-12-28T08:22:57Z", + "url": "https://github.com/microsoft/vscode/issues/15684", + "summary": "A maintainer renames the issue to prefix it with zen mode.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:354406939", + "kind": "comment", + "actor": "rchrdnsh", + "createdAt": "2017-12-29T06:58:55Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-354406939", + "summary": "A user asks when it will work.", + "actorId": 7884263, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:355296934", + "kind": "comment", + "actor": "mikerockett", + "createdAt": "2018-01-04T14:33:52Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-355296934", + "summary": "A user backs the settings-object idea, suggesting activation values zen, fullscreen and always.", + "actorId": 4586280, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:362940800", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2018-02-04T21:22:03Z", + "editedAt": "2018-02-04T21:22:24Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-362940800", + "summary": "The PR author reworks it: center mode is now independent of zen mode, toggled by an action or auto-activated per context, with settings for size, extending to the right edge, and editors-only.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:365587609", + "kind": "comment", + "actor": "jeffochoa", + "createdAt": "2018-02-14T12:06:01Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-365587609", + "summary": "A user asks when it will merge.", + "actorId": 8247079, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:365596251", + "kind": "comment", + "actor": "jens1o", + "createdAt": "2018-02-14T12:43:59Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-365596251", + "summary": "A contributor says it is scheduled for the February release.", + "actorId": 11234139, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:365709634", + "kind": "comment", + "actor": "phest", + "createdAt": "2018-02-14T18:59:49Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-365709634", + "summary": "A user corrects that it is only a stretch goal.", + "actorId": 8858, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:367228324", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2018-02-21T06:37:50Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-367228324", + "summary": "A maintainer merges the PR and hands follow-up work to another maintainer.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:367230962", + "kind": "comment", + "actor": "MikeDevice", + "createdAt": "2018-02-21T06:55:33Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-367230962", + "summary": "A user asks whether it will be in the next release.", + "actorId": 7154108, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:367251609", + "kind": "comment", + "actor": "isidorn", + "createdAt": "2018-02-21T08:40:20Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-367251609", + "summary": "A maintainer takes over follow-up work.", + "actorId": 1926584, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:367305378", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2018-02-21T12:04:05Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-367305378", + "summary": "The PR author likes the added border and links a follow-up PR to center automatically on entering zen mode.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:367340180", + "kind": "comment", + "actor": "isidorn", + "createdAt": "2018-02-21T14:18:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-367340180", + "summary": "A maintainer says it is fixed by the merged PR.", + "actorId": 1926584, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:process:closed:2018-02-21T14:18:17Z", + "kind": "process", + "actor": "isidorn", + "createdAt": "2018-02-21T14:18:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684", + "summary": "A maintainer closes the issue.", + "actorId": 1926584, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371512339", + "kind": "comment", + "actor": "robsonsobral", + "createdAt": "2018-03-08T15:00:26Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371512339", + "summary": "A user asks to enable centering per file type such as Markdown.", + "actorId": 931642, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371515054", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2018-03-08T15:08:51Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371515054", + "summary": "The PR author says no; use zen mode or the toggle action.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371525449", + "kind": "comment", + "actor": "alessandro-fazzi", + "createdAt": "2018-03-08T15:41:03Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371525449", + "summary": "A user reports the toggle does nothing on macOS.", + "actorId": 904690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371527710", + "kind": "comment", + "actor": "alessandro-fazzi", + "createdAt": "2018-03-08T15:47:44Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371527710", + "summary": "The user says resetting config fixed it.", + "actorId": 904690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371554537", + "kind": "comment", + "actor": "iCodeForBananas", + "createdAt": "2018-03-08T17:09:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371554537", + "summary": "Another user says the command does nothing for them either.", + "actorId": 8272012, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371560520", + "kind": "comment", + "actor": "alessandro-fazzi", + "createdAt": "2018-03-08T17:28:11Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371560520", + "summary": "The first user says a layout shortcut indirectly toggles centering.", + "actorId": 904690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371593610", + "kind": "comment", + "actor": "OutThisLife", + "createdAt": "2018-03-08T19:18:04Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371593610", + "summary": "A user asks to resize the editor off-center instead of only centering.", + "actorId": 770929, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371609363", + "kind": "comment", + "actor": "robsonsobral", + "createdAt": "2018-03-08T20:11:31Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371609363", + "summary": "The per-file requester expresses disappointment.", + "actorId": 931642, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371620425", + "kind": "comment", + "actor": "3ximus", + "createdAt": "2018-03-08T20:52:17Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371620425", + "summary": "A user explains that holding Alt while dragging moves the borders independently.", + "actorId": 9083012, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371624977", + "kind": "comment", + "actor": "alessandro-fazzi", + "createdAt": "2018-03-08T21:08:47Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371624977", + "summary": "A user says the Alt drag does not work for them.", + "actorId": 904690, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371644450", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2018-03-08T22:20:21Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371644450", + "summary": "The PR author confirms Alt-drag decouples the sashes horizontally; vertical was considered and set aside.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371651906", + "kind": "comment", + "actor": "OutThisLife", + "createdAt": "2018-03-08T22:49:06Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371651906", + "summary": "The asker thanks them.", + "actorId": 770929, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371753772", + "kind": "comment", + "actor": "nohwnd", + "createdAt": "2018-03-09T09:01:42Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371753772", + "summary": "A maintainer asks how to reset the borders.", + "actorId": 5735905, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:371754181", + "kind": "comment", + "actor": "isidorn", + "createdAt": "2018-03-09T09:03:23Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-371754181", + "summary": "A maintainer says double-clicking the sash resets them.", + "actorId": 1926584, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:372085763", + "kind": "comment", + "actor": "ericls", + "createdAt": "2018-03-11T03:07:29Z", + "editedAt": "2018-03-11T03:08:55Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-372085763", + "summary": "A user was confused by centering turning on in zen mode and suggests not enabling it by default when zen full screen is off.", + "actorId": 4508461, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:373471828", + "kind": "comment", + "actor": "addertheblack", + "createdAt": "2018-03-15T18:08:34Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-373471828", + "summary": "A user says they use zen mode to see wider code, questioning centering by default.", + "actorId": 6987545, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:373583343", + "kind": "comment", + "actor": "Vxider", + "createdAt": "2018-03-16T02:22:54Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-373583343", + "summary": "A user asks whether the sashes can be hidden.", + "actorId": 6134315, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:373677949", + "kind": "comment", + "actor": "SrTobi", + "createdAt": "2018-03-16T10:52:36Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-373677949", + "summary": "The PR author says no and suggests a new issue.", + "actorId": 4148534, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + }, + { + "id": "vscode-15684:comment:373692485", + "kind": "comment", + "actor": "davidmrnustik", + "createdAt": "2018-03-16T11:58:56Z", + "editedAt": "2018-03-16T12:01:20Z", + "url": "https://github.com/microsoft/vscode/issues/15684#issuecomment-373692485", + "summary": "A user reports the sashes capture clicks over tabs.", + "actorId": 2786507, + "actorType": "human", + "parentId": "vscode-15684:issue:15684" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-completion-label-details.json b/evals/datasets/decisions-v1/cases/vscode-completion-label-details.json new file mode 100644 index 000000000..00500a580 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-completion-label-details.json @@ -0,0 +1,676 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-completion-label-details", + "title": "Showing extra detail inline for every completion item", + "source": { + "url": "https://github.com/microsoft/vscode/issues/39441", + "retrievedAt": "2026-10-18T07:19:44.221446+00:00", + "repository": "microsoft/vscode", + "number": 39441 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2018-02-08T00:00:00Z" + }, + { + "id": "c2", + "at": "2020-01-16T00:00:00Z" + }, + { + "id": "c3", + "at": "2021-06-28T00:00:00Z" + }, + { + "id": "c4", + "at": "2021-06-28T13:00:00Z" + } + ], + "events": [ + { + "id": "vscode-39441:issue:39441", + "kind": "opening", + "actor": "bmewburn", + "createdAt": "2017-12-01T22:35:29Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "The opener asks that the completion item `detail` be shown for every row, not just the focused one, so items with identical labels from different namespaces can be told apart, and questions the point of `detail` if the workaround is stuffing it into the label.", + "actorId": 5885195, + "actorType": "human" + }, + { + "id": "vscode-39441:comment:363707303", + "kind": "comment", + "actor": "bmewburn", + "createdAt": "2018-02-07T09:23:12Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-363707303", + "summary": "The opener adds that putting the detail into the label causes wrong match highlighting.", + "actorId": 5885195, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:463150994", + "kind": "comment", + "actor": "olafurpg", + "createdAt": "2019-02-13T10:45:29Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-463150994", + "summary": "A user asks how to contribute a fix that displays `detail` when present, calling it an easy UX win.", + "actorId": 1408093, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:463171989", + "kind": "comment", + "actor": "gabro", + "createdAt": "2019-02-13T11:54:41Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-463171989", + "summary": "A user notes the Java language server works around this by putting the package into the label.", + "actorId": 691940, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:487825254", + "kind": "comment", + "actor": "bmewburn", + "createdAt": "2019-04-30T05:29:07Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-487825254", + "summary": "The opener asks whether the label workaround breaks highlighting for them.", + "actorId": 5885195, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:487827554", + "kind": "comment", + "actor": "olafurpg", + "createdAt": "2019-04-30T05:46:56Z", + "editedAt": "2019-04-30T05:47:19Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-487827554", + "summary": "A user says highlighting is fine if filterText omits the appended namespace.", + "actorId": 1408093, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:564424098", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2019-12-11T08:00:04Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-564424098", + "summary": "A maintainer plans to implement it for the January 2020 release, possibly behind a setting since existing label workarounds would then look bad.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:570570961", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-03T13:25:17Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-570570961", + "summary": "A maintainer says it should also help Java, whose labels are overloaded.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:572978622", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-01-10T10:27:40Z", + "editedAt": "2020-03-24T19:25:04Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-572978622", + "summary": "A maintainer reports a prototype with a `CompletionList#isDetailsResolved` flag and a planned setting, lists UX problems with async resolution and repeated info icons, and asks what the default should be and whether to dedupe details.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:572993976", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-10T11:12:31Z", + "editedAt": "2020-01-21T09:57:29Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-572993976", + "summary": "A maintainer suggests showing the info icon only on the focused row, since it opens the docs pane.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:573059266", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-01-10T14:35:24Z", + "editedAt": "2020-01-21T09:57:39Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-573059266", + "summary": "A maintainer replies that rows whose detail equals the label already render without the icon, which looks bad.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:573100591", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-10T16:15:06Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-573100591", + "summary": "A maintainer agrees it looks bad and leans toward a colleague's idea: leave `detail` alone and add a new label-detail property rendered after the label.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:574575518", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-01-15T09:36:20Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-574575518", + "summary": "A maintainer proposes making `label` accept either a string or a `CompletionItemLabel` object with name and details, and explains why it rejected an `isDetailsResolved` list flag and a flat `labelDetails` item property.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:574581181", + "kind": "comment", + "actor": "bmewburn", + "createdAt": "2020-01-15T09:50:13Z", + "editedAt": "2020-01-15T09:51:38Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-574581181", + "summary": "The opener likes the proposal and maps their namespace use case onto it.", + "actorId": 5885195, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:574977176", + "kind": "comment", + "actor": "akaroml", + "createdAt": "2020-01-16T04:30:46Z", + "editedAt": "2020-01-16T04:31:15Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-574977176", + "summary": "A maintainer from the Java team supports separate label and item detail and shares a mock moving info out of the Java label.", + "actorId": 16755094, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:labeled:2020-01-16T11:37:03Z", + "kind": "process", + "actor": "jrieken", + "createdAt": "2020-01-16T11:37:03Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer labels the issue as an API proposal.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:575197886", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-16T15:14:59Z", + "editedAt": "2020-01-16T15:28:57Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-575197886", + "summary": "A maintainer sketches a richer label with name, signature, qualifier and type, rendered across the row.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:575424302", + "kind": "comment", + "actor": "mjbvz", + "createdAt": "2020-01-17T01:29:41Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-575424302", + "summary": "A maintainer on the TypeScript extension asks whether to get TS team feedback now or later.", + "actorId": 12821956, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:575532882", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-17T08:48:09Z", + "editedAt": "2020-01-17T08:48:55Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-575532882", + "summary": "A maintainer wants TS input, noting the data must come from the provide call, not resolve, and points to a separate TS issue.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:closed:2020-01-21T09:36:12Z", + "kind": "process", + "actor": "octref", + "createdAt": "2020-01-21T09:36:12Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer closes the issue.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:576596728", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-01-21T09:36:41Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-576596728", + "summary": "A maintainer says a `label2` property with name and type is going into the proposed API, to become a union on `label` later.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:576604851", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-01-21T09:57:00Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-576604851", + "summary": "A maintainer says the issue should stay open to track the API process.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:reopened:2020-01-21T09:57:00Z", + "kind": "process", + "actor": "jrieken", + "createdAt": "2020-01-21T09:57:00Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer reopens the issue.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:581522274", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-02-03T17:20:30Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-581522274", + "summary": "A maintainer shows the current UI with the suggest status bar and sample provider code.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:582675966", + "kind": "comment", + "actor": "mjbvz", + "createdAt": "2020-02-06T00:18:05Z", + "editedAt": "2020-02-06T00:18:36Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-582675966", + "summary": "A maintainer relays TS team concerns: completion lists often exceed 1000 items, extra fields add payload, signatures are costly, and they would prefer lazy label resolution for visible rows.", + "actorId": 12821956, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:582703600", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-02-06T02:13:58Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-582703600", + "summary": "A maintainer describes the dilemma between upfront cost and lazy resolution, and floats resolving visible items after a typing pause.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:582829355", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-02-06T10:09:09Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-582829355", + "summary": "A maintainer pushes back, asking TS to measure before assuming payload cost, suggests caching static globals, and wants TS specifics moved to the separate issue.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:583051580", + "kind": "comment", + "actor": "mjbvz", + "createdAt": "2020-02-06T18:44:45Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-583051580", + "summary": "The TS extension maintainer objects that this is real feedback from the most used language and offers a meeting with TS.", + "actorId": 12821956, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:583280869", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-02-07T08:12:02Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-583280869", + "summary": "A maintainer clarifies that other languages like Java and PHP can implement this and welcomes a direct TS discussion.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:583770579", + "kind": "comment", + "actor": "Gama11", + "createdAt": "2020-02-08T19:50:17Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-583770579", + "summary": "A contributor from the Haxe extension asks whether the qualifier will be used for filtering, since they put package paths in labels for that reason.", + "actorId": 2620907, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:583772992", + "kind": "comment", + "actor": "gabro", + "createdAt": "2020-02-08T20:19:34Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-583772992", + "summary": "A user says the Scala language server would adopt it quickly via LSP.", + "actorId": 691940, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:584577585", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-02-11T10:51:43Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-584577585", + "summary": "A maintainer says only the name is used for filtering and highlighting; qualifier filtering is interesting but adds semantics.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:584584450", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-02-11T11:09:16Z", + "editedAt": "2020-02-11T11:13:03Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-584584450", + "summary": "A maintainer asks for feedback on naming: signature is ambiguous because it excludes return type, and qualifier might become qualifiedName.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:584818823", + "kind": "comment", + "actor": "Gama11", + "createdAt": "2020-02-11T19:49:33Z", + "editedAt": "2020-02-11T19:50:41Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-584818823", + "summary": "A contributor argues qualifiedName implies including the label and prefers qualifier.", + "actorId": 2620907, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:601329970", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2020-03-19T18:00:59Z", + "editedAt": "2020-03-25T20:19:39Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-601329970", + "summary": "A TypeScript team member asks whether the ideal response would list each overload as its own completion.", + "actorId": 3277153, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:604038915", + "kind": "comment", + "actor": "octref", + "createdAt": "2020-03-25T19:25:54Z", + "editedAt": "2020-03-25T19:26:00Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-604038915", + "summary": "A maintainer renames signature to parameters to show it excludes the return type.", + "actorId": 4033249, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:672774731", + "kind": "comment", + "actor": "svipas", + "createdAt": "2020-08-12T09:53:32Z", + "editedAt": "2020-08-12T09:57:27Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-672774731", + "summary": "A contributor asks how to move the stalled proposal forward so other languages can ship while TS catches up.", + "actorId": 10441177, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:673348075", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2020-08-13T08:44:29Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-673348075", + "summary": "A maintainer says TS seems unable to implement it, options are to ignore TS or revisit, and the developer on it has left the team.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:673355985", + "kind": "comment", + "actor": "svipas", + "createdAt": "2020-08-13T08:59:57Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-673355985", + "summary": "The contributor thanks them.", + "actorId": 10441177, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:unlabeled:2021-06-08T14:54:19Z", + "kind": "process", + "actor": "jrieken", + "createdAt": "2021-06-08T14:54:19Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer removes the API proposal label.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:labeled:2021-06-08T14:54:19Z", + "kind": "process", + "actor": "jrieken", + "createdAt": "2021-06-08T14:54:19Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer labels the issue for API finalization.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865059160", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-21T14:03:49Z", + "editedAt": "2021-06-21T14:04:41Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865059160", + "summary": "A maintainer issues a last call before finalizing the union label type, noting labels must be complete at provide time, filtering uses only the name, and naming is still open.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865092326", + "kind": "comment", + "actor": "Gama11", + "createdAt": "2021-06-21T14:46:50Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865092326", + "summary": "A contributor prefers signature and still wants qualifier filtering, perhaps via a setting.", + "actorId": 2620907, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865094320", + "kind": "comment", + "actor": "DanTup", + "createdAt": "2021-06-21T14:49:32Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865094320", + "summary": "A contributor from the Dart extension asks whether this replaces `detail`, how it renders, and whether signature means only parameters.", + "actorId": 1078012, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865097764", + "kind": "comment", + "actor": "DanTup", + "createdAt": "2021-06-21T14:53:58Z", + "editedAt": "2021-06-21T14:54:31Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865097764", + "summary": "The Dart contributor raises a related wish for multiple filter and ranking values.", + "actorId": 1078012, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865110702", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-21T15:07:29Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865110702", + "summary": "A maintainer says the structured label replaces inline detail rendering, shows a TS example using qualifier, and asks whether to keep signature and type separately or merge them.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865127440", + "kind": "comment", + "actor": "DanTup", + "createdAt": "2021-06-21T15:29:42Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865127440", + "summary": "The Dart contributor leans toward splitting fields given visual noise, but worries about how busy it looks.", + "actorId": 1078012, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865133391", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-06-21T15:37:41Z", + "editedAt": "2021-06-21T15:40:58Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865133391", + "summary": "A TypeScript team member repeats that computing details for huge global lists is too costly, describes chunked incomplete responses, asks for an API to resolve visible rows plus overscroll, and prefers matching LSP's parameters name.", + "actorId": 3277153, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865180485", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-21T16:34:32Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865180485", + "summary": "A maintainer shows sample renderings and notes alignment problems when combined with qualifier.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865180548", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-21T16:34:39Z", + "editedAt": "2021-06-21T16:35:58Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865180548", + "summary": "A maintainer explains LSP mirrors the VS Code proposal, argues lazily resolved rows would flicker under type-to-filter, but agrees not to block other extensions on TS.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865205618", + "kind": "comment", + "actor": "andrewbranch", + "createdAt": "2021-06-21T17:13:14Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865205618", + "summary": "The TS team member counters that incomplete lists already behave this way.", + "actorId": 3277153, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865850234", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-22T10:07:12Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865850234", + "summary": "A maintainer clarifies incompleteness is about item count, not depth, and acknowledges the UI lacks a loading indicator.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865852763", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-22T10:10:55Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865852763", + "summary": "A maintainer proposes reducing to label, signature and qualifier, possibly renaming signature to detail, and shows two layouts: one row or right-aligned qualifier.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865864018", + "kind": "comment", + "actor": "DanTup", + "createdAt": "2021-06-22T10:27:37Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865864018", + "summary": "The Dart contributor suggests detail or description, prefers right-aligned qualifier for scanning, and asks about the details popup.", + "actorId": 1078012, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:865878312", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-22T10:50:06Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-865878312", + "summary": "A maintainer leans toward label, detail and description and says the details widget is unchanged.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:comment:869628497", + "kind": "comment", + "actor": "jrieken", + "createdAt": "2021-06-28T12:07:30Z", + "url": "https://github.com/microsoft/vscode/issues/39441#issuecomment-869628497", + "summary": "A maintainer announces the finalized API and asks adopters to report issues.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + }, + { + "id": "vscode-39441:process:closed:2021-06-28T12:07:33Z", + "kind": "process", + "actor": "jrieken", + "createdAt": "2021-06-28T12:07:33Z", + "url": "https://github.com/microsoft/vscode/issues/39441", + "summary": "A maintainer closes the issue on finalization.", + "actorId": 1794099, + "actorType": "human", + "parentId": "vscode-39441:issue:39441" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-dim-unfocused-views.json b/evals/datasets/decisions-v1/cases/vscode-dim-unfocused-views.json new file mode 100644 index 000000000..1bade6e33 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-dim-unfocused-views.json @@ -0,0 +1,898 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-dim-unfocused-views", + "title": "How to show which editor or terminal has focus", + "source": { + "url": "https://github.com/microsoft/vscode/issues/30522", + "retrievedAt": "2026-10-18T07:19:29.342140+00:00", + "repository": "microsoft/vscode", + "number": 30522 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-07-12T19:00:00Z" + }, + { + "id": "c2", + "at": "2023-07-29T22:00:00Z" + }, + { + "id": "c3", + "at": "2023-08-01T16:00:00Z" + }, + { + "id": "c4", + "at": "2023-08-18T15:00:00Z" + } + ], + "events": [ + { + "id": "vscode-30522:issue:30522", + "kind": "opening", + "actor": "jasonhulbert", + "createdAt": "2017-07-12T14:46:27Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The opener often types into the editor when they meant the terminal, or the reverse, and asks for a visual cue such as subtly dimming the inactive part.", + "actorId": 1451375, + "actorType": "human" + }, + { + "id": "vscode-30522:comment:314793182", + "kind": "comment", + "actor": "jasonhulbert", + "createdAt": "2017-07-12T14:48:14Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314793182", + "summary": "The opener adds that it should be an opt-in option, since it could jar existing users, and would help with split editors too.", + "actorId": 1451375, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314827047", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2017-07-12T16:41:25Z", + "editedAt": "2017-07-12T16:42:08Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314827047", + "summary": "A maintainer suggests cursor blinking and the high contrast border as current cues, then asks colleagues about an option that outlines the currently focused part of the workbench, with dimming as an alternative.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:labeled:2017-07-12T16:41:34Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2017-07-12T16:41:34Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "A maintainer marks the issue under-discussion.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314831354", + "kind": "comment", + "actor": "jasonhulbert", + "createdAt": "2017-07-12T16:56:25Z", + "editedAt": "2017-07-12T16:58:49Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314831354", + "summary": "The opener says the blinking cursor is easy to miss on large displays and supports the focus border idea.", + "actorId": 1451375, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314835133", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-07-12T17:10:00Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314835133", + "summary": "A second maintainer dislikes borders, having disabled the existing focus ring himself, and wants a solution without them.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314835872", + "kind": "comment", + "actor": "jasonhulbert", + "createdAt": "2017-07-12T17:12:37Z", + "editedAt": "2017-07-12T17:15:30Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314835872", + "summary": "The opener asks about dimming with an adjustable amount, showing iTerm's inactive pane dimming.", + "actorId": 1451375, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314842154", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2017-07-12T17:36:57Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314842154", + "summary": "The first maintainer says he personally prefers borders and shows a mock-up.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:314857018", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-07-12T18:30:11Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-314857018", + "summary": "The second maintainer says dimming may be better, noting the same ambiguity already exists with side-by-side editors.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:358699461", + "kind": "comment", + "actor": "GregBorrelly", + "createdAt": "2018-01-18T16:23:37Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-358699461", + "summary": "A user offers to implement the request.", + "actorId": 19291544, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:358712296", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2018-01-18T17:03:11Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-358712296", + "summary": "A maintainer replies that there is no clear way forward yet.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:368628377", + "kind": "comment", + "actor": "rifelpet", + "createdAt": "2018-02-26T19:53:23Z", + "editedAt": "2018-02-26T20:12:04Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-368628377", + "summary": "A user describes a related problem where clicking the terminal of an unfocused window puts the cursor in the editor.", + "actorId": 1455650, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:425770592", + "kind": "comment", + "actor": "safield", + "createdAt": "2018-10-01T01:51:23Z", + "editedAt": "2018-10-02T01:46:31Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-425770592", + "summary": "A user supports dimming, citing years with Sublime's InactivePanes plugin.", + "actorId": 12876404, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:438383447", + "kind": "comment", + "actor": "jcherven", + "createdAt": "2018-11-13T18:26:57Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-438383447", + "summary": "A user says existing subtle cues still lead them to type in the wrong pane and praises iTerm2's adjustable dimming.", + "actorId": 1672289, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:482333622", + "kind": "comment", + "actor": "kwonoj", + "createdAt": "2019-04-11T21:47:01Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-482333622", + "summary": "A user shares an extension that marks the active document as a stopgap.", + "actorId": 1210596, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:573168094", + "kind": "comment", + "actor": "paladinu", + "createdAt": "2020-01-10T19:13:23Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-573168094", + "summary": "A user calls configurable dimming the clear winner and asks how to vote.", + "actorId": 1653706, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:573168548", + "kind": "comment", + "actor": "donkzquixote", + "createdAt": "2020-01-10T19:14:50Z", + "editedAt": "2020-01-10T19:17:39Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-573168548", + "summary": "A user votes for it, mainly to avoid typing into the editor by mistake.", + "actorId": 48607712, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:585305023", + "kind": "comment", + "actor": "jasonwilliams", + "createdAt": "2020-02-12T16:55:31Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-585305023", + "summary": "A contributor suggests the issue needs relabelling to enter the feature-voting process.", + "actorId": 936006, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:589754016", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2020-02-21T17:30:45Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-589754016", + "summary": "A maintainer replies that it is already in the backlog and open for votes.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:589763676", + "kind": "comment", + "actor": "jasonhulbert", + "createdAt": "2020-02-21T17:56:34Z", + "editedAt": "2020-02-21T17:56:45Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-589763676", + "summary": "The opener, unsure who was addressed, offers to clarify the request.", + "actorId": 1451375, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:589764104", + "kind": "comment", + "actor": "jasonhulbert", + "createdAt": "2020-02-21T17:57:37Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-589764104", + "summary": "The opener points voters to the early comments and the iTerm example.", + "actorId": 1451375, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:589831479", + "kind": "comment", + "actor": "paladinu", + "createdAt": "2020-02-21T20:55:57Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-589831479", + "summary": "A user explains the maintainer was answering someone else and asks whether old issues get fewer votes.", + "actorId": 1653706, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:589835650", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2020-02-21T21:08:24Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-589835650", + "summary": "The maintainer says it could go either way, and judges the request unpopular given only seven votes in two and a half years.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:706923874", + "kind": "comment", + "actor": "donkzquixote", + "createdAt": "2020-10-12T07:13:21Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-706923874", + "summary": "A user reports a homemade script, via a custom CSS and JS loader, that dims the editor or terminal depending on focus.", + "actorId": 48607712, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:777139702", + "kind": "comment", + "actor": "marcelusaurelius", + "createdAt": "2021-02-11T00:49:53Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-777139702", + "summary": "A user asks for the script.", + "actorId": 15788856, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:777269481", + "kind": "comment", + "actor": "donkzquixote", + "createdAt": "2021-02-11T08:16:41Z", + "editedAt": "2021-02-11T08:19:42Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-777269481", + "summary": "The script author shares the code and setup steps, with caveats about reloads after updates and a corruption warning.", + "actorId": 48607712, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:831512286", + "kind": "comment", + "actor": "carldunham", + "createdAt": "2021-05-03T20:26:12Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-831512286", + "summary": "A user asks where to vote.", + "actorId": 703863, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:840608759", + "kind": "comment", + "actor": "mj-spencer", + "createdAt": "2021-05-13T14:42:51Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-840608759", + "summary": "A user explains that voting means adding a thumbs-up to the opening post.", + "actorId": 64339311, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1048227011", + "kind": "comment", + "actor": "ddnomad", + "createdAt": "2022-02-22T21:26:06Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1048227011", + "summary": "A user says an underline cursor makes the active pane hard to find after navigation shortcuts.", + "actorId": 6703766, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1066184129", + "kind": "comment", + "actor": "samwho", + "createdAt": "2022-03-13T21:19:55Z", + "editedAt": "2022-03-13T21:32:06Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1066184129", + "summary": "A user posts a revised script that works with terminals inside editor groups.", + "actorId": 338027, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1134834033", + "kind": "comment", + "actor": "tobobo", + "createdAt": "2022-05-23T15:41:12Z", + "editedAt": "2022-05-23T15:42:00Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1134834033", + "summary": "A user extends the script to dim everything when the window itself loses focus.", + "actorId": 796548, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1368588467", + "kind": "comment", + "actor": "distek", + "createdAt": "2023-01-02T01:06:19Z", + "editedAt": "2023-01-02T01:30:43Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1368588467", + "summary": "A user adapts the script to draw a border around the focused editor, panel or sidebar instead of dimming.", + "actorId": 49327592, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1485600988", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:05:30Z", + "editedAt": "2023-03-27T18:51:20Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1485600988", + "summary": "A comment GitHub marks as hidden (off-topic); the maintainer later says it was posted to the wrong issue.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:closed:2023-03-27T18:05:30Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:05:30Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "A maintainer closes the issue.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:labeled:2023-03-27T18:05:36Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:05:36Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "A maintainer labels it a duplicate.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1485693040", + "kind": "comment", + "actor": "paladinu", + "createdAt": "2023-03-27T18:48:20Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1485693040", + "summary": "A user objects that the problem is not solved and asks whether it was simply declined.", + "actorId": 1653706, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1485696898", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:51:38Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1485696898", + "summary": "The maintainer apologises for commenting on the wrong issue.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:reopened:2023-03-27T18:51:38Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:51:38Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer reopens the issue.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:unlabeled:2023-03-27T18:51:43Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-03-27T18:51:43Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer removes the duplicate label.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1485790014", + "kind": "comment", + "actor": "paladinu", + "createdAt": "2023-03-27T20:03:58Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1485790014", + "summary": "The user acknowledges the mix-up.", + "actorId": 1653706, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1597409014", + "kind": "comment", + "actor": "boettges", + "createdAt": "2023-06-19T15:47:23Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1597409014", + "summary": "A user shares custom CSS that dims and hides the cursor of an unfocused terminal.", + "actorId": 20265197, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:cross-referenced:2023-07-29T22:44:47Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-07-29T22:44:47Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "A maintainer links PR #189248, which implements dimming of unfocused views.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:closed:2023-08-01T15:48:24Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-01T15:48:24Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer closes the issue as the dimming PR lands.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:cross-referenced:2023-08-01T19:26:53Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-01T19:26:53Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer links PR #189425, which also fades terminal tabs when unfocused.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1671927044", + "kind": "comment", + "actor": "abhijit-chikane", + "createdAt": "2023-08-09T18:25:46Z", + "editedAt": "2023-08-09T18:26:24Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1671927044", + "summary": "A contributor cannot find the feature in Insiders and asks how to enable it.", + "actorId": 50770619, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1672003517", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-09T19:16:40Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1672003517", + "summary": "The maintainer names the setting `accessibility.unfocusedViewOpacity` and asks where people searched for it.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1672129544", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-09T20:50:02Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1672129544", + "summary": "A user says they searched for inactive, pane, panel and dim, expected a boolean, and would never look under accessibility since this is a general display preference.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1672140422", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-09T20:58:39Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1672140422", + "summary": "The maintainer will add keywords, and explains the accessibility placement as making focus clearer, like high contrast borders.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:cross-referenced:2023-08-09T21:15:45Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-09T21:15:45Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer links PR #190098, adding search keywords to the setting.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1672405296", + "kind": "comment", + "actor": "abhijit-chikane", + "createdAt": "2023-08-10T01:31:24Z", + "editedAt": "2023-08-10T01:40:36Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1672405296", + "summary": "The contributor suggests a general setting with an on/off toggle and an optional opacity value, possibly on by default.", + "actorId": 50770619, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1672875070", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-10T09:27:37Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1672875070", + "summary": "The maintainer asks another maintainer for an opinion on the name, and defends one combined setting as simpler than two.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1680840352", + "kind": "comment", + "actor": "aeschli", + "createdAt": "2023-08-16T15:35:26Z", + "editedAt": "2023-08-16T15:35:40Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1680840352", + "summary": "The other maintainer accepts the name but warns users will expect every view to dim, and prefers a boolean toggle with opacity as a secondary setting only if requested.", + "actorId": 6461412, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1680868218", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-16T15:52:54Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1680868218", + "summary": "The first maintainer argues only the editor and terminal matter, since dimming the explorer would hurt, and reopens the issue to adjust the setting.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:reopened:2023-08-16T15:52:54Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-16T15:52:54Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer reopens the issue to rework the setting.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:unlabeled:2023-08-16T15:53:02Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-16T15:53:02Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer removes the under-discussion label.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1681231319", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-16T20:31:21Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1681231319", + "summary": "A user agrees the scope is editor and terminal, and again asks to move the setting out of accessibility for discoverability.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1682412032", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-17T14:42:44Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1682412032", + "summary": "The maintainer asks what name they would expect.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1682700390", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-17T17:37:41Z", + "editedAt": "2023-08-17T17:38:02Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1682700390", + "summary": "The user proposes a workbench auto-dim setting that accepts true, false or a per-area object, citing precedent for mixed-type settings.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1682851529", + "kind": "comment", + "actor": "donkzquixote", + "createdAt": "2023-08-17T19:35:48Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1682851529", + "summary": "Another user agrees on scope and suggests a name using inactive rather than unfocused, matching existing colour settings, and expects people to search for dim.", + "actorId": 48607712, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1682971577", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-17T20:58:41Z", + "editedAt": "2023-08-17T20:59:37Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1682971577", + "summary": "The first user prefers inactive too and votes for it.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1683835607", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-18T12:18:10Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1683835607", + "summary": "The maintainer explains that inactive has a technical meaning in the API, where a terminal can be active while the editor has focus, so mixing the terms could confuse.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:cross-referenced:2023-08-18T15:21:45Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-18T15:21:45Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer links PR #190751, which polishes the dim settings.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1684076730", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-18T15:22:48Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1684076730", + "summary": "The maintainer thanks everyone and says the settings were adjusted in that PR.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:closed:2023-08-18T15:43:09Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-08-18T15:43:09Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer closes the issue.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1686991867", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-21T20:23:34Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1686991867", + "summary": "A user thanks the maintainer for taking their input.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1687917241", + "kind": "comment", + "actor": "abhijit-chikane", + "createdAt": "2023-08-22T10:23:57Z", + "editedAt": "2023-08-22T10:24:19Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1687917241", + "summary": "A contributor reports that clicking a file in the explorer moves focus and dims the editor, and wants dimming to track only the editor-terminal switch.", + "actorId": 50770619, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1687972934", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-22T11:03:56Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1687972934", + "summary": "The maintainer declines to track last focus between editor and terminal for now, preferring to wait for wider feedback.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1688824344", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-22T19:44:15Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1688824344", + "summary": "A user suggests living with it for a few weeks before filing a follow-up.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1688837612", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-22T19:54:57Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1688837612", + "summary": "The maintainer shares a tip about opening explorer files with focus moving to the editor.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1697487718", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-29T13:51:28Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1697487718", + "summary": "The maintainer says he plans to move the setting back under accessibility, linking two follow-up issues.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1699087697", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-30T12:35:31Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1699087697", + "summary": "The maintainer reports team feedback from the test round, says the feature will be announced as experimental, and links a plan of improvements.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1699671169", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-30T18:46:23Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1699671169", + "summary": "A user praises the internal test-plan process.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1699749192", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-30T19:52:37Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1699749192", + "summary": "The maintainer explains the endgame testing week.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1699819131", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-30T20:48:34Z", + "editedAt": "2023-08-30T20:48:56Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1699819131", + "summary": "The user says they will pass the process on to their own team.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1701184212", + "kind": "comment", + "actor": "Tyriar", + "createdAt": "2023-08-31T14:42:24Z", + "editedAt": "2023-08-31T14:42:35Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1701184212", + "summary": "The maintainer chats about having seen the user's company at conferences.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:comment:1701689348", + "kind": "comment", + "actor": "lobsterkatie", + "createdAt": "2023-08-31T19:48:05Z", + "url": "https://github.com/microsoft/vscode/issues/30522#issuecomment-1701689348", + "summary": "The user replies with off-topic company anecdotes.", + "actorId": 14812505, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + }, + { + "id": "vscode-30522:process:cross-referenced:2023-09-06T19:17:19Z", + "kind": "process", + "actor": "Tyriar", + "createdAt": "2023-09-06T19:17:19Z", + "url": "https://github.com/microsoft/vscode/issues/30522", + "summary": "The maintainer links a docs PR describing the dim unfocused views feature.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-30522:issue:30522" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-fixed-width-tabs.json b/evals/datasets/decisions-v1/cases/vscode-fixed-width-tabs.json new file mode 100644 index 000000000..9837d0b5d --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-fixed-width-tabs.json @@ -0,0 +1,910 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-fixed-width-tabs", + "title": "Fixed-width editor tabs in VS Code", + "source": { + "url": "https://github.com/microsoft/vscode/pull/181729", + "retrievedAt": "2026-10-18T07:26:59.903031+00:00", + "repository": "microsoft/vscode", + "number": 181729 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2023-05-07T00:00:00Z" + }, + { + "id": "c2", + "at": "2023-05-09T08:00:00Z" + }, + { + "id": "c3", + "at": "2023-05-22T15:00:00Z" + }, + { + "id": "c4", + "at": "2023-05-22T15:40:00Z" + } + ], + "events": [ + { + "id": "vscode-181729:pr:181729", + "kind": "opening", + "actor": "jacekkopecky", + "createdAt": "2023-05-06T20:54:50Z", + "url": "https://github.com/microsoft/vscode/pull/181729", + "summary": "A contributor adds a `fixed` value for `workbench.editor.tabSizing` that gives all tabs one width, shrinking when crowded, plus a max-width setting; widths stay frozen during hovering over the tab strip.", + "actorId": 807315, + "actorType": "human" + }, + { + "id": "vscode-181729:review-comment:1188258741", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-09T07:44:32Z", + "editedAt": "2023-05-09T07:46:04Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1188258741", + "summary": "A maintainer notes a style change must only apply when the setting is on.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1418067525" + }, + { + "id": "vscode-181729:review:1418067525", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-09T07:46:04Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1418067525", + "summary": "A maintainer requests changes, proposing the feature copy Chrome's tab model: fixed width with no scrollbar, even shrinking when space runs out, and sizes held after a close until the mouse leaves, pointing to an Atom patch.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review:1418069866", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-09T07:46:06Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1418069866", + "summary": "The maintainer repeats the request and adds that a plain new option is not enough; it should serve people who prefer browser-style tabs.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1542476333", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-10T16:13:09Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1542476333", + "summary": "The contributor agrees to try.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1190170124", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-10T16:46:51Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1190170124", + "summary": "The contributor acknowledges the conditional-style slip.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1188258741" + }, + { + "id": "vscode-181729:comment:1542782509", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-10T20:41:46Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1542782509", + "summary": "The contributor reports the Chrome-style behaviour is done and asks for review.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1190644144", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-11T05:15:24Z", + "editedAt": "2023-05-11T05:15:54Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1190644144", + "summary": "The maintainer asks that the mouse listeners exist only when the setting needs them.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1421767884" + }, + { + "id": "vscode-181729:review-comment:1190644283", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-11T05:15:41Z", + "editedAt": "2023-05-11T05:15:54Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1190644283", + "summary": "The maintainer asks if a further call could be skipped when the setting is off.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1421767884" + }, + { + "id": "vscode-181729:review:1421767884", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-11T05:15:54Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1421767884", + "summary": "The maintainer is impressed after a quick test, saying it matches what they want, but asks for time to check corner cases.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1190744070", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-11T07:26:09Z", + "editedAt": "2023-05-11T09:10:41Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1190744070", + "summary": "The contributor restructures the function so its setting-dependent work is clearer, explaining it also runs on settings changes.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1190644283" + }, + { + "id": "vscode-181729:review-comment:1190873771", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-11T09:09:54Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1190873771", + "summary": "The contributor makes the listeners conditional and renames the function.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1190644144" + }, + { + "id": "vscode-181729:review-comment:1191979738", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T06:55:40Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191979738", + "summary": "The maintainer suggests renaming the width setting to `tabSizingFixedMaxWidth`.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191981252", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T06:57:29Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191981252", + "summary": "The maintainer suggests a smaller default of 160px, since editor tabs can be shorter than Chrome's.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191982782", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T06:59:19Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191982782", + "summary": "The maintainer suggests a code change for when tab sizing updates.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191985471", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:02:28Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191985471", + "summary": "The maintainer suggests a simpler CSS variable assignment for the max width.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191986138", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:03:13Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191986138", + "summary": "The maintainer suggests a simpler assignment for the current width.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191986540", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:03:44Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191986540", + "summary": "The maintainer asks why `toFixed` is used.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191986138" + }, + { + "id": "vscode-181729:review-comment:1191986937", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:04:16Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191986937", + "summary": "The maintainer proposes the method name `setTabsWidthFixed`.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191987096", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:04:28Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191987096", + "summary": "The maintainer proposes the method name `resetTabsWidthFixed`.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191987452", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:04:53Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191987452", + "summary": "The maintainer notes a redundant option check.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191987879", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:05:26Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191987879", + "summary": "The maintainer asks for `addDisposableListener` with tracked disposal.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review-comment:1191989384", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-12T07:07:22Z", + "editedAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1191989384", + "summary": "The maintainer wants the width transition only while the mouse is over the tabs, to avoid an animation when changing the setting.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1423883173" + }, + { + "id": "vscode-181729:review:1423883173", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-12T07:11:39Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1423883173", + "summary": "The maintainer requests changes and asks for testing with pinned tab sizing, close-button placement and wrapped tabs.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1545336946", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-12T07:58:44Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1545336946", + "summary": "The contributor thanks them and plans to address everything.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1192044323", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-12T08:02:38Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1192044323", + "summary": "The contributor explains the transition only shows when the mouse leaves, and says they like it on setting changes too.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191989384" + }, + { + "id": "vscode-181729:review-comment:1192044702", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-12T08:03:02Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1192044702", + "summary": "The contributor agrees to use the disposable-listener API.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191987879" + }, + { + "id": "vscode-181729:review-comment:1193147674", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-14T13:27:45Z", + "editedAt": "2023-05-14T13:27:46Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193147674", + "summary": "The contributor asks whether the resulting settings label is acceptable.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191979738" + }, + { + "id": "vscode-181729:review-comment:1193148712", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-14T13:34:17Z", + "editedAt": "2023-05-14T13:34:18Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193148712", + "summary": "The contributor says `toFixed` came from the Atom patch and will be removed.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191986138" + }, + { + "id": "vscode-181729:comment:1546910434", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-14T14:15:28Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1546910434", + "summary": "The contributor reports testing: pinned tabs and close-button options behave, but wrapped tabs hit rounding errors, which they work around by shrinking the last tab in each row slightly and speeding up the transition.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1193155583", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-14T14:15:57Z", + "editedAt": "2023-05-14T14:15:58Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193155583", + "summary": "The contributor says the faster transition should resolve the animation concern.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191989384" + }, + { + "id": "vscode-181729:review-comment:1193157899", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-14T14:30:04Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193157899", + "summary": "The contributor argues direct event properties are fine because the component owns the element, but asks for guidance.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191987879" + }, + { + "id": "vscode-181729:review-comment:1193367953", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:16:12Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193367953", + "summary": "The maintainer confirms the settings label is derived automatically.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191979738" + }, + { + "id": "vscode-181729:review-comment:1193371700", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:21:56Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193371700", + "summary": "The maintainer suggests a reformatted condition using the renamed option.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review-comment:1193371930", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:22:15Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193371930", + "summary": "The maintainer explains the formatting tweak.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193371700" + }, + { + "id": "vscode-181729:review-comment:1193372453", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:23:03Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193372453", + "summary": "The maintainer asks for `assertIsDefined` instead of an if/else.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review-comment:1193374514", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:25:57Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193374514", + "summary": "The maintainer recommends a `DisposableStore` for the listeners, cleared when the setting turns off.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review-comment:1193375452", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:27:15Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193375452", + "summary": "The maintainer calls part of the rounding workaround ugly and asks for an explanation.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review-comment:1193375755", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:27:41Z", + "editedAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193375755", + "summary": "The maintainer suggests an early return when wrapping is off.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review-comment:1193377173", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:29:42Z", + "editedAt": "2023-05-15T06:31:25Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193377173", + "summary": "The maintainer points out an existing class already marks the last tab in a row.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1425833938" + }, + { + "id": "vscode-181729:review:1425833938", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-15T06:30:27Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1425833938", + "summary": "The maintainer requests changes.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1193379238", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:31:49Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193379238", + "summary": "The maintainer points to their disposal guidance.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1191987879" + }, + { + "id": "vscode-181729:comment:1547268290", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-15T06:33:59Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1547268290", + "summary": "The maintainer still sees an animation when changing the setting and shares a recording.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1547413996", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-15T08:27:05Z", + "editedAt": "2023-05-15T08:27:17Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1547413996", + "summary": "The maintainer notes long labels must fade properly and links a related fix.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1193628321", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T10:14:08Z", + "editedAt": "2023-05-15T10:14:09Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193628321", + "summary": "The contributor thanks them for the disposal guidance.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193374514" + }, + { + "id": "vscode-181729:review-comment:1193654012", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T10:39:15Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193654012", + "summary": "The contributor explains the store must be set during creation because of constructor ordering.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193374514" + }, + { + "id": "vscode-181729:review-comment:1193677315", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T11:01:52Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193677315", + "summary": "The contributor reuses the existing last-in-row class.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193377173" + }, + { + "id": "vscode-181729:comment:1547713546", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T11:55:17Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1547713546", + "summary": "The contributor argues the transition has to exist while the mouse is outside the tab strip so tabs settle smoothly, and says they like it on setting changes.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1547718752", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T11:58:35Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1547718752", + "summary": "The contributor will handle label fading.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1193766770", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T12:29:22Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1193766770", + "summary": "The contributor reworks the rounding workaround.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193375452" + }, + { + "id": "vscode-181729:comment:1547775545", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T12:30:53Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1547775545", + "summary": "The contributor hands back, leaving only the transition question open.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1548199993", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-15T16:45:02Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1548199993", + "summary": "The maintainer says VS Code rarely uses transitions except to draw attention, and suggests maybe dropping it here.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1194311387", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-15T20:07:10Z", + "editedAt": "2023-05-15T20:07:20Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1194311387", + "summary": "The maintainer asks if the store could be a field initialiser.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193374514" + }, + { + "id": "vscode-181729:comment:1548505245", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-15T20:09:13Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1548505245", + "summary": "The maintainer wonders whether frozen widths are confusing for actions other than closing, with a recording.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1194327602", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T20:24:05Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1194327602", + "summary": "The contributor explains field initialisers run too late because the superclass constructor calls `create()`.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193374514" + }, + { + "id": "vscode-181729:comment:1548527855", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T20:26:43Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1548527855", + "summary": "The contributor notes this complexity is why they first proposed plain fixed widths, and suggests letting users try it and file issues.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1548531246", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-15T20:29:44Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1548531246", + "summary": "The contributor offers to discuss live on Discord.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1194596939", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-16T04:38:36Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1194596939", + "summary": "The maintainer agrees about initialisation order.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1193374514" + }, + { + "id": "vscode-181729:comment:1548980004", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-16T04:40:10Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1548980004", + "summary": "The maintainer pushes changes so widths are frozen only when editors close.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1194598762", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-16T04:42:32Z", + "editedAt": "2023-05-16T04:43:10Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1194598762", + "summary": "The maintainer asks why a CSS rule is needed, seeing no effect.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1427703055" + }, + { + "id": "vscode-181729:review-comment:1194599028", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-16T04:43:07Z", + "editedAt": "2023-05-16T04:43:10Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1194599028", + "summary": "The maintainer still sees the rounding fix as a hack and asks whether rounding errors can be avoided.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review:1427703055" + }, + { + "id": "vscode-181729:review:1427703055", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-16T04:43:10Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1427703055", + "summary": "The maintainer requests changes.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1550448874", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-16T22:39:59Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1550448874", + "summary": "The contributor says they will be away for a few days.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review-comment:1199786147", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-21T15:28:20Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1199786147", + "summary": "The contributor shows with a codepen that measured widths round differently when set back as CSS, and moves the small adjustment into CSS.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1194599028" + }, + { + "id": "vscode-181729:review-comment:1199786249", + "kind": "review-comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-21T15:29:14Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1199786249", + "summary": "The contributor removes the unneeded CSS rule.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1194598762" + }, + { + "id": "vscode-181729:review-comment:1199949515", + "kind": "review-comment", + "actor": "bpasero", + "createdAt": "2023-05-22T04:47:12Z", + "url": "https://github.com/microsoft/vscode/pull/181729#discussion_r1199949515", + "summary": "The maintainer accepts the explanation.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:review-comment:1194599028" + }, + { + "id": "vscode-181729:comment:1556521333", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-22T04:48:48Z", + "editedAt": "2023-05-22T04:49:40Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1556521333", + "summary": "The maintainer finds that toolbar actions changing between editors move the close button, and suggests deferring action rendering while the mouse is over tabs.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1556719502", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-22T07:55:47Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1556719502", + "summary": "The contributor finds widths were frozen too late on close and pushes a fix that runs before the close action.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review:1436829400", + "kind": "review", + "actor": "bpasero", + "createdAt": "2023-05-22T14:57:30Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1436829400", + "summary": "The maintainer approves and invites the contributor to take on more help-wanted issues.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:review:1436897400", + "kind": "review", + "actor": "Tyriar", + "createdAt": "2023-05-22T15:32:24Z", + "url": "https://github.com/microsoft/vscode/pull/181729#pullrequestreview-1436897400", + "summary": "A second maintainer approves.", + "actorId": 2193314, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:process:merged:2023-05-22T15:32:53Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2023-05-22T15:32:53Z", + "url": "https://github.com/microsoft/vscode/pull/181729", + "summary": "The maintainer merges the pull request.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:process:closed:2023-05-22T15:32:53Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2023-05-22T15:32:53Z", + "url": "https://github.com/microsoft/vscode/pull/181729", + "summary": "The pull request closes on merge.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1557467429", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-22T15:49:46Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1557467429", + "summary": "The contributor thanks the maintainer.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1558099105", + "kind": "comment", + "actor": "jacekkopecky", + "createdAt": "2023-05-22T22:13:42Z", + "editedAt": "2023-05-22T22:17:38Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1558099105", + "summary": "The contributor spots a missed case where closing the last tab should restore normal widths, as browsers do, and offers a fix.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:comment:1558523660", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2023-05-23T05:02:22Z", + "url": "https://github.com/microsoft/vscode/pull/181729#issuecomment-1558523660", + "summary": "The maintainer asks for a new pull request.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:process:cross-referenced:2023-05-23T07:15:10Z", + "kind": "process", + "actor": "jacekkopecky", + "createdAt": "2023-05-23T07:15:10Z", + "url": "https://github.com/microsoft/vscode/pull/181729", + "summary": "The contributor links a follow-up pull request restoring widths when the last tab closes.", + "actorId": 807315, + "actorType": "human", + "parentId": "vscode-181729:pr:181729" + }, + { + "id": "vscode-181729:process:locked:2023-07-06T23:24:00Z", + "kind": "process", + "actor": "github-actions[bot]", + "createdAt": "2023-07-06T23:24:00Z", + "url": "https://github.com/microsoft/vscode/pull/181729", + "summary": "A bot locks the pull request.", + "actorId": 41898282, + "actorType": "bot", + "parentId": "vscode-181729:pr:181729" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-modern-ui-classic-removal.json b/evals/datasets/decisions-v1/cases/vscode-modern-ui-classic-removal.json new file mode 100644 index 000000000..cc3657a56 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-modern-ui-classic-removal.json @@ -0,0 +1,1189 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-modern-ui-classic-removal", + "title": "Removing VS Code's Classic UI after the Modern UI transition", + "source": { + "url": "https://github.com/microsoft/vscode/issues/334285", + "retrievedAt": "2026-10-18T07:02:35.992461+00:00", + "repository": "microsoft/vscode", + "number": 334285 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-09-03T18:00:00Z" + }, + { + "id": "c2", + "at": "2026-09-26T20:30:00Z" + }, + { + "id": "c3", + "at": "2026-10-16T08:30:00Z" + } + ], + "events": [ + { + "id": "vscode-334285:issue:334285", + "kind": "opening", + "actor": "mrleemurray", + "createdAt": "2026-09-03T15:41:56Z", + "url": "https://github.com/microsoft/vscode/issues/334285", + "summary": "A maintainer announces the state of the Modern UI: what it changed, the main feedback that it wastes space, the fixes and new settings already shipped, a new Compact Mode density setting, and the plan to move everyone to the Modern UI and later remove the Classic UI toggle after an undated transition period.", + "actorId": 25487940, + "actorType": "human" + }, + { + "id": "vscode-334285:comment:5531565897", + "kind": "comment", + "actor": "martinshaw-wawdbd", + "createdAt": "2026-09-03T20:15:43Z", + "editedAt": "2026-09-03T20:17:30Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5531565897", + "summary": "A user objects that the changes are unpopular, citing reactions on the related PRs, and calls removing the revert setting callous.", + "actorId": 166628980, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5539032255", + "kind": "comment", + "actor": "rdamico", + "createdAt": "2026-09-04T10:17:13Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5539032255", + "summary": "A user argues configurability matters more than taste: the single on/off toggle is too coarse, details like corner radius should be separately configurable, and effort would be better spent on a unified, content-independent layout model.", + "actorId": 7681427, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5570808947", + "kind": "comment", + "actor": "haferburg", + "createdAt": "2026-09-07T12:43:22Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5570808947", + "summary": "A user objects to naming the iteration Modern, since relative names date quickly.", + "actorId": 4941909, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5606411478", + "kind": "comment", + "actor": "abhijit-chikane", + "createdAt": "2026-09-09T17:59:08Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5606411478", + "summary": "A contributor asks whether Compact Mode also applies to the Agents window.", + "actorId": 50770619, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5608789422", + "kind": "comment", + "actor": "chryw", + "createdAt": "2026-09-09T21:09:44Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5608789422", + "summary": "A maintainer links a follow-up proposal on spacing ownership and icon sizing that extends the Modern UI design-system work.", + "actorId": 7075677, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5624514128", + "kind": "comment", + "actor": "tropicaaal", + "createdAt": "2026-09-10T19:48:11Z", + "editedAt": "2026-09-10T19:54:51Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5624514128", + "summary": "A user who mostly accepts the redesign reports that outer window padding creates dead zones at screen edges where status bar, activity bar and scrollbar controls cannot be clicked, violating Fitts's law.", + "actorId": 42101043, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:process:cross-referenced:2026-09-11T00:51:03Z", + "kind": "process", + "actor": "chryw", + "createdAt": "2026-09-11T00:51:03Z", + "url": "https://github.com/microsoft/vscode/issues/334285", + "summary": "A maintainer links PR #335605, which refines connected editor tabs and high-contrast document wells.", + "actorId": 7075677, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5631716482", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-11T08:34:51Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5631716482", + "summary": "A user adds that the editor scrollbar is the edge target that bothers them most.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5646935389", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-12T15:47:29Z", + "editedAt": "2026-09-12T15:48:34Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5646935389", + "summary": "A user asks for colour in the new monochrome icon set so the IDE is less dull.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5666453911", + "kind": "comment", + "actor": "FMorschel", + "createdAt": "2026-09-14T15:31:00Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5666453911", + "summary": "A contributor asks the team to also consider the long-standing request for configurable workbench font size.", + "actorId": 52160996, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5666511634", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-14T15:35:08Z", + "editedAt": "2026-09-14T15:35:33Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5666511634", + "summary": "A user cautions that pixel-based styling makes arbitrary font sizes risky and that zoom keeps the workbench uniform.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5666554767", + "kind": "comment", + "actor": "FMorschel", + "createdAt": "2026-09-14T15:38:06Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5666554767", + "summary": "The contributor notes that zoom resets on every launch.", + "actorId": 52160996, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5666582527", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-14T15:40:07Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5666582527", + "summary": "The user replies that setting the zoom level in settings persists it across restarts.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5693552942", + "kind": "comment", + "actor": "fowl2", + "createdAt": "2026-09-16T07:17:10Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5693552942", + "summary": "A user complains the announcement has no screenshots of the Modern UI.", + "actorId": 12844147, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5703354578", + "kind": "comment", + "actor": "Uzere", + "createdAt": "2026-09-16T19:32:11Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5703354578", + "summary": "A user calls the change disruptive and unnecessary and says the density setting makes things worse.", + "actorId": 3975328, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5705022210", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-16T21:45:05Z", + "editedAt": "2026-09-16T21:45:16Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5705022210", + "summary": "A user suggests a slightly wider sash in the default density, since users who want to save space now have Compact Mode.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5720380651", + "kind": "comment", + "actor": "zeel01", + "createdAt": "2026-09-17T19:56:31Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5720380651", + "summary": "A user says the new tab design has regressed so badly that the active tab looks inactive, making the Modern UI unusable.", + "actorId": 1721836, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5728383988", + "kind": "comment", + "actor": "yukina3230", + "createdAt": "2026-09-18T09:57:40Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5728383988", + "summary": "A user asks a maintainer to prioritise tab design, listing several open issues.", + "actorId": 75545944, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5728439695", + "kind": "comment", + "actor": "mrleemurray", + "createdAt": "2026-09-18T10:02:46Z", + "editedAt": "2026-09-18T12:50:10Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5728439695", + "summary": "A maintainer replies that the tab design was updated in PR #335605 and invites people to try it in the next release.", + "actorId": 25487940, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5729664783", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2026-09-18T12:00:00Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5729664783", + "summary": "A contributor points out that the PR is milestoned for the later release and the setting is absent from current stable.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5729974709", + "kind": "comment", + "actor": "saitanallensantiago26-beep", + "createdAt": "2026-09-18T12:27:20Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5729974709", + "summary": "A user quotes the request to prioritise tab design.", + "actorId": 308763364, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5729975765", + "kind": "comment", + "actor": "saitanallensantiago26-beep", + "createdAt": "2026-09-18T12:27:25Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5729975765", + "summary": "The same user quotes the maintainer's reply about the tab update.", + "actorId": 308763364, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5730221897", + "kind": "comment", + "actor": "mrleemurray", + "createdAt": "2026-09-18T12:49:25Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5730221897", + "summary": "The maintainer corrects the version number to 1.139.", + "actorId": 25487940, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5730253720", + "kind": "comment", + "actor": "saitanallensantiago26-beep", + "createdAt": "2026-09-18T12:52:13Z", + "editedAt": "2026-09-22T09:51:14Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5730253720", + "summary": "A comment GitHub marks as hidden (duplicate); it reposts the opening text.", + "actorId": 308763364, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5730500792", + "kind": "comment", + "actor": "zeel01", + "createdAt": "2026-09-18T13:13:20Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5730500792", + "summary": "A user says they will try it later but criticises the update pace and argues the design should not have shipped as the default, or in stable at all.", + "actorId": 1721836, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5730882108", + "kind": "comment", + "actor": "D7x7z49", + "createdAt": "2026-09-18T13:44:33Z", + "editedAt": "2026-09-18T13:48:54Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5730882108", + "summary": "A user says the redesign prioritises looks over editing speed and compares it to an old Apple aesthetic.", + "actorId": 85430783, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5747144158", + "kind": "comment", + "actor": "Neko-Design", + "createdAt": "2026-09-20T02:48:13Z", + "editedAt": "2026-09-20T02:52:10Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5747144158", + "summary": "A user asks the team not to remove the Classic UI, or at least to keep a toggle for the added padding and borders, and shows before and after screenshots where a coloured header turned into thick borders.", + "actorId": 7447213, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5752106378", + "kind": "comment", + "actor": "safakamali", + "createdAt": "2026-09-20T19:29:09Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5752106378", + "summary": "A user likes the new UI but reports that edge padding makes the scrollbar harder to grab.", + "actorId": 66796261, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5758176386", + "kind": "comment", + "actor": "scriptingstudio", + "createdAt": "2026-09-21T09:19:21Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5758176386", + "summary": "A user posts a screenshot without text.", + "actorId": 17237559, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5767643825", + "kind": "comment", + "actor": "holamilekanalarape-blip", + "createdAt": "2026-09-21T21:17:13Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5767643825", + "summary": "A user restates the linked follow-up proposal on spacing ownership and icon sizing.", + "actorId": 285848594, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5776498905", + "kind": "comment", + "actor": "rdamico", + "createdAt": "2026-09-22T12:28:19Z", + "editedAt": "2026-09-22T12:29:16Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5776498905", + "summary": "A user argues that improving the UI for humans and making VS Code useful for agents are separate problems, and proposes a structured semantic workspace API for agents instead of visual changes.", + "actorId": 7681427, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:process:cross-referenced:2026-09-22T12:37:24Z", + "kind": "process", + "actor": "mrleemurray", + "createdAt": "2026-09-22T12:37:24Z", + "url": "https://github.com/microsoft/vscode/issues/334285", + "summary": "A maintainer links PR #337266, which keeps panel gaps consistent at fractional display scaling.", + "actorId": 25487940, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5777804576", + "kind": "comment", + "actor": "healthyfat", + "createdAt": "2026-09-22T13:55:17Z", + "editedAt": "2026-09-22T13:55:52Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5777804576", + "summary": "A user asks for controls to make Primary Sidebar items more compact, such as hiding icons and details.", + "actorId": 120017908, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5777960416", + "kind": "comment", + "actor": "zeel01", + "createdAt": "2026-09-22T14:04:41Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5777960416", + "summary": "A user agrees that AI has nothing to do with visual UI changes and that agents should get structured data instead.", + "actorId": 1721836, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5778452914", + "kind": "comment", + "actor": "JSchmiegel", + "createdAt": "2026-09-22T14:36:39Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5778452914", + "summary": "A theme author asks that every visual property be exposed as a theme colour, citing hardcoded inactive tab text.", + "actorId": 51242445, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5778494915", + "kind": "comment", + "actor": "mrleemurray", + "createdAt": "2026-09-22T14:39:27Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5778494915", + "summary": "A maintainer says updated colour documentation ships in the next release.", + "actorId": 25487940, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5794308951", + "kind": "comment", + "actor": "JulianJvn", + "createdAt": "2026-09-23T11:52:41Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5794308951", + "summary": "A user objects that the Modern UI was switched on by default in 1.139 without announcement or release-note mention, and that this felt rushed given dozens of open issues.", + "actorId": 128477611, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5796774153", + "kind": "comment", + "actor": "mvf", + "createdAt": "2026-09-23T14:33:52Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5796774153", + "summary": "A user reports a white window border on Linux X11 after updating that the Modern UI toggle does not fix.", + "actorId": 304760, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5796933360", + "kind": "comment", + "actor": "D7x7z49", + "createdAt": "2026-09-23T14:43:29Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5796933360", + "summary": "A user insultingly blames the team for losing control of the design and the ecosystem.", + "actorId": 85430783, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5797093998", + "kind": "comment", + "actor": "D7x7z49", + "createdAt": "2026-09-23T14:53:07Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5797093998", + "summary": "A user argues that integrating Copilot deeply into VS Code was the root mistake and that an editor needs speed and low memory use rather than a prettier interface.", + "actorId": 85430783, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5797453388", + "kind": "comment", + "actor": "jozefizso", + "createdAt": "2026-09-23T15:14:49Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5797453388", + "summary": "A user says nothing was improved and space is wasted.", + "actorId": 287778, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5803557116", + "kind": "comment", + "actor": "aldobarr", + "createdAt": "2026-09-23T21:52:13Z", + "editedAt": "2026-09-23T22:41:23Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5803557116", + "summary": "A user says they have disabled automatic updates in response.", + "actorId": 1071197, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5808389508", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2026-09-24T05:41:21Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5808389508", + "summary": "A contributor says the white border is an Electron issue tracked separately.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5816559261", + "kind": "comment", + "actor": "dipsana", + "createdAt": "2026-09-24T14:56:39Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5816559261", + "summary": "A user says the new UI feels cluttered and wastes space and asks how to switch back.", + "actorId": 144826356, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5816931967", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2026-09-24T15:18:56Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5816931967", + "summary": "A contributor points them to the opt-out setting in the opening post.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5825785633", + "kind": "comment", + "actor": "lanzclintonv", + "createdAt": "2026-09-25T02:40:16Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5825785633", + "summary": "A user asks for a setting to change the workbench font family.", + "actorId": 30661906, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5828668085", + "kind": "comment", + "actor": "gnowland", + "createdAt": "2026-09-25T07:32:34Z", + "editedAt": "2026-09-25T07:36:12Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5828668085", + "summary": "A user asks for control over where tab-name ellipses appear in connected tabs, arguing extensions are redundant with icons.", + "actorId": 4430119, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5829299975", + "kind": "comment", + "actor": "lppedd", + "createdAt": "2026-09-25T08:24:00Z", + "editedAt": "2026-09-25T08:25:35Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5829299975", + "summary": "A user points them to existing tab-related settings.", + "actorId": 19871649, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5832302372", + "kind": "comment", + "actor": "dipsana", + "createdAt": "2026-09-25T12:23:37Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5832302372", + "summary": "The user confirms switching back worked.", + "actorId": 144826356, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5832372330", + "kind": "comment", + "actor": "dipsana", + "createdAt": "2026-09-25T12:29:09Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5832372330", + "summary": "The same user reports an unrelated Windows emoji picker problem.", + "actorId": 144826356, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5833693403", + "kind": "comment", + "actor": "CsatiZoltan", + "createdAt": "2026-09-25T14:02:19Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5833693403", + "summary": "A user calls the design ugly and hopes a fork keeps the old UI.", + "actorId": 12742890, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5839046666", + "kind": "comment", + "actor": "andylovescode", + "createdAt": "2026-09-25T20:22:59Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5839046666", + "summary": "A user asks for configurable spacing values or an extra spacious preset.", + "actorId": 144629051, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5839137702", + "kind": "comment", + "actor": "kidCaulfield", + "createdAt": "2026-09-25T20:30:12Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5839137702", + "summary": "A user asks to remove the heavy border radius.", + "actorId": 44785917, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5839853354", + "kind": "comment", + "actor": "magpie514", + "createdAt": "2026-09-25T21:25:41Z", + "editedAt": "2026-09-25T21:31:43Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5839853354", + "summary": "A user says the margins waste space, insists the new design rather than the old one should be dropped if only one is kept, and asks for user stylesheets if the change is forced.", + "actorId": 323651, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5841807988", + "kind": "comment", + "actor": "lostfictions", + "createdAt": "2026-09-26T01:08:11Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5841807988", + "summary": "A user who does not mind a refresh says it arrived enabled by default without any documentation and asks that interface changes be documented.", + "actorId": 567041, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5841855840", + "kind": "comment", + "actor": "HackintoshwithUbuntu", + "createdAt": "2026-09-26T01:15:07Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5841855840", + "summary": "A user speculates the redesign targets newcomers writing code with AI rather than existing developers.", + "actorId": 64008512, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5841870875", + "kind": "comment", + "actor": "mrleblanc101", + "createdAt": "2026-09-26T01:17:13Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5841870875", + "summary": "Another user disputes that extra padding helps anyone.", + "actorId": 17392251, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5844784397", + "kind": "comment", + "actor": "MrChocolatine", + "createdAt": "2026-09-26T08:56:55Z", + "editedAt": "2026-09-26T08:57:21Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5844784397", + "summary": "A user asks Microsoft to stop degrading its products.", + "actorId": 47531779, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5846085730", + "kind": "comment", + "actor": "UsmanDev24", + "createdAt": "2026-09-26T12:00:34Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5846085730", + "summary": "A user promotes their own colour theme.", + "actorId": 182966647, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5846991137", + "kind": "comment", + "actor": "klunejko", + "createdAt": "2026-09-26T14:18:27Z", + "editedAt": "2026-09-26T14:18:51Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5846991137", + "summary": "A user strongly dislikes the rounded tabs and panels and weak active tab, and says they will leave VS Code once the opt-out stops working.", + "actorId": 519249, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5847045967", + "kind": "comment", + "actor": "D7x7z49", + "createdAt": "2026-09-26T14:26:33Z", + "editedAt": "2026-09-26T14:28:08Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5847045967", + "summary": "A user jokingly recommends switching to terminal-based editors.", + "actorId": 85430783, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5847381755", + "kind": "comment", + "actor": "ganlvtech", + "createdAt": "2026-09-26T15:14:54Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5847381755", + "summary": "A user considers pinning an older version and lists related issues.", + "actorId": 8651285, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5847607845", + "kind": "comment", + "actor": "jazzathedev", + "createdAt": "2026-09-26T15:47:58Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5847607845", + "summary": "A user criticises the focus on AI and UI changes and predicts the opt-out will be removed to force the design on everyone.", + "actorId": 81956724, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5848574475", + "kind": "comment", + "actor": "aldobarr", + "createdAt": "2026-09-26T18:04:19Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5848574475", + "summary": "A user notes the opening post already states the Classic UI will be removed and suggests pinning versions.", + "actorId": 1071197, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5849143061", + "kind": "comment", + "actor": "gnowland", + "createdAt": "2026-09-26T19:22:43Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5849143061", + "summary": "The user who asked about ellipses says the existing settings do not give the behaviour they want.", + "actorId": 4430119, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5849395328", + "kind": "comment", + "actor": "abel1502", + "createdAt": "2026-09-26T19:57:25Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5849395328", + "summary": "A user urges the team not to wait out the backlash: either maintain both designs until most users prefer the modern one, or drop the modern design and revisit a milder version later.", + "actorId": 32196516, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5849899653", + "kind": "comment", + "actor": "aldobarr", + "createdAt": "2026-09-26T21:08:30Z", + "editedAt": "2026-09-26T21:08:56Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5849899653", + "summary": "A user mockingly proposes relabelling the issue to criticise the change.", + "actorId": 1071197, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5851321981", + "kind": "comment", + "actor": "MrChocolatine", + "createdAt": "2026-09-27T00:37:17Z", + "editedAt": "2026-09-27T00:40:11Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5851321981", + "summary": "A user suggests building the Modern UI as a theme on a more capable theming system instead of forcing it on everyone.", + "actorId": 47531779, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5852463753", + "kind": "comment", + "actor": "tinyAdapter", + "createdAt": "2026-09-27T03:59:44Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5852463753", + "summary": "A user asks whether a fork exists that reverts the recent AI-related changes.", + "actorId": 8264895, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:process:cross-referenced:2026-09-27T04:06:08Z", + "kind": "process", + "actor": "aldobarr", + "createdAt": "2026-09-27T04:06:08Z", + "url": "https://github.com/microsoft/vscode/issues/334285", + "summary": "A user links their PR #338178, which tries to fix a UI regression; it is closed.", + "actorId": 1071197, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5853968518", + "kind": "comment", + "actor": "holamilekanalarape-blip", + "createdAt": "2026-09-27T07:52:03Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5853968518", + "summary": "A user restates the case for a vendor-neutral semantic workspace API for agents, separate from the human UI.", + "actorId": 285848594, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5853974725", + "kind": "comment", + "actor": "CsatiZoltan", + "createdAt": "2026-09-27T07:53:03Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5853974725", + "summary": "A user names VSCodium as such a fork.", + "actorId": 12742890, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5858171581", + "kind": "comment", + "actor": "holamilekanalarape-blip", + "createdAt": "2026-09-27T17:37:22Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5858171581", + "summary": "A user reframes the debate: Classic removal is settled, so what matters is whether the redesign raises productivity enough to justify lost density and choice, and it should prove that.", + "actorId": 285848594, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5859254598", + "kind": "comment", + "actor": "magpie514", + "createdAt": "2026-09-27T19:48:41Z", + "editedAt": "2026-09-27T19:50:12Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5859254598", + "summary": "A user agrees with the framing but says the new UI fails on density, scanning and customisation, and urges the community to push back before more work goes into it.", + "actorId": 323651, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5863024488", + "kind": "comment", + "actor": "escalonn", + "createdAt": "2026-09-28T03:52:42Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5863024488", + "summary": "A user calls the truncated tab names the worst change, says Compact Mode does not help, and threatens to leave if forced.", + "actorId": 2515013, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5899528910", + "kind": "comment", + "actor": "mmontagnana", + "createdAt": "2026-09-29T21:41:59Z", + "editedAt": "2026-09-30T07:28:44Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5899528910", + "summary": "A user offers a positive data point: on macOS the space cost is about half a line, the 1.139 tabs fixed the active-tab problem, and the bigger inconsistency is between the editor and Agents windows' sidebars and title bar controls.", + "actorId": 5336731, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5911441318", + "kind": "comment", + "actor": "StarlitLuna", + "createdAt": "2026-09-30T12:37:14Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5911441318", + "summary": "A user sarcastically thanks the team for prompting them to uninstall VS Code.", + "actorId": 150148630, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5916691914", + "kind": "comment", + "actor": "davidmcguiredesign", + "createdAt": "2026-09-30T17:52:10Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5916691914", + "summary": "A user agrees the connected tabs and simpler typography make the interface calmer.", + "actorId": 78670493, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5916693234", + "kind": "comment", + "actor": "davidmcguiredesign", + "createdAt": "2026-09-30T17:52:14Z", + "editedAt": "2026-09-30T19:14:36Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5916693234", + "summary": "The same user suggests treating the tab bar as part of the shell so it can show the inactive shell background, and shares a colour customisation config.", + "actorId": 78670493, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5916726691", + "kind": "comment", + "actor": "davidmcguiredesign", + "createdAt": "2026-09-30T17:53:55Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5916726691", + "summary": "The same user suggests density or line height also govern sidebar list padding.", + "actorId": 78670493, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5916772055", + "kind": "comment", + "actor": "mrleblanc101", + "createdAt": "2026-09-30T17:56:34Z", + "editedAt": "2026-09-30T18:04:03Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5916772055", + "summary": "A user posts before and after screenshots arguing the new tabs and sidebar sections are harder to read.", + "actorId": 17392251, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5916891605", + "kind": "comment", + "actor": "davidmcguiredesign", + "createdAt": "2026-09-30T18:04:20Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5916891605", + "summary": "The design-minded user explains the tab bar issue comes from it being treated as inside the editor.", + "actorId": 78670493, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:5933314853", + "kind": "comment", + "actor": "JulianJvn", + "createdAt": "2026-10-01T14:16:09Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-5933314853", + "summary": "A user reports that 1.140 quietly changed Compact Mode to remove the window-edge padding, matching Classic's horizontal space, welcomes it, and criticises the lack of any announcement.", + "actorId": 128477611, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6002051705", + "kind": "comment", + "actor": "holamilekanalarape-blip", + "createdAt": "2026-10-05T20:06:29Z", + "editedAt": "2026-10-07T10:19:02Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6002051705", + "summary": "A comment GitHub marks as hidden (duplicate); it reposts the opening text.", + "actorId": 285848594, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6017246680", + "kind": "comment", + "actor": "kuipou", + "createdAt": "2026-10-06T13:24:28Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6017246680", + "summary": "A user asks how to remove a one-pixel border.", + "actorId": 11078432, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6021100847", + "kind": "comment", + "actor": "lonix1", + "createdAt": "2026-10-06T16:49:53Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6021100847", + "summary": "A user asks to set minimum sizes for editor groups to remove gaps.", + "actorId": 40320097, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6043722051", + "kind": "comment", + "actor": "alamothe", + "createdAt": "2026-10-07T17:57:42Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6043722051", + "summary": "A user asks how to tell which tab is active.", + "actorId": 2679255, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6045662144", + "kind": "comment", + "actor": "Fasteroid", + "createdAt": "2026-10-07T19:53:14Z", + "editedAt": "2026-10-07T19:54:56Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6045662144", + "summary": "A user remarks that this question shows the new design's problem.", + "actorId": 29342750, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6046670439", + "kind": "comment", + "actor": "Fasteroid", + "createdAt": "2026-10-07T20:54:54Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6046670439", + "summary": "A user objects to rounded corners everywhere because they require extra padding and margin that eat useful space.", + "actorId": 29342750, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6051159058", + "kind": "comment", + "actor": "spartanatreyu", + "createdAt": "2026-10-08T02:49:31Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6051159058", + "summary": "A user strongly endorses that comment.", + "actorId": 3240456, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6075533860", + "kind": "comment", + "actor": "khusantoy", + "createdAt": "2026-10-09T06:19:20Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6075533860", + "summary": "A user links a request to place run, launch configuration and device controls together in the title bar.", + "actorId": 119614237, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6109507107", + "kind": "comment", + "actor": "MrChocolatine", + "createdAt": "2026-10-11T13:26:20Z", + "editedAt": "2026-10-11T13:28:02Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6109507107", + "summary": "A user compares the trend to Firefox's redesign.", + "actorId": 47531779, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6115708203", + "kind": "comment", + "actor": "spartanatreyu", + "createdAt": "2026-10-12T00:39:59Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6115708203", + "summary": "A user shares how to disable the Firefox redesign.", + "actorId": 3240456, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6115869681", + "kind": "comment", + "actor": "magpie514", + "createdAt": "2026-10-12T00:58:21Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6115869681", + "summary": "A user notes Firefox at least allows user CSS, unlike VS Code.", + "actorId": 323651, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6129522451", + "kind": "comment", + "actor": "alanistorres2026-art", + "createdAt": "2026-10-12T17:45:19Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6129522451", + "summary": "A user quotes the opening post without adding text.", + "actorId": 315481057, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6168814796", + "kind": "comment", + "actor": "JSGRD22", + "createdAt": "2026-10-14T12:54:25Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6168814796", + "summary": "A user contrasts Firefox, which fixed click targets and walked back floating panels before making its redesign the default, with VS Code shipping the default before it was ready.", + "actorId": 73097618, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6192168610", + "kind": "comment", + "actor": "escalonn", + "createdAt": "2026-10-15T12:35:08Z", + "editedAt": "2026-10-15T12:36:13Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6192168610", + "summary": "A user argues the design direction delivers no value and the issue and line of work should be closed.", + "actorId": 2515013, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6197538615", + "kind": "comment", + "actor": "davidmcguiredesign", + "createdAt": "2026-10-15T16:54:51Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6197538615", + "summary": "The design-minded user thanks the team for adding an inactive shell background colour, calling focus indication via the shell an improvement over Classic.", + "actorId": 78670493, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6205077645", + "kind": "comment", + "actor": "brunoalmiron", + "createdAt": "2026-10-16T00:18:53Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6205077645", + "summary": "A user says the active tab blends into the background so badly they disabled the Modern UI, and complains about intrusive AI elements.", + "actorId": 143106445, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6209672364", + "kind": "comment", + "actor": "laztheripper", + "createdAt": "2026-10-16T06:38:30Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6209672364", + "summary": "A user sarcastically says they hate it.", + "actorId": 1103794, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6210816501", + "kind": "comment", + "actor": "mmontagnana", + "createdAt": "2026-10-16T07:54:59Z", + "editedAt": "2026-10-16T08:08:15Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6210816501", + "summary": "A user proposes making the look tunable rather than perfect: expose the existing size tokens through a size customisation setting mirroring colour customisations, plus a sizes section in themes, noting this was already planned future work and differs from rejected user stylesheets.", + "actorId": 5336731, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + }, + { + "id": "vscode-334285:comment:6225892007", + "kind": "comment", + "actor": "magpie514", + "createdAt": "2026-10-16T22:28:12Z", + "url": "https://github.com/microsoft/vscode/issues/334285#issuecomment-6225892007", + "summary": "A user endorses the proposal and says CSS-level tuning for power users would solve the problem.", + "actorId": 323651, + "actorType": "human", + "parentId": "vscode-334285:issue:334285" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-modern-ui-default-optin.json b/evals/datasets/decisions-v1/cases/vscode-modern-ui-default-optin.json new file mode 100644 index 000000000..9c90decce --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-modern-ui-default-optin.json @@ -0,0 +1,228 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-modern-ui-default-optin", + "title": "Experimental Modern UI on by default in VS Code Stable", + "source": { + "url": "https://github.com/microsoft/vscode/issues/330693", + "retrievedAt": "2026-10-18T07:02:33.211966+00:00", + "repository": "microsoft/vscode", + "number": 330693 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-08-13T17:12:00Z" + }, + { + "id": "c2", + "at": "2026-08-18T10:00:00Z" + }, + { + "id": "c3", + "at": "2026-10-02T20:00:00Z" + } + ], + "events": [ + { + "id": "vscode-330693:issue:330693", + "kind": "opening", + "actor": "mordeccai", + "createdAt": "2026-08-13T17:08:59Z", + "url": "https://github.com/microsoft/vscode/issues/330693", + "summary": "A user reports that a routine update switched their editor to the experimental Modern UI with floating panels and rounded corners, and asks that experimental redesigns stay opt-in on Stable, with clear notice and a one-click way to keep the old look.", + "actorId": 110318912, + "actorType": "human" + }, + { + "id": "vscode-330693:comment:5283992242", + "kind": "comment", + "actor": "RanaUniverse", + "createdAt": "2026-08-13T17:14:17Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5283992242", + "summary": "A user points to another issue that shows how to turn the new UI off.", + "actorId": 142967497, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5284004579", + "kind": "comment", + "actor": "mordeccai", + "createdAt": "2026-08-13T17:15:29Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5284004579", + "summary": "The opener replies that being able to revert misses the point; experimental changes should require opting in.", + "actorId": 110318912, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5284091164", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2026-08-13T17:23:59Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5284091164", + "summary": "A contributor suggests opting out of A/B experiments.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5284155331", + "kind": "comment", + "actor": "RanaUniverse", + "createdAt": "2026-08-13T17:30:19Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5284155331", + "summary": "A user asks what the A/B suggestion means.", + "actorId": 142967497, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5285415644", + "kind": "comment", + "actor": "0x78f1935", + "createdAt": "2026-08-13T19:27:39Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5285415644", + "summary": "A user argues for opt-in rather than opt-out and complains about the frequency of releases.", + "actorId": 14298262, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5285788300", + "kind": "comment", + "actor": "MarcCharron", + "createdAt": "2026-08-13T20:05:15Z", + "editedAt": "2026-08-13T20:05:41Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5285788300", + "summary": "A user agrees, saying the new UI wastes screen space with padding and gaps, and asks to keep the compact UI with redesigns opt-in.", + "actorId": 215999818, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:process:labeled:2026-08-14T10:10:44Z", + "kind": "process", + "actor": "benibenj", + "createdAt": "2026-08-14T10:10:44Z", + "url": "https://github.com/microsoft/vscode/issues/330693", + "summary": "A maintainer labels the issue modernization.", + "actorId": 44439583, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5324388493", + "kind": "comment", + "actor": "SlippyDong", + "createdAt": "2026-08-18T06:18:45Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5324388493", + "summary": "A user names the workbench.experimental.modernUI setting, calls the complaints exaggerated, agrees experiments should be opt-in, but likes the new look.", + "actorId": 71851581, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5329950950", + "kind": "comment", + "actor": "krillan49", + "createdAt": "2026-08-18T14:54:25Z", + "editedAt": "2026-08-18T14:57:03Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5329950950", + "summary": "A user replies that the new UI does change behaviour: tab width can no longer be fixed, which hurts with many open tabs.", + "actorId": 126559400, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5338607688", + "kind": "comment", + "actor": "inschrift-spruch-raum", + "createdAt": "2026-08-19T06:54:43Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5338607688", + "summary": "A user objects to A/B testing on developers and to the mobile-style visual direction.", + "actorId": 172902528, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5341609258", + "kind": "comment", + "actor": "MarcCharron", + "createdAt": "2026-08-19T11:40:20Z", + "editedAt": "2026-08-19T17:37:34Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5341609258", + "summary": "A user reports the tab close button is hard to hit and asks for reserved space, later noting it was fixed in a release.", + "actorId": 215999818, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5452542918", + "kind": "comment", + "actor": "junaga", + "createdAt": "2026-08-28T12:32:26Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5452542918", + "summary": "A user replies to the A/B suggestion that VS Code is infrastructure rather than a SaaS product.", + "actorId": 35770913, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5452570014", + "kind": "comment", + "actor": "junaga", + "createdAt": "2026-08-28T12:35:20Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5452570014", + "summary": "A user who likes the new UI still argues that opt-out is the wrong rollout model.", + "actorId": 35770913, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5653447008", + "kind": "comment", + "actor": "libiao7", + "createdAt": "2026-09-13T13:03:23Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5653447008", + "summary": "A user says the extra outer border stops the mouse from grabbing the scrollbar at the screen edge, which took trial and error to trace.", + "actorId": 31200418, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5960765616", + "kind": "comment", + "actor": "junaga", + "createdAt": "2026-10-02T20:16:50Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5960765616", + "summary": "A user thanks the team for reverting a tab styling change that made selected and open tabs hard to tell apart.", + "actorId": 35770913, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5962963716", + "kind": "comment", + "actor": "0x78f1935", + "createdAt": "2026-10-02T23:16:45Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5962963716", + "summary": "A user replies cynically that the revert was probably accidental.", + "actorId": 14298262, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + }, + { + "id": "vscode-330693:comment:5998980112", + "kind": "comment", + "actor": "mjmatthiesen", + "createdAt": "2026-10-05T16:48:30Z", + "url": "https://github.com/microsoft/vscode/issues/330693#issuecomment-5998980112", + "summary": "A user repeats that forced UI changes harm a work tool and that usability should drive every choice.", + "actorId": 16603906, + "actorType": "human", + "parentId": "vscode-330693:issue:330693" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-modern-ui-default.json b/evals/datasets/decisions-v1/cases/vscode-modern-ui-default.json new file mode 100644 index 000000000..b8ccf771e --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-modern-ui-default.json @@ -0,0 +1,549 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-modern-ui-default", + "title": "Whether VS Code's Modern UI should become the only default", + "source": { + "url": "https://github.com/microsoft/vscode/issues/326328", + "retrievedAt": "2026-10-18T07:35:24.400218+00:00", + "repository": "microsoft/vscode", + "number": 326328 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-07-17T12:00:00Z" + }, + { + "id": "c2", + "at": "2026-08-14T02:20:00Z" + }, + { + "id": "c3", + "at": "2026-09-23T14:00:00Z" + }, + { + "id": "c4", + "at": "2026-09-23T14:50:00Z" + } + ], + "events": [ + { + "id": "vscode-326328:issue:326328", + "kind": "opening", + "actor": "piscopancer", + "createdAt": "2026-07-17T11:39:30Z", + "url": "https://github.com/microsoft/vscode/issues/326328", + "summary": "The opener asks to revert the Modern UI update, arguing its rounded tabs and extra spacing suit a website rather than a dense editor where flat split views are clearer.", + "actorId": 109352196, + "actorType": "human" + }, + { + "id": "vscode-326328:comment:5003143350", + "kind": "comment", + "actor": "jdraggy", + "createdAt": "2026-07-17T12:13:12Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5003143350", + "summary": "A user disagrees, liking that the UI matches the Agents window and saying a revert would force the team to redo that window too.", + "actorId": 202416335, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5003160677", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2026-07-17T12:15:17Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5003160677", + "summary": "A contributor asks whether the opener tried turning it off via the `workbench.experimental.modernUI` setting.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5003209409", + "kind": "comment", + "actor": "jozefizso", + "createdAt": "2026-07-17T12:21:13Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5003209409", + "summary": "A user dislikes the added margins and padding, which take space from the editor and terminal.", + "actorId": 287778, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5003385642", + "kind": "comment", + "actor": "piscopancer", + "createdAt": "2026-07-17T12:41:38Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5003385642", + "summary": "The opener says they enabled it to try and saw no benefit; they prefer the square, thin-bordered old UI and do not want the experiment to become the default.", + "actorId": 109352196, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5015823934", + "kind": "comment", + "actor": "johnpapa", + "createdAt": "2026-07-19T13:04:57Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5015823934", + "summary": "A user reports the new UI breaks workbench colour customisations and extensions such as Peacock.", + "actorId": 1202528, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5094619964", + "kind": "comment", + "actor": "Josh65-2201", + "createdAt": "2026-07-27T17:31:24Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5094619964", + "summary": "A user dislikes the padding around the window, calling it wasted space.", + "actorId": 26977075, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5138321154", + "kind": "comment", + "actor": "oliver139", + "createdAt": "2026-07-31T01:53:01Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5138321154", + "summary": "A user dislikes the look and asks why every tab label is bold.", + "actorId": 45283723, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5140771111", + "kind": "comment", + "actor": "stevebeauge", + "createdAt": "2026-07-31T08:11:01Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5140771111", + "summary": "A user suggests the team run a poll, acknowledging their dislike is personal and the majority might prefer it.", + "actorId": 184604, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5140939089", + "kind": "comment", + "actor": "Archomeda", + "createdAt": "2026-07-31T08:31:54Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5140939089", + "summary": "A user objects that the experimental setting flipped on for them without notice, costing time to discover how to revert it.", + "actorId": 1467127, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5141359602", + "kind": "comment", + "actor": "stevebeauge", + "createdAt": "2026-07-31T09:23:12Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5141359602", + "summary": "A user compares it to a past Visual Studio redesign that was walked back after community feedback.", + "actorId": 184604, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5143173399", + "kind": "comment", + "actor": "auguzsto", + "createdAt": "2026-07-31T13:05:54Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5143173399", + "summary": "A user adds their dislike.", + "actorId": 40308971, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5146424431", + "kind": "comment", + "actor": "TotalNerdGamer", + "createdAt": "2026-07-31T18:53:56Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5146424431", + "summary": "A user suggests keeping it as an option that people can turn off.", + "actorId": 134813229, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5146863098", + "kind": "comment", + "actor": "ganlvtech", + "createdAt": "2026-07-31T19:49:44Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5146863098", + "summary": "A user posts the setting value that disables it.", + "actorId": 8651285, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5148617228", + "kind": "comment", + "actor": "TotalNerdGamer", + "createdAt": "2026-08-01T00:34:34Z", + "editedAt": "2026-08-04T22:16:36Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5148617228", + "summary": "The earlier user clarifies they already disabled it and want the opt-out to remain once it leaves experimental status.", + "actorId": 134813229, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5169736564", + "kind": "comment", + "actor": "mrleblanc101", + "createdAt": "2026-08-03T17:37:15Z", + "editedAt": "2026-08-03T17:37:38Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5169736564", + "summary": "A user asks why the main editor should match the Agents window rather than the reverse.", + "actorId": 17392251, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5172018211", + "kind": "comment", + "actor": "EXtremeExploit", + "createdAt": "2026-08-03T21:38:02Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5172018211", + "summary": "A user agrees, criticises the extra padding, and says they would leave VS Code if the setting became permanent with no opt-out.", + "actorId": 30161277, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5174213319", + "kind": "comment", + "actor": "raihanmd", + "createdAt": "2026-08-04T03:19:03Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5174213319", + "summary": "A user objects to rounded borders across the workspace and asks for a revert.", + "actorId": 100277303, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5174227168", + "kind": "comment", + "actor": "raihanmd", + "createdAt": "2026-08-04T03:21:09Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5174227168", + "summary": "The user thanks someone for the disabling setting.", + "actorId": 100277303, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5175451479", + "kind": "comment", + "actor": "gj1279", + "createdAt": "2026-08-04T06:34:22Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5175451479", + "summary": "A user adds their dislike.", + "actorId": 32349321, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5190085870", + "kind": "comment", + "actor": "maciej-klemarczyk-se", + "createdAt": "2026-08-05T09:32:12Z", + "editedAt": "2026-08-05T09:40:47Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5190085870", + "summary": "A user argues an IDE should prioritise function over looks, shares side-by-side screenshots, and suggests the Agents window adopt the classic look instead.", + "actorId": 205806114, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5204937543", + "kind": "comment", + "actor": "BraveCaperCat2", + "createdAt": "2026-08-06T12:59:19Z", + "editedAt": "2026-08-06T13:02:49Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5204937543", + "summary": "A user says Microsoft keeps pushing unwanted visual changes and questions who uses the Agents window.", + "actorId": 113925022, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5214470272", + "kind": "comment", + "actor": "vivodi", + "createdAt": "2026-08-07T08:23:07Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5214470272", + "summary": "A user defends the Modern UI as easier to parse, notes selection bias among complainers, and cites JetBrains testing a similar islands design with users where it won and became default.", + "actorId": 103735539, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5218936533", + "kind": "comment", + "actor": "TotalNerdGamer", + "createdAt": "2026-08-07T15:27:31Z", + "editedAt": "2026-08-07T15:30:27Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5218936533", + "summary": "A user acknowledges the selection-bias point but repeats they personally prefer the old look.", + "actorId": 134813229, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5226225730", + "kind": "comment", + "actor": "BraveCaperCat2", + "createdAt": "2026-08-08T13:04:21Z", + "editedAt": "2026-08-08T13:05:45Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5226225730", + "summary": "A user quotes the JetBrains comparison, critical of that direction.", + "actorId": 113925022, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5237331129", + "kind": "comment", + "actor": "maciej-klemarczyk-se", + "createdAt": "2026-08-10T07:48:36Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5237331129", + "summary": "A user says JetBrains' style is why they avoided it, and warns VS Code is losing its identity, e.g. tab headers now look like buttons.", + "actorId": 205806114, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5282054819", + "kind": "comment", + "actor": "lornova", + "createdAt": "2026-08-13T14:54:14Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5282054819", + "summary": "A user rejects the Agents-window argument and calls the change bad for usability and change for its own sake.", + "actorId": 31110535, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5282117761", + "kind": "comment", + "actor": "lornova", + "createdAt": "2026-08-13T14:59:37Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5282117761", + "summary": "The same user argues only non-engineers would like it and asks that programmers be left alone.", + "actorId": 31110535, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5284833497", + "kind": "comment", + "actor": "initplatform", + "createdAt": "2026-08-13T18:31:46Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5284833497", + "summary": "A user pleads that the existing minimal UI never be abandoned.", + "actorId": 47506789, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5285320771", + "kind": "comment", + "actor": "SleepyG11", + "createdAt": "2026-08-13T19:18:41Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5285320771", + "summary": "A user likes the look but reports the right-edge padding makes the scrollbar hard to hit.", + "actorId": 35398172, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5288641974", + "kind": "comment", + "actor": "torinonegai", + "createdAt": "2026-08-14T02:15:47Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5288641974", + "summary": "A user gives structured feedback that extra borders and gaps cost space on small screens, and asks for either a compact variant of the new UI or a retained flat layout.", + "actorId": 51768820, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5288686070", + "kind": "comment", + "actor": "duskmoon314", + "createdAt": "2026-08-14T02:22:56Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5288686070", + "summary": "A user notes it became the default on update and asks not to make an experimental, heavily criticised UI the default.", + "actorId": 20477228, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5302087352", + "kind": "comment", + "actor": "brokeboiflex", + "createdAt": "2026-08-15T11:49:29Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5302087352", + "summary": "A user objects to changing the look without asking users.", + "actorId": 50945071, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5306576138", + "kind": "comment", + "actor": "robertrussell-dev", + "createdAt": "2026-08-16T08:40:25Z", + "editedAt": "2026-08-16T08:47:03Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5306576138", + "summary": "A user calls the gaps wasted space and says they have stopped using VS Code for JetBrains.", + "actorId": 1861258, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5306683886", + "kind": "comment", + "actor": "robertrussell-dev", + "createdAt": "2026-08-16T09:10:22Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5306683886", + "summary": "The same user criticises another commenter's reasoning.", + "actorId": 1861258, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5309946627", + "kind": "comment", + "actor": "BraveCaperCat2", + "createdAt": "2026-08-16T22:16:15Z", + "editedAt": "2026-08-16T22:18:06Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5309946627", + "summary": "A user notes JetBrains made a similar change, so it is no refuge.", + "actorId": 113925022, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5318130372", + "kind": "comment", + "actor": "TotalNerdGamer", + "createdAt": "2026-08-17T17:20:22Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5318130372", + "summary": "A user responds to an earlier insult, defending their right to an opinion while still disliking the UI.", + "actorId": 134813229, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5319667268", + "kind": "comment", + "actor": "BraveCaperCat2", + "createdAt": "2026-08-17T20:07:32Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5319667268", + "summary": "A user clarifies that the opt-out exists; the complaint is that it is on by default.", + "actorId": 113925022, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5362760888", + "kind": "comment", + "actor": "TotalNerdGamer", + "createdAt": "2026-08-20T22:24:44Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5362760888", + "summary": "A user repeats that the opt-out should outlive the experimental phase.", + "actorId": 134813229, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5384982706", + "kind": "comment", + "actor": "Reizoukodesu", + "createdAt": "2026-08-23T08:08:03Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5384982706", + "summary": "A user dismisses the selection-bias argument and asks why Microsoft has not run a survey like JetBrains.", + "actorId": 2463962, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5398059494", + "kind": "comment", + "actor": "ganlvtech", + "createdAt": "2026-08-24T16:16:24Z", + "editedAt": "2026-08-24T16:17:25Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5398059494", + "summary": "A user lists incompatibilities with a top activity bar and the Light+ theme and edge-click padding issues.", + "actorId": 8651285, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5499959965", + "kind": "comment", + "actor": "Xunnamius", + "createdAt": "2026-09-01T20:26:09Z", + "editedAt": "2026-09-01T20:26:43Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5499959965", + "summary": "A user complains that bold tabs make it hard to tell focused and unsaved tabs apart.", + "actorId": 656017, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5796970979", + "kind": "comment", + "actor": "Nils85", + "createdAt": "2026-09-23T14:45:43Z", + "editedAt": "2026-09-23T14:47:50Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5796970979", + "summary": "A user relays the team's announcement in issue #334285: everyone will move to the new UI, the classic UI will be removed after a transition period during which the setting still reverts it, and notice will precede removal.", + "actorId": 11949055, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5797162330", + "kind": "comment", + "actor": "D7x7z49", + "createdAt": "2026-09-23T14:56:54Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5797162330", + "summary": "A user suggests the community fork the editor.", + "actorId": 85430783, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5807713649", + "kind": "comment", + "actor": "adambenhassen", + "createdAt": "2026-09-24T04:30:05Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5807713649", + "summary": "A user objects to the change's phone-like styling.", + "actorId": 91687975, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + }, + { + "id": "vscode-326328:comment:5812110476", + "kind": "comment", + "actor": "maciej-klemarczyk-se", + "createdAt": "2026-09-24T10:09:03Z", + "editedAt": "2026-09-24T10:09:30Z", + "url": "https://github.com/microsoft/vscode/issues/326328#issuecomment-5812110476", + "summary": "A user links it to unpopular Visual Studio UI changes and predicts forks.", + "actorId": 205806114, + "actorType": "human", + "parentId": "vscode-326328:issue:326328" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-pinned-tab-sizing.json b/evals/datasets/decisions-v1/cases/vscode-pinned-tab-sizing.json new file mode 100644 index 000000000..09f132c9b --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-pinned-tab-sizing.json @@ -0,0 +1,742 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-pinned-tab-sizing", + "title": "Pinned tab sizing in VS Code", + "source": { + "url": "https://github.com/microsoft/vscode/issues/98161", + "retrievedAt": "2026-10-18T07:02:28.318269+00:00", + "repository": "microsoft/vscode", + "number": 98161 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-05-19T12:00:00Z" + }, + { + "id": "c2", + "at": "2020-08-26T16:00:00Z" + }, + { + "id": "c3", + "at": "2020-09-10T06:00:00Z" + }, + { + "id": "c4", + "at": "2020-09-10T10:00:00Z" + } + ], + "events": [ + { + "id": "vscode-98161:issue:98161", + "kind": "opening", + "actor": "bpasero", + "createdAt": "2020-05-19T11:26:13Z", + "url": "https://github.com/microsoft/vscode/issues/98161", + "summary": "A maintainer opens the request: pinned tabs collapse to an icon and are hard to tell apart, so a setting could show part or all of the name, or a rich hover; Visual Studio is cited as showing full tabs.", + "actorId": 900690, + "actorType": "human" + }, + { + "id": "vscode-98161:comment:631139945", + "kind": "comment", + "actor": "yannlairdc", + "createdAt": "2020-05-19T23:26:47Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-631139945", + "summary": "A user who keeps several same-type pinned tabs supports it and suggests a max-filename-length option with a hover showing the full name.", + "actorId": 50559695, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642211191", + "kind": "comment", + "actor": "ernes-to", + "createdAt": "2020-06-10T19:28:29Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642211191", + "summary": "A user agrees, since same-extension pinned tabs share an icon and are guesswork to pick.", + "actorId": 4595734, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642327297", + "kind": "comment", + "actor": "kleber-swf", + "createdAt": "2020-06-11T00:00:13Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642327297", + "summary": "A user wants the name shown as an option and lists ways to toggle pinning, such as a pin icon in place of the close button.", + "actorId": 871682, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642420859", + "kind": "comment", + "actor": "udondan", + "createdAt": "2020-06-11T05:41:39Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642420859", + "summary": "A user proposes showing names only when several pinned tabs share a file type.", + "actorId": 6443408, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642507055", + "kind": "comment", + "actor": "Samk13", + "createdAt": "2020-06-11T08:50:06Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642507055", + "summary": "A user asks for pinned tabs tied to the active git branch.", + "actorId": 36583694, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642543116", + "kind": "comment", + "actor": "Sayvai", + "createdAt": "2020-06-11T09:56:24Z", + "editedAt": "2020-06-11T12:41:01Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642543116", + "summary": "A user supports more context, likes the multi-row idea in #98160, and suggests an instant filename tooltip.", + "actorId": 7581546, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642614093", + "kind": "comment", + "actor": "thomthom", + "createdAt": "2020-06-11T12:33:44Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642614093", + "summary": "A user explains that file icons carry little identity in code projects and links this to multi-row tabs.", + "actorId": 192418, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642630038", + "kind": "comment", + "actor": "JanBN", + "createdAt": "2020-06-11T12:58:13Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642630038", + "summary": "A user calls the current pinning unusable because neither the file nor its dirty state is visible, and wants full Visual Studio-style tabs.", + "actorId": 7447593, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642634477", + "kind": "comment", + "actor": "Sayvai", + "createdAt": "2020-06-11T13:04:43Z", + "editedAt": "2020-06-11T13:06:36Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642634477", + "summary": "A user points to the `highlightModifiedTabs` setting for showing modified pinned tabs.", + "actorId": 7581546, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:642988412", + "kind": "comment", + "actor": "rben01", + "createdAt": "2020-06-11T23:59:57Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-642988412", + "summary": "A user suggests generated per-file identicons combined with a hover popup.", + "actorId": 766670, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643225468", + "kind": "comment", + "actor": "JanBN", + "createdAt": "2020-06-12T11:39:25Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643225468", + "summary": "The earlier user replies that the modified marker only appears on the active tab.", + "actorId": 7447593, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643225923", + "kind": "comment", + "actor": "chaeronius", + "createdAt": "2020-06-12T11:40:51Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643225923", + "summary": "A user suggests an optional panel listing pinned tabs with friendly names.", + "actorId": 59172462, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643229239", + "kind": "comment", + "actor": "JanBN", + "createdAt": "2020-06-12T11:49:44Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643229239", + "summary": "A user argues pinning and shrinking are separate features and pinned tabs should keep full width with a pin marker.", + "actorId": 7447593, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643230937", + "kind": "comment", + "actor": "Sayvai", + "createdAt": "2020-06-12T11:54:33Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643230937", + "summary": "A user shows that modified tabs do get a coloured top border whether active or not.", + "actorId": 7581546, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643232175", + "kind": "comment", + "actor": "JanBN", + "createdAt": "2020-06-12T11:57:54Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643232175", + "summary": "The user accepts the correction, noting the border is easy to miss.", + "actorId": 7447593, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643239123", + "kind": "comment", + "actor": "Sayvai", + "createdAt": "2020-06-12T12:14:59Z", + "editedAt": "2020-06-15T07:15:11Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643239123", + "summary": "A user mocks up full-width tabs with a pin icon, noting Visual Studio already does this.", + "actorId": 7581546, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643372819", + "kind": "comment", + "actor": "sgandon", + "createdAt": "2020-06-12T16:33:46Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643372819", + "summary": "A user frames it as size versus meaning and suggests user-chosen icons or colours.", + "actorId": 783286, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:643945722", + "kind": "comment", + "actor": "ahmadawais", + "createdAt": "2020-06-15T07:08:11Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-643945722", + "summary": "A contributor asks for the dirty dot on pinned tabs without enabling tab highlighting.", + "actorId": 960133, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:644783173", + "kind": "comment", + "actor": "ProfLander", + "createdAt": "2020-06-16T13:57:19Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-644783173", + "summary": "A user argues icon-only tabs suit browsers with favicons, not editors where icons only mark file type.", + "actorId": 1253239, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:644978929", + "kind": "comment", + "actor": "Trillinon", + "createdAt": "2020-06-16T19:53:31Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-644978929", + "summary": "A user proposes automatic behaviour: collapse unique types, show names for duplicates, and use rows when there are many.", + "actorId": 5176816, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:646119770", + "kind": "comment", + "actor": "vicmarcal", + "createdAt": "2020-06-18T15:56:00Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-646119770", + "summary": "A user asks for modified-tab highlighting to be on by default.", + "actorId": 6674048, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:646409493", + "kind": "comment", + "actor": "sucom", + "createdAt": "2020-06-19T03:06:25Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-646409493", + "summary": "A user asks for an option to show the name.", + "actorId": 5045577, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:646971179", + "kind": "comment", + "actor": "karlhorky", + "createdAt": "2020-06-20T09:57:48Z", + "editedAt": "2020-06-20T09:58:02Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-646971179", + "summary": "A user shows that with file icons disabled, pinned tabs become indistinguishable, and notes the slow tooltip.", + "actorId": 1935696, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:651431082", + "kind": "comment", + "actor": "tylerlu94", + "createdAt": "2020-06-30T00:00:29Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-651431082", + "summary": "A user asks for a shorter or instant hover delay on pinned tabs.", + "actorId": 15274532, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:658537213", + "kind": "comment", + "actor": "DoomT-AliW", + "createdAt": "2020-07-15T04:23:24Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-658537213", + "summary": "A user argues an icon-only pinned tab defeats the purpose of pinning.", + "actorId": 16493154, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:661066613", + "kind": "comment", + "actor": "Acmion", + "createdAt": "2020-07-20T14:14:56Z", + "editedAt": "2020-07-20T14:15:21Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-661066613", + "summary": "A user shares their HardPin extension as inspiration.", + "actorId": 52362148, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:666290696", + "kind": "comment", + "actor": "Alveona", + "createdAt": "2020-07-30T10:42:51Z", + "editedAt": "2020-07-31T11:20:57Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-666290696", + "summary": "A user complains that pinning loses dirty, preview and path information and reports a scrolling glitch.", + "actorId": 31050420, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:672945544", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-12T15:31:12Z", + "editedAt": "2020-08-12T15:32:02Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-672945544", + "summary": "The maintainer welcomes a PR building on HardPin but sets constraints: an agreed design first, light tabs without an extra icon by the close button, sticky scrolling with dynamic widths, a tabs-off case, and regression testing across tab settings.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680153006", + "kind": "comment", + "actor": "provAlexSage", + "createdAt": "2020-08-25T17:05:49Z", + "editedAt": "2020-08-25T17:07:09Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680153006", + "summary": "A user proposes showing a truncated name or colour-coding pinned tabs, with mockups.", + "actorId": 30052850, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680749974", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T08:52:38Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680749974", + "summary": "A user suggests a character-count setting or a coloured marker.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680770361", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T09:31:45Z", + "editedAt": "2020-08-26T09:33:18Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680770361", + "summary": "The user explains they pin to survive Close Others, not to save space, so a pin indicator matters more than compactness.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680794959", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T10:23:41Z", + "editedAt": "2020-08-26T10:23:52Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680794959", + "summary": "The maintainer suggests normal-width pinned tabs moved left, but asks how users would then know a tab is pinned.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680798231", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T10:31:37Z", + "editedAt": "2020-08-26T10:32:09Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680798231", + "summary": "The user proposes separate options for full title and for a pin indicator.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680800244", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T10:36:30Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680800244", + "summary": "The maintainer says showing close, pin and dirty icons together is too cluttered.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680806530", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T10:51:08Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680806530", + "summary": "The user suggests the pin icon double as close: one click unpins, the next closes.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680813932", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T11:09:10Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680813932", + "summary": "The maintainer checks their understanding and asks how the dirty indicator would fit.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680878500", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T13:26:24Z", + "editedAt": "2020-08-26T13:31:17Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680878500", + "summary": "The user confirms, proposing at most two icons per tab and moving the dirty dot to the left.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680894431", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T13:54:10Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680894431", + "summary": "The maintainer explains that the dirty dot replaces the close button so tab size stays stable while typing, and wants pinned tabs to stay close to normal ones.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680909442", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T14:19:05Z", + "editedAt": "2020-08-26T14:19:24Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680909442", + "summary": "The user accepts and offers a border around the file icon as a pinned marker.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680922354", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T14:40:07Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680922354", + "summary": "The maintainer likes ideas that add few new concepts, doubts colour as a pinned cue, and floats a bold title despite width changes.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680926468", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T14:46:36Z", + "editedAt": "2020-08-26T14:49:54Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680926468", + "summary": "The user notes bold fails for icon-only tabs and proposes a separator gap between pinned and unpinned tabs.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680930936", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-08-26T14:53:49Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680930936", + "summary": "The maintainer says a separator gets lost with many tabs, explains compact tabs keep many visible, and points to multi-row tabs in #98160.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:680944204", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-08-26T15:15:17Z", + "editedAt": "2020-08-26T15:15:48Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-680944204", + "summary": "The user jokes about the debate, suggests an inverted-colour separator, and wishes for vertical tabs.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:682639457", + "kind": "comment", + "actor": "Steveiwonder", + "createdAt": "2020-08-28T14:41:44Z", + "editedAt": "2020-08-28T14:42:29Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-682639457", + "summary": "A user suggests keeping names and putting pinned tabs on a row above, as Visual Studio does.", + "actorId": 1899448, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:683124057", + "kind": "comment", + "actor": "david-minaya", + "createdAt": "2020-08-28T20:05:03Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-683124057", + "summary": "A user suggests a bold or coloured title with no pin icon, using the context menu to pin.", + "actorId": 21043752, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:process:cross-referenced:2020-09-10T06:55:21Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2020-09-10T06:55:21Z", + "url": "https://github.com/microsoft/vscode/issues/98161", + "summary": "The maintainer links the implementing PR #106385, Pinned Tabs Enhancements.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:690104534", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-10T09:15:58Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-690104534", + "summary": "The maintainer announces `workbench.editor.pinnedTabSizing` with compact, shrink (new default, 80px) and normal values; non-compact tabs swap close for an unpin action, and a `tab.lastPinnedBorder` colour is added.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:691094958", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-11T13:27:50Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-691094958", + "summary": "The maintainer says the change is out in an Insiders build.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:691617109", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-09-13T05:29:29Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-691617109", + "summary": "A user reports testing it happily and asks about installing Insiders over stable.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:692477112", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-15T05:39:59Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-692477112", + "summary": "The maintainer points to settings sync and closes the issue, routing further bugs and ideas to new issues.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:process:closed:2020-09-15T05:39:59Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2020-09-15T05:39:59Z", + "url": "https://github.com/microsoft/vscode/issues/98161", + "summary": "The maintainer closes the issue as completed.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:692851573", + "kind": "comment", + "actor": "ChristopherHaws", + "createdAt": "2020-09-15T17:10:27Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-692851573", + "summary": "A user reports pinned tab names looking clipped.", + "actorId": 5934505, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693021518", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-09-15T22:56:04Z", + "editedAt": "2020-09-15T22:58:39Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693021518", + "summary": "Another user explains that clipping is the shrink mode and recommends normal plus the border colour.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693025612", + "kind": "comment", + "actor": "ChristopherHaws", + "createdAt": "2020-09-15T23:08:56Z", + "editedAt": "2020-09-15T23:12:45Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693025612", + "summary": "The reporter switches to normal and wishes the pin icon were always visible.", + "actorId": 5934505, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693026679", + "kind": "comment", + "actor": "mihaibrana", + "createdAt": "2020-09-15T23:12:37Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693026679", + "summary": "The other user jokes about how configurable the editor is.", + "actorId": 60734380, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693184060", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-16T05:41:39Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693184060", + "summary": "The maintainer explains shrink trades full names for fixed, stable widths and asks about the pin icon.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693185517", + "kind": "comment", + "actor": "ChristopherHaws", + "createdAt": "2020-09-16T05:45:30Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693185517", + "summary": "The user confirms they want an always-visible pin icon, as in Visual Studio.", + "actorId": 5934505, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:693186980", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-16T05:49:29Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-693186980", + "summary": "The maintainer asks for a separate feature request.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:694430976", + "kind": "comment", + "actor": "Sayvai", + "createdAt": "2020-09-17T18:51:34Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-694430976", + "summary": "A user files #106956 for an always-visible pin icon.", + "actorId": 7581546, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:comment:694707732", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2020-09-18T07:31:58Z", + "url": "https://github.com/microsoft/vscode/issues/98161#issuecomment-694707732", + "summary": "The maintainer changes the default to normal, reasoning that shrinking surprises first-time users and should be an explicit choice.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:process:labeled:2020-09-25T17:01:41Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2020-09-25T17:01:41Z", + "url": "https://github.com/microsoft/vscode/issues/98161", + "summary": "The maintainer adds the on-testplan label.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + }, + { + "id": "vscode-98161:process:labeled:2020-10-01T12:31:25Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2020-10-01T12:31:25Z", + "url": "https://github.com/microsoft/vscode/issues/98161", + "summary": "The maintainer adds the on-release-notes label.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-98161:issue:98161" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-quick-open-eager-preview.json b/evals/datasets/decisions-v1/cases/vscode-quick-open-eager-preview.json new file mode 100644 index 000000000..c5f963962 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-quick-open-eager-preview.json @@ -0,0 +1,919 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-quick-open-eager-preview", + "title": "How Quick Open should preview files while navigating results", + "source": { + "url": "https://github.com/microsoft/vscode/issues/8939", + "retrievedAt": "2026-10-18T07:19:48.278981+00:00", + "repository": "microsoft/vscode", + "number": 8939 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2016-07-15T00:00:00Z" + }, + { + "id": "c2", + "at": "2016-10-18T00:30:00Z" + }, + { + "id": "c3", + "at": "2016-10-18T08:35:00Z" + }, + { + "id": "c4", + "at": "2016-10-19T12:00:00Z" + } + ], + "events": [ + { + "id": "vscode-8939:issue:8939", + "kind": "opening", + "actor": "drew-wallace", + "createdAt": "2016-07-08T13:07:36Z", + "url": "https://github.com/microsoft/vscode/issues/8939", + "summary": "The opener asks that Quick Open show each highlighted result in a preview editor as the user moves through the list, opening it fully on selection and preferably closing the preview on cancel.", + "actorId": 7782572, + "actorType": "human" + }, + { + "id": "vscode-8939:comment:232209835", + "kind": "comment", + "actor": "bgashler1", + "createdAt": "2016-07-12T23:13:49Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-232209835", + "summary": "A team member says they want this too, and argues that a file committed from Quick Open after previewing should open as a full, kept editor.", + "actorId": 11839736, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:232215767", + "kind": "comment", + "actor": "drew-wallace", + "createdAt": "2016-07-12T23:50:57Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-232215767", + "summary": "The opener clarifies that the core ask is seeing file contents while scrolling results; permanent opening from Quick Open is a separate nice-to-have.", + "actorId": 7782572, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:233929183", + "kind": "comment", + "actor": "stevencl", + "createdAt": "2016-07-20T11:59:47Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-233929183", + "summary": "A maintainer agrees previewing while moving through results makes sense, and says files already open would be brought to the front.", + "actorId": 1704059, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:234067516", + "kind": "comment", + "actor": "bgashler1", + "createdAt": "2016-07-20T20:12:25Z", + "editedAt": "2016-10-18T17:03:17Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-234067516", + "summary": "A maintainer posts UX meeting notes: the team, after comparing other editors and favouring Visual Studio's behaviour, agreed Quick Open will reuse or create a preview editor per focused item, Enter pins it, and Esc restores the prior editor. The notes were later edited to drop keeping the last preview on Esc, so cancelling removes a newly created preview unless one existed before.", + "actorId": 11839736, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:241377559", + "kind": "comment", + "actor": "smuuf", + "createdAt": "2016-08-22T10:48:04Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-241377559", + "summary": "A user welcomes the issue and asks for it in the next release, citing frequent frustration with files closing unexpectedly.", + "actorId": 6860713, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:process:cross-referenced:2016-10-17T21:53:52Z", + "kind": "process", + "actor": "wprater", + "createdAt": "2016-10-17T21:53:52Z", + "url": "https://github.com/microsoft/vscode/issues/8939", + "summary": "A contributor links PR #13909, which eagerly previews files from Quick Open; the PR was later closed.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254345958", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-17T21:53:57Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254345958", + "summary": "A contributor opening a PR proposes that Esc should undo every side effect, closing any preview editor that was not there before, and asks whether Enter should respect the `workbench.editor.enablePreviewFromQuickOpen` setting.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254358756", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-17T22:57:07Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254358756", + "summary": "The contributor reports that scroll positions get lost when swapping contents in the preview editor, and floats rendering a tab-less temporary editor for previews instead.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254365785", + "kind": "comment", + "actor": "drew-wallace", + "createdAt": "2016-10-17T23:39:31Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254365785", + "summary": "The opener notes that Sublime keeps each file's cursor position when previewing and starts unvisited files at the top.", + "actorId": 7782572, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254367546", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-17T23:50:34Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254367546", + "summary": "The contributor explains Sublime uses a fresh buffer for files with no editor, and lobbies for a tab-less buffer to match that experience.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254368578", + "kind": "comment", + "actor": "drew-wallace", + "createdAt": "2016-10-17T23:57:01Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254368578", + "summary": "The opener adds that Sublime focuses an existing tab when the highlighted file is already open.", + "actorId": 7782572, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254368960", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-17T23:59:22Z", + "editedAt": "2016-10-17T23:59:27Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254368960", + "summary": "The contributor says the PR already does that.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254406483", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2016-10-18T04:54:41Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254406483", + "summary": "A maintainer agrees the preview editor must disappear when Quick Open is cancelled without a pick, and says view state is restored on open unless options override it.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254410944", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-18T05:32:00Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254410944", + "summary": "The contributor explains they need a temporary editor that is neither preview nor pinned until chosen, and asks for an existing mechanism.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254411284", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2016-10-18T05:34:35Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254411284", + "summary": "The maintainer says he does not see why a temporary editor is needed.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254415769", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-18T06:09:19Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254415769", + "summary": "The contributor argues a temporary editor would simplify tracking whether a preview was newly opened, and would avoid files opening at the last line.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254440381", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2016-10-18T08:24:45Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254440381", + "summary": "The maintainer rejects a special preview editor type: only the file itself can be opened, prior state should be captured and restored, and line/column options can control position.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254442495", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-18T08:34:03Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254442495", + "summary": "The contributor restates that cancelling should leave no side effects and that only files without an existing buffer should open at the top.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254443250", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2016-10-18T08:37:23Z", + "editedAt": "2016-10-18T08:38:02Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254443250", + "summary": "The maintainer summarises the agreed behaviour: editors open while navigating, new ones open unpinned regardless of user settings, already open ones are focused at their old position, and cancel either closes the new preview or restores the earlier one.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254447973", + "kind": "comment", + "actor": "wprater", + "createdAt": "2016-10-18T08:58:16Z", + "editedAt": "2016-10-19T00:56:23Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254447973", + "summary": "The contributor says the PR covers all of this except closing the preview on cancel, and asks whether navigation history should exclude previewed files.", + "actorId": 10452, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254454265", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2016-10-18T09:24:58Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254454265", + "summary": "The maintainer points to the stacks model for capturing and restoring the preview editor, and confirms both the navigation stack and persisted history must ignore previews while browsing.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:254671961", + "kind": "comment", + "actor": "bgashler1", + "createdAt": "2016-10-18T23:50:17Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-254671961", + "summary": "A team member says they updated the design notes to match.", + "actorId": 11839736, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:process:renamed:2017-11-27T06:48:20Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2017-11-27T06:48:20Z", + "url": "https://github.com/microsoft/vscode/issues/8939", + "summary": "A maintainer renames the issue to describe showing Quick Open results as previews while navigating.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:349212936", + "kind": "comment", + "actor": "ghost", + "createdAt": "2017-12-05T06:53:59Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-349212936", + "summary": "A user observes that the right arrow already opens a result without closing Quick Open, and suggests making it open in preview mode instead.", + "actorId": 10137, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:383186402", + "kind": "comment", + "actor": "aaronmw", + "createdAt": "2018-04-20T18:40:35Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-383186402", + "summary": "A user asks what happened, since the feature has not shipped even with preview settings enabled.", + "actorId": 1236267, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:383803720", + "kind": "comment", + "actor": "ghost", + "createdAt": "2018-04-24T05:00:35Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-383803720", + "summary": "A user adds support, citing Sublime.", + "actorId": 10137, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:383874063", + "kind": "comment", + "actor": "stevencl", + "createdAt": "2018-04-24T09:55:08Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-383874063", + "summary": "A maintainer says technical issues are blocking the work and links a comment in another issue that explains them.", + "actorId": 1704059, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:383958176", + "kind": "comment", + "actor": "aaronmw", + "createdAt": "2018-04-24T14:41:46Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-383958176", + "summary": "A user asks whether an imperfect interim solution could ship instead of waiting for an ideal one.", + "actorId": 1236267, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:412883278", + "kind": "comment", + "actor": "redbar0n", + "createdAt": "2018-08-14T14:04:30Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-412883278", + "summary": "A user argues the linked blocker should not apply, since Quick Open could simply reuse the explorer's existing preview tab behaviour.", + "actorId": 459282, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:430576012", + "kind": "comment", + "actor": "pycckuu", + "createdAt": "2018-10-17T10:27:56Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-430576012", + "summary": "A user wonders whether a script could press the right arrow while scrolling.", + "actorId": 1489583, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:436336309", + "kind": "comment", + "actor": "Frexuz", + "createdAt": "2018-11-06T17:23:39Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-436336309", + "summary": "A user calls this one of the most missed Sublime features.", + "actorId": 49692, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:436434115", + "kind": "comment", + "actor": "ZYinMD", + "createdAt": "2018-11-06T22:34:33Z", + "editedAt": "2018-11-06T22:36:08Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-436434115", + "summary": "A user objects that their request for instant tab switching on Ctrl-Tab was closed as a duplicate of this issue.", + "actorId": 32368482, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:509818641", + "kind": "comment", + "actor": "guisehn", + "createdAt": "2019-07-09T21:35:13Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-509818641", + "summary": "A user asks for news, saying the gap keeps them from moving off Sublime.", + "actorId": 830208, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:542494887", + "kind": "comment", + "actor": "yansern", + "createdAt": "2019-10-16T03:28:49Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-542494887", + "summary": "A user adds strong support.", + "actorId": 1287077, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:583658361", + "kind": "comment", + "actor": "mmcintyre123", + "createdAt": "2020-02-07T23:22:42Z", + "editedAt": "2020-02-10T03:54:17Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-583658361", + "summary": "A user points to the gotoanything extension, which partly implements the behaviour.", + "actorId": 12388285, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:583683523", + "kind": "comment", + "actor": "Cmacu", + "createdAt": "2020-02-08T01:26:21Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-583683523", + "summary": "The extension's author says they will improve it and welcomes contributions.", + "actorId": 11044542, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:592196159", + "kind": "comment", + "actor": "ilyakamens", + "createdAt": "2020-02-27T21:54:36Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-592196159", + "summary": "A user adds support.", + "actorId": 3293811, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:729893844", + "kind": "comment", + "actor": "vinceprofeta", + "createdAt": "2020-11-18T19:10:40Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-729893844", + "summary": "A user asks what is blocking this and whether it is planned.", + "actorId": 1517775, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:765210020", + "kind": "comment", + "actor": "indigoram89old", + "createdAt": "2021-01-22T07:51:24Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-765210020", + "summary": "A user expresses surprise that it is unsupported.", + "actorId": 10687211, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:775533902", + "kind": "comment", + "actor": "aPinix", + "createdAt": "2021-02-08T23:31:10Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-775533902", + "summary": "A user asks for news, citing Sublime.", + "actorId": 698523, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:775537425", + "kind": "comment", + "actor": "swist666", + "createdAt": "2021-02-08T23:38:28Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-775537425", + "summary": "A user adds a +1.", + "actorId": 4541261, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:830862521", + "kind": "comment", + "actor": "outdoteth", + "createdAt": "2021-05-02T19:53:32Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-830862521", + "summary": "A user asks whether a PR exists and offers to contribute.", + "actorId": 37438950, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:840062349", + "kind": "comment", + "actor": "r-moore", + "createdAt": "2021-05-12T20:06:26Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-840062349", + "summary": "A user adds a +1.", + "actorId": 366280, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1044282538", + "kind": "comment", + "actor": "rogiervandenberg", + "createdAt": "2022-02-18T10:22:20Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1044282538", + "summary": "A user recommends the gotoanything extension as a stopgap.", + "actorId": 3534391, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1047285928", + "kind": "comment", + "actor": "remainstheday", + "createdAt": "2022-02-21T23:07:06Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1047285928", + "summary": "A user asks for status with an animated example, noting how much the feature helped them in Vim.", + "actorId": 4063510, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1049806213", + "kind": "comment", + "actor": "trebor86", + "createdAt": "2022-02-24T12:23:20Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1049806213", + "summary": "A user lists file preview and a separate path row as what they miss from Sublime's Quick Open.", + "actorId": 2445240, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1050747797", + "kind": "comment", + "actor": "trebor86", + "createdAt": "2022-02-25T10:52:25Z", + "editedAt": "2022-02-25T10:54:36Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1050747797", + "summary": "A user reports the extension breaks multi-word searches that built-in Quick Open handles.", + "actorId": 2445240, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1050757474", + "kind": "comment", + "actor": "jespertheend", + "createdAt": "2022-02-25T11:06:39Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1050757474", + "summary": "A user notes the extension also lacks file icons and has filed issues for both problems.", + "actorId": 2737650, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1051067609", + "kind": "comment", + "actor": "Cmacu", + "createdAt": "2022-02-25T17:51:59Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1051067609", + "summary": "The extension's author says they will fix both.", + "actorId": 11044542, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1423188883", + "kind": "comment", + "actor": "TylerLeonhardt", + "createdAt": "2023-02-08T20:19:24Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1423188883", + "summary": "A maintainer points to the suggest widget's side details panel as prior art for this interaction.", + "actorId": 2644648, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1423288038", + "kind": "comment", + "actor": "Aknc34", + "createdAt": "2023-02-08T21:53:53Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1423288038", + "summary": "A user posts an unclear short reply.", + "actorId": 114412646, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1423407753", + "kind": "comment", + "actor": "dpidan", + "createdAt": "2023-02-09T00:15:21Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1423407753", + "summary": "A user asks which dialog the screenshot shows, since it differs from Quick Open.", + "actorId": 1018150, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1423411731", + "kind": "comment", + "actor": "jespertheend", + "createdAt": "2023-02-09T00:19:56Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1423411731", + "summary": "A user explains the right-arrow behaviour, noting it opens files permanently and so piles up tabs.", + "actorId": 2737650, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1426240580", + "kind": "comment", + "actor": "TylerLeonhardt", + "createdAt": "2023-02-10T19:24:40Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1426240580", + "summary": "The maintainer clarifies the screenshot is editor IntelliSense, a keyboard-driven list with extra context.", + "actorId": 2644648, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1429622269", + "kind": "comment", + "actor": "popadicbranislav", + "createdAt": "2023-02-14T11:56:25Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1429622269", + "summary": "A user recommends the FindItFaster extension while waiting.", + "actorId": 11554274, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1646233850", + "kind": "comment", + "actor": "codercodingthecode", + "createdAt": "2023-07-21T20:59:28Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1646233850", + "summary": "A user notes seven years have passed.", + "actorId": 20182536, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1665696896", + "kind": "comment", + "actor": "Tantol", + "createdAt": "2023-08-04T14:22:22Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1665696896", + "summary": "A user would like fzf-style preview built in.", + "actorId": 24943089, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1839150512", + "kind": "comment", + "actor": "lakshits11", + "createdAt": "2023-12-04T17:40:21Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1839150512", + "summary": "A user jokes about the feature still being missing at the end of 2023.", + "actorId": 54276661, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:1850044236", + "kind": "comment", + "actor": "martindrzka", + "createdAt": "2023-12-11T13:05:48Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-1850044236", + "summary": "A user says they would pay for it.", + "actorId": 1623988, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2039741351", + "kind": "comment", + "actor": "jbrodriguez", + "createdAt": "2024-04-05T12:57:12Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2039741351", + "summary": "A user describes FindItFaster's terminal-based approach and notes VS Code lacks centred floating panes.", + "actorId": 1305422, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2049363728", + "kind": "comment", + "actor": "h0jeZvgoxFepBQ2C", + "createdAt": "2024-04-11T10:11:35Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2049363728", + "summary": "A user pleads for the feature.", + "actorId": 10075, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2052729494", + "kind": "comment", + "actor": "joshmu", + "createdAt": "2024-04-13T00:36:39Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2052729494", + "summary": "A user shares their Periscope extension, built within the existing UI primitives.", + "actorId": 1970265, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2053654050", + "kind": "comment", + "actor": "macintacos", + "createdAt": "2024-04-13T13:57:30Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2053654050", + "summary": "A user compares Periscope with VS Code's experimental Quick Search.", + "actorId": 8128941, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2053702438", + "kind": "comment", + "actor": "jbrodriguez", + "createdAt": "2024-04-13T17:02:13Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2053702438", + "summary": "A user says Quick Search lacks preview, likely due to UI limits.", + "actorId": 1305422, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2053706347", + "kind": "comment", + "actor": "macintacos", + "createdAt": "2024-04-13T17:16:48Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2053706347", + "summary": "The other user replies that Quick Search does preview results in the focused editor as you arrow through them.", + "actorId": 8128941, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2053709056", + "kind": "comment", + "actor": "jbrodriguez", + "createdAt": "2024-04-13T17:27:59Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2053709056", + "summary": "The user concedes it works.", + "actorId": 1305422, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2053774280", + "kind": "comment", + "actor": "joshmu", + "createdAt": "2024-04-13T22:08:39Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2053774280", + "summary": "The Periscope author contrasts its ripgrep features with Quick Search's simpler previews.", + "actorId": 1970265, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2085554694", + "kind": "comment", + "actor": "h0jeZvgoxFepBQ2C", + "createdAt": "2024-04-30T14:50:43Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2085554694", + "summary": "A user notes Quick Search covers text search only, not opening files by name.", + "actorId": 10075, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2086061186", + "kind": "comment", + "actor": "macintacos", + "createdAt": "2024-04-30T17:14:22Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2086061186", + "summary": "The other user agrees the original request remains unsolved.", + "actorId": 8128941, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2160420767", + "kind": "comment", + "actor": "musjj", + "createdAt": "2024-06-11T10:39:10Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2160420767", + "summary": "A user asks for the same preview in the Ctrl+Tab editor picker.", + "actorId": 72612857, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2337668133", + "kind": "comment", + "actor": "LucianCrainic", + "createdAt": "2024-09-09T09:56:52Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2337668133", + "summary": "A user asks the team for news, citing telescope.nvim.", + "actorId": 32139751, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2411257189", + "kind": "comment", + "actor": "Alan-MQ", + "createdAt": "2024-10-14T13:20:36Z", + "editedAt": "2024-10-14T14:25:22Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2411257189", + "summary": "A user describes a homemade script approach and asks for help retrieving the highlighted file name.", + "actorId": 109934126, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2411314831", + "kind": "comment", + "actor": "popielasty", + "createdAt": "2024-10-14T13:43:41Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2411314831", + "summary": "A user bumps the issue.", + "actorId": 9320802, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2411348909", + "kind": "comment", + "actor": "LucianCrainic", + "createdAt": "2024-10-14T13:56:59Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2411348909", + "summary": "A user asks the script author to share the code.", + "actorId": 32139751, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2411427555", + "kind": "comment", + "actor": "Alan-MQ", + "createdAt": "2024-10-14T14:27:03Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2411427555", + "summary": "The script author says they have added the repository link.", + "actorId": 109934126, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2490569418", + "kind": "comment", + "actor": "BorisKaravasilev", + "createdAt": "2024-11-21T09:36:47Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2490569418", + "summary": "A user asks a maintainer whether this could be prioritised.", + "actorId": 21154361, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2510367415", + "kind": "comment", + "actor": "HolbyFPV", + "createdAt": "2024-12-02T01:15:08Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2510367415", + "summary": "A user suggests the binocular extension as a workaround.", + "actorId": 61704528, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2738672046", + "kind": "comment", + "actor": "haxybaxy", + "createdAt": "2025-03-20T00:39:38Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2738672046", + "summary": "A user shares a new extension that previews files during fuzzy search.", + "actorId": 87573953, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + }, + { + "id": "vscode-8939:comment:2884599904", + "kind": "comment", + "actor": "haxybaxy", + "createdAt": "2025-05-15T17:41:52Z", + "url": "https://github.com/microsoft/vscode/issues/8939#issuecomment-2884599904", + "summary": "The same user reports the extension now uses fzf and supports recent-file previews.", + "actorId": 87573953, + "actorType": "human", + "parentId": "vscode-8939:issue:8939" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-scm-single-view-backlash.json b/evals/datasets/decisions-v1/cases/vscode-scm-single-view-backlash.json new file mode 100644 index 000000000..dc2abeedb --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-scm-single-view-backlash.json @@ -0,0 +1,803 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-scm-single-view-backlash", + "title": "Revert, toggle or iterate on the unified source control view", + "source": { + "url": "https://github.com/microsoft/vscode/issues/102118", + "retrievedAt": "2026-10-18T07:19:33.830459+00:00", + "repository": "microsoft/vscode", + "number": 102118 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2020-07-11T16:00:00Z" + }, + { + "id": "c2", + "at": "2020-07-17T12:00:00Z" + }, + { + "id": "c3", + "at": "2020-08-05T00:00:00Z" + }, + { + "id": "c4", + "at": "2020-08-07T00:00:00Z" + } + ], + "events": [ + { + "id": "vscode-102118:issue:102118", + "kind": "opening", + "actor": "astrowonk", + "createdAt": "2020-07-10T12:54:39Z", + "url": "https://github.com/microsoft/vscode/issues/102118", + "summary": "A user dislikes the new source control layout in multi-repo workspaces because repos with changes no longer stand out at the bottom, and asks for sorting or separation that surfaces them.", + "actorId": 13702392, + "actorType": "human" + }, + { + "id": "vscode-102118:comment:656776462", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-10T16:50:50Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-656776462", + "summary": "The opener says the unified view is so cluttered they downgraded to 1.46, and wants changes placed below everything else.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:656821112", + "kind": "comment", + "actor": "mdwagner", + "createdAt": "2020-07-10T18:30:45Z", + "editedAt": "2020-07-10T18:33:57Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-656821112", + "summary": "A user explains there used to be a select-one-repo mode and a multi-repo mode, and that collapsing to one way ignored people who relied on the first; they have moved to the git CLI.", + "actorId": 13472976, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:656863989", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-10T19:59:05Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-656863989", + "summary": "A contributor suggests the `scm.providerCountBadge` setting.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:656867699", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-10T20:08:36Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-656867699", + "summary": "The opener says the badge does not fix commit inputs mixed in among repo names.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:656879180", + "kind": "comment", + "actor": "fernandopsilveira", + "createdAt": "2020-07-10T20:38:05Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-656879180", + "summary": "A user calls it a regression because they relied on selecting repositories.", + "actorId": 1727562, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657024059", + "kind": "comment", + "actor": "FRAGGYnz", + "createdAt": "2020-07-11T09:29:30Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657024059", + "summary": "A user who worked one repo at a time finds it cluttered and is downgrading.", + "actorId": 34015257, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657082385", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-11T15:36:51Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657082385", + "summary": "The opener posts screenshots comparing the old view, where changes appear separately below the repo list, with the new one where they are interleaved.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657216479", + "kind": "comment", + "actor": "igoramadas", + "createdAt": "2020-07-12T12:38:37Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657216479", + "summary": "A user asks for a toggle between old and new views and says they keep typing commit messages in the wrong box.", + "actorId": 1576674, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657227140", + "kind": "comment", + "actor": "stackh34p", + "createdAt": "2020-07-12T14:11:30Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657227140", + "summary": "A user is downgrading and says the community should have been consulted before an irreversible change, asking at least for a mode switch.", + "actorId": 1716141, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657231658", + "kind": "comment", + "actor": "stagefright5", + "createdAt": "2020-07-12T14:46:18Z", + "editedAt": "2020-07-12T14:46:55Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657231658", + "summary": "A user suspects the change was not tested on real projects and asks what UX goal it served.", + "actorId": 15051871, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657233340", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-12T14:59:54Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657233340", + "summary": "A contributor says the driver was making SCM a single view that can be moved elsewhere in the layout, and recommends Insiders for early feedback.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657234255", + "kind": "comment", + "actor": "joaomoreno", + "createdAt": "2020-07-12T15:06:41Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657234255", + "summary": "A maintainer reposts a user's list of pain points: scrolling to reach changes and actions, collapsing each repo, weak visual distinction, hidden branch info, and a request to keep the old view optional.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657234692", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-12T15:09:40Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657234692", + "summary": "The opener does not see why anyone would move the SCM view.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657234851", + "kind": "comment", + "actor": "joaomoreno", + "createdAt": "2020-07-12T15:11:03Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657234851", + "summary": "A maintainer thanks everyone, says the view is still being polished but shipped because it was functionally complete and fits the flexible layout work, and asks for continued feedback.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:process:labeled:2020-07-12T15:11:15Z+", + "kind": "process", + "actor": "joaomoreno", + "createdAt": "2020-07-12T15:11:15Z", + "url": "https://github.com/microsoft/vscode/issues/102118", + "summary": "A maintainer labels the issue as under discussion.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:process:renamed:2020-07-12T15:11:33Z", + "kind": "process", + "actor": "joaomoreno", + "createdAt": "2020-07-12T15:11:33Z", + "url": "https://github.com/microsoft/vscode/issues/102118", + "summary": "A maintainer renames the issue from an option to disable the single view to general feedback on it.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657236400", + "kind": "comment", + "actor": "fernandopsilveira", + "createdAt": "2020-07-12T15:21:37Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657236400", + "summary": "A user asks again for a way back to the old UI until the new one is polished.", + "actorId": 1727562, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657236653", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-12T15:23:28Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657236653", + "summary": "A contributor explains the view can now move to the panel or combine with Timeline, and might go to a second sidebar later.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657238183", + "kind": "comment", + "actor": "igoramadas", + "createdAt": "2020-07-12T15:34:11Z", + "editedAt": "2020-07-12T15:42:36Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657238183", + "summary": "A user asks whether the flexible layout could keep the old repo-list-on-top design, and shows how they committed to the wrong repo several times in one day.", + "actorId": 1576674, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657238863", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-12T15:39:29Z", + "editedAt": "2020-07-12T15:40:32Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657238863", + "summary": "The opener agrees that one commit input for the selected repo at the bottom is the key fix.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657239300", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-12T15:42:45Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657239300", + "summary": "The opener asks the maintainer to revert or offer a toggle because wrong commits are happening.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657241284", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-12T15:58:18Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657241284", + "summary": "A contributor asks whether that user has Smart Commit on.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657243753", + "kind": "comment", + "actor": "igoramadas", + "createdAt": "2020-07-12T16:17:02Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657243753", + "summary": "The user says yes but also stages manually, and the wrong input still draws their eye.", + "actorId": 1576674, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657245766", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-12T16:32:38Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657245766", + "summary": "A contributor suggests Collapse All then expanding one repo as a workaround.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657447587", + "kind": "comment", + "actor": "stagefright5", + "createdAt": "2020-07-13T09:39:46Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657447587", + "summary": "A user asks why the issue lacks a new-release label.", + "actorId": 15051871, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657455683", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-13T09:53:17Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657455683", + "summary": "A contributor explains the label is bot-applied and notes a milestone is already assigned.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657464466", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-13T10:06:56Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657464466", + "summary": "A contributor suggests accordion behaviour so expanding one repo collapses the others.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657577939", + "kind": "comment", + "actor": "GilShoshan94", + "createdAt": "2020-07-13T13:59:03Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657577939", + "summary": "A user agrees with the comparison and asks for a setting to use the old view.", + "actorId": 29143941, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657591493", + "kind": "comment", + "actor": "danielb42", + "createdAt": "2020-07-13T14:23:45Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657591493", + "summary": "A user calls it a clear single-repo regression because sync buttons disappeared.", + "actorId": 35470293, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657592896", + "kind": "comment", + "actor": "joaomoreno", + "createdAt": "2020-07-13T14:26:13Z", + "editedAt": "2020-07-13T14:27:04Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657592896", + "summary": "A maintainer says a setting to show the repository row is coming, explains the actions live in the status bar, and guesses the user had the providers view forced on.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657602570", + "kind": "comment", + "actor": "danielb42", + "createdAt": "2020-07-13T14:43:58Z", + "editedAt": "2020-07-13T14:48:24Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657602570", + "summary": "The user confirms their pain came from a removed setting, while still agreeing with the wider critique.", + "actorId": 35470293, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657612907", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-13T15:01:51Z", + "editedAt": "2020-07-13T15:16:44Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657612907", + "summary": "The opener says only one commit input should be visible and it should sit at the bottom, and until then the old view should be available.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657786425", + "kind": "comment", + "actor": "mdwagner", + "createdAt": "2020-07-13T20:49:04Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657786425", + "summary": "A user links a side-by-side comparison and still prefers the old view.", + "actorId": 13472976, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657813657", + "kind": "comment", + "actor": "karolpiczak", + "createdAt": "2020-07-13T21:56:58Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657813657", + "summary": "A user misses one-click switching between repos with long change lists and the overview while scrolling.", + "actorId": 215618, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657839893", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-13T22:50:17Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657839893", + "summary": "A contributor asks whether they tried the count badge setting.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657854725", + "kind": "comment", + "actor": "karolpiczak", + "createdAt": "2020-07-13T23:06:27Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657854725", + "summary": "The user says it does not help reach controls when scrolling long lists.", + "actorId": 215618, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:657976416", + "kind": "comment", + "actor": "gejiawen", + "createdAt": "2020-07-14T05:32:24Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-657976416", + "summary": "A user supports a feature toggle and prefers the old style.", + "actorId": 1721331, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:658460969", + "kind": "comment", + "actor": "HanBnrd", + "createdAt": "2020-07-14T23:25:13Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-658460969", + "summary": "A user says the commit input moves around so visual memory fails, and asks to bring back repos on top with the input below.", + "actorId": 32393169, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659011185", + "kind": "comment", + "actor": "m50", + "createdAt": "2020-07-15T21:08:12Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659011185", + "summary": "A user says the dense layout is an accessibility problem for people with reading disorders and has reverted.", + "actorId": 3577147, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659119650", + "kind": "comment", + "actor": "smikitky", + "createdAt": "2020-07-16T02:30:27Z", + "editedAt": "2020-07-16T03:21:15Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659119650", + "summary": "A user with many related repos asks for clearer repo boundaries and a setting to hide or demote repos with no changes.", + "actorId": 7779406, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659179825", + "kind": "comment", + "actor": "stackh34p", + "createdAt": "2020-07-16T06:05:11Z", + "editedAt": "2020-07-17T15:43:56Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659179825", + "summary": "A user asks whether others cannot stop auto-update after downgrading; GitHub marks this comment as resolved.", + "actorId": 1716141, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659351977", + "kind": "comment", + "actor": "Somberland", + "createdAt": "2020-07-16T11:31:51Z", + "editedAt": "2020-07-16T14:29:33Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659351977", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 5808345, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659568679", + "kind": "comment", + "actor": "danieltodor", + "createdAt": "2020-07-16T17:46:32Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659568679", + "summary": "A user asks to change it back and has downgraded.", + "actorId": 42888821, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659984837", + "kind": "comment", + "actor": "nbeentjes", + "createdAt": "2020-07-17T09:14:44Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659984837", + "summary": "A user says the old view also caused wrong-repo mistakes, so reverting would hurt some people; they prefer improving density, spacing and grouping in the new view.", + "actorId": 24595377, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:659996374", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-17T09:34:41Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-659996374", + "summary": "A contributor shares an experiment moving the count badge left and increasing indents, asking if that could be part of the fix.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660003705", + "kind": "comment", + "actor": "nbeentjes", + "createdAt": "2020-07-17T09:48:05Z", + "editedAt": "2020-07-17T10:40:56Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660003705", + "summary": "A user says the extra badge adds noise but the indents help, though they should not affect Explorer.", + "actorId": 24595377, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660012712", + "kind": "comment", + "actor": "atlanteh", + "createdAt": "2020-07-17T10:04:38Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660012712", + "summary": "A user asks for an option to hide repos without changes, perhaps only those on the default branch.", + "actorId": 3952700, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660018446", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-17T10:15:13Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660018446", + "summary": "A contributor defends repo-level counts when collapsed and suggests SCM-specific indentation.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660036694", + "kind": "comment", + "actor": "nbeentjes", + "createdAt": "2020-07-17T10:49:21Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660036694", + "summary": "A user proposes showing the count badge only when a repo is collapsed.", + "actorId": 24595377, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660057210", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-17T11:32:13Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660057210", + "summary": "A contributor shows a case where the expanded count still conveys information.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660069387", + "kind": "comment", + "actor": "remedix", + "createdAt": "2020-07-17T12:01:05Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660069387", + "summary": "A user with ten repos asks for a way back to the old view.", + "actorId": 516076, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660076959", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-17T12:21:17Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660076959", + "summary": "A contributor points to Collapse All and keyboard shortcuts.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660080402", + "kind": "comment", + "actor": "remedix", + "createdAt": "2020-07-17T12:29:41Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660080402", + "summary": "The user says they already do that dance daily and want customisation.", + "actorId": 516076, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:660080555", + "kind": "comment", + "actor": "nbeentjes", + "createdAt": "2020-07-17T12:30:03Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-660080555", + "summary": "A user suggests a single grand-total count instead of competing badges.", + "actorId": 24595377, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:661198679", + "kind": "comment", + "actor": "a-h-abid", + "createdAt": "2020-07-20T17:07:26Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-661198679", + "summary": "A user supports reverting.", + "actorId": 2020773, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:661650589", + "kind": "comment", + "actor": "pytheous", + "createdAt": "2020-07-21T05:55:58Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-661650589", + "summary": "A user found moving the view pointless, hit an icon bug, and complains the repo name is not visible.", + "actorId": 57333962, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:661656830", + "kind": "comment", + "actor": "gjsjohnmurray", + "createdAt": "2020-07-21T06:13:53Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-661656830", + "summary": "A contributor says the icon bug is fixed in Insiders.", + "actorId": 6726799, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:663863892", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-07-25T14:49:55Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-663863892", + "summary": "The opener asks the maintainer whether users must live with the new view, since nothing in the iteration plan addresses it.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:663926933", + "kind": "comment", + "actor": "smaranh", + "createdAt": "2020-07-26T02:18:38Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-663926933", + "summary": "A user supports a way to revert.", + "actorId": 1641261, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:664161240", + "kind": "comment", + "actor": "ninlil", + "createdAt": "2020-07-27T07:05:21Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-664161240", + "summary": "A user suggests moving the count badge so actions do not shift, sortable repos, path tooltips, submodule detection, and layout settings.", + "actorId": 12492806, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:665105899", + "kind": "comment", + "actor": "justinian-tomegea", + "createdAt": "2020-07-28T15:23:50Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-665105899", + "summary": "A user asks for font settings for repository names.", + "actorId": 52409587, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:665790544", + "kind": "comment", + "actor": "dalgarin", + "createdAt": "2020-07-29T17:13:15Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-665790544", + "summary": "A user calls the single view a step backwards and is downgrading.", + "actorId": 30446551, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:665822555", + "kind": "comment", + "actor": "bokubeam", + "createdAt": "2020-07-29T18:16:38Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-665822555", + "summary": "A user with many repos is also downgrading.", + "actorId": 1188980, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:666204671", + "kind": "comment", + "actor": "joaomoreno", + "createdAt": "2020-07-30T07:57:05Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-666204671", + "summary": "A maintainer says the plan is to iterate forward on the new design and split the feedback into individual items.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:667677111", + "kind": "comment", + "actor": "astrowonk", + "createdAt": "2020-08-02T13:55:23Z", + "editedAt": "2020-08-02T13:57:59Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-667677111", + "summary": "The opener asks for a time frame and says users have heard little about concrete fixes.", + "actorId": 13702392, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:667680416", + "kind": "comment", + "actor": "stackh34p", + "createdAt": "2020-08-02T14:24:06Z", + "editedAt": "2020-08-02T14:27:12Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-667680416", + "summary": "A user argues teams should roll back confusing UI and keep polishing behind Insiders, and calls the refusal to revert stubborn.", + "actorId": 1716141, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:comment:669745524", + "kind": "comment", + "actor": "joaomoreno", + "createdAt": "2020-08-06T07:01:10Z", + "url": "https://github.com/microsoft/vscode/issues/102118#issuecomment-669745524", + "summary": "A maintainer announces a new issue to restore the parent/child repo selection by controlling visibility within the single pane, keeping the single-view goal, landing in Insiders soon and stable in late August.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + }, + { + "id": "vscode-102118:process:closed:2020-08-06T07:01:10Z", + "kind": "process", + "actor": "joaomoreno", + "createdAt": "2020-08-06T07:01:10Z", + "url": "https://github.com/microsoft/vscode/issues/102118", + "summary": "A maintainer closes the issue in favour of the new follow-up issue.", + "actorId": 22350, + "actorType": "human", + "parentId": "vscode-102118:issue:102118" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/vscode-windows-custom-titlebar.json b/evals/datasets/decisions-v1/cases/vscode-windows-custom-titlebar.json new file mode 100644 index 000000000..cd5702a70 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/vscode-windows-custom-titlebar.json @@ -0,0 +1,853 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "vscode-windows-custom-titlebar", + "title": "Custom coloured title bar for VS Code on Windows", + "source": { + "url": "https://github.com/microsoft/vscode/pull/39972", + "retrievedAt": "2026-10-18T07:26:52.092607+00:00", + "repository": "microsoft/vscode", + "number": 39972 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2017-12-12T05:53:00Z" + }, + { + "id": "c2", + "at": "2017-12-13T09:15:00Z" + }, + { + "id": "c3", + "at": "2018-06-18T09:00:00Z" + }, + { + "id": "c4", + "at": "2018-06-18T17:30:00Z" + } + ], + "events": [ + { + "id": "vscode-39972:pr:39972", + "kind": "opening", + "actor": "rianadon", + "createdAt": "2017-12-10T01:07:29Z", + "url": "https://github.com/microsoft/vscode/pull/39972", + "summary": "A contributor opens a work-in-progress PR adding a coloured, custom-drawn title bar on Windows, adapted from an Electron package, with screenshots of a desktop-style and a UWP-style variant and an open item on whether to offer the UWP style as an option.", + "actorId": 18223213, + "actorType": "human" + }, + { + "id": "vscode-39972:comment:350583220", + "kind": "comment", + "actor": "tenF", + "createdAt": "2017-12-10T21:32:24Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350583220", + "summary": "A user asks whether the change honours the existing titleBar active and inactive colour settings used on macOS.", + "actorId": 18104031, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350585227", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-10T22:02:11Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350585227", + "summary": "The opener confirms it reuses the macOS custom title bar, so all its colour settings apply.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350639064", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-11T07:06:56Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350639064", + "summary": "A maintainer encourages the work but notes Windows loses its top-level menu, so the feature can only be opt-in until a custom menu exists; he floats a Slack-style corner menu and asks for the app icon in the top left.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350952577", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-12T05:51:34Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350952577", + "summary": "The opener agrees to opt-in, explains the UWP style has no icon, and proposes a new three-value setting (native, UWP-style custom, desktop-style custom), asking what to name it.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350953140", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-12T05:55:41Z", + "editedAt": "2017-12-12T05:56:35Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350953140", + "summary": "The maintainer says to reuse the existing `window.titleBarStyle` setting (native or custom) and pick one good Windows look rather than two, and asks whether it would also work on Linux.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350956289", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-12T06:18:33Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350956289", + "summary": "The opener is unsure which style to keep, worries some users will miss the dropped one, and confirms Linux support.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350957162", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-12T06:24:23Z", + "editedAt": "2017-12-12T06:24:36Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350957162", + "summary": "The maintainer argues for matching a typical Windows desktop application rather than UWP, and asks what actually differs between the two.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350961326", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-12T06:52:20Z", + "editedAt": "2017-12-12T06:53:09Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350961326", + "summary": "The opener says the differences are mainly the icon and bar height, with screenshots, and sketches a Fluent-style option that extends UI elements into the title area.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350963065", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-12T07:03:09Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350963065", + "summary": "The maintainer links a related issue for a collapsed title style as a possible third option, but votes to stay close to the current look with a custom background colour.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:350964640", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-12T07:12:03Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-350964640", + "summary": "The opener agrees and will resize the bar to fit the existing appearance.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351185434", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-12T20:33:11Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351185434", + "summary": "The opener reports the scaled-down version with icon, admits preferring the taller bar, and asks how to make the frameless window draggable before the title bar loads.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351329184", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-13T09:11:01Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351329184", + "summary": "The maintainer likes the icon version, suggests making the page background draggable during load, and reports a missing window title bug.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351616789", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-14T05:59:26Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351616789", + "summary": "The maintainer reports that a UX meeting decided the PR can only be accepted once a menu solution exists, possibly a Slack-style corner menu that must pass accessibility review; the team will own that work later, and the PR should be readied but held until then.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351627626", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-14T07:12:33Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351627626", + "summary": "The opener accepts the wait and asks for help with the drag region not applying during load.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351629089", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-14T07:21:50Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351629089", + "summary": "The maintainer offers to look at a branch with the drag change.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351636672", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-14T08:04:10Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351636672", + "summary": "The opener links the branch.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:351929466", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-15T07:00:20Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-351929466", + "summary": "The maintainer suspects the delay before the page script loads is the cause.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352157331", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-16T03:26:54Z", + "editedAt": "2017-12-16T03:27:50Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352157331", + "summary": "The opener finds the empty body was only a few pixels tall, fixes dragging in the preload script, and asks whether Linux support is still wanted.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352218793", + "kind": "comment", + "actor": "easyaspi314", + "createdAt": "2017-12-16T23:21:01Z", + "editedAt": "2017-12-16T23:49:47Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352218793", + "summary": "A user builds the branch, lists gaps (no border, no icon menu or double-click close, no hover transitions, no menu bar as the main blocker) and suggests a custom menubar example with CSS.", + "actorId": 6258309, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352223580", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-17T01:01:25Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352223580", + "summary": "The opener responds point by point, leaving the border open and planning to add double-click close and hover transitions.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352239152", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-17T08:07:53Z", + "editedAt": "2017-12-17T08:08:45Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352239152", + "summary": "The maintainer suggests implementing the window icon menu with the existing context menu service, and raises whether screen readers still get the window title.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352239744", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-17T08:22:02Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352239744", + "summary": "The opener notes that menu would not look native and says the taskbar still carries the window name, though a screen reader test is needed.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352241567", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2017-12-17T09:06:05Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352241567", + "summary": "The maintainer says a non-native look for that menu is acceptable.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352284560", + "kind": "comment", + "actor": "easyaspi314", + "createdAt": "2017-12-17T20:51:01Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352284560", + "summary": "A user observes Windows itself is inconsistent about menu styles, so a mismatch is tolerable.", + "actorId": 6258309, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352307184", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-18T02:00:58Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352307184", + "summary": "The opener agrees and will go with a VS Code-styled menu.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352312027", + "kind": "comment", + "actor": "easyaspi314", + "createdAt": "2017-12-18T02:42:29Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352312027", + "summary": "A user reports a dead zone at the screen corner where the close button should be when maximised, a title bar height glitch, and details of how the native window icon menu behaves.", + "actorId": 6258309, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352314007", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2017-12-18T03:00:09Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352314007", + "summary": "The opener finds the icon menu's move and size items too complex, proposes either skipping them or reviving the native menu, and asks for help with a maximise and resize race.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:352611633", + "kind": "comment", + "actor": "easyaspi314", + "createdAt": "2017-12-19T01:30:24Z", + "editedAt": "2017-12-19T01:56:16Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-352611633", + "summary": "A user says they would accept dropping the icon in favour of the simpler UWP look since the feature is opt-in.", + "actorId": 6258309, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:357464417", + "kind": "comment", + "actor": "tenF", + "createdAt": "2018-01-13T20:18:13Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-357464417", + "summary": "A user points to Firefox's integrated menubar as inspiration.", + "actorId": 18104031, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:357482224", + "kind": "comment", + "actor": "easyaspi314", + "createdAt": "2018-01-14T01:48:38Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-357482224", + "summary": "A user explains Firefox achieves it through its own XUL technology.", + "actorId": 6258309, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:359187610", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-01-20T17:28:45Z", + "editedAt": "2018-01-20T17:29:14Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359187610", + "summary": "A contributor tries the patch with Fluent blur effects and asks for an option to hide the app icon, a properly centred close glyph, larger margins, and more drag area.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:review-comment:162788664", + "kind": "review-comment", + "actor": "sylveon", + "createdAt": "2018-01-20T17:46:35Z", + "editedAt": "2018-05-07T07:26:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#discussion_r162788664", + "summary": "In review, the contributor asks whether adding a not-macOS check would break the Mac title bar.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:review-comment:162800515", + "kind": "review-comment", + "actor": "rianadon", + "createdAt": "2018-01-21T04:28:10Z", + "editedAt": "2018-05-07T07:26:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#discussion_r162800515", + "summary": "The opener explains the check only lets non-Mac platforms use the custom bar in development builds.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:review-comment:162788664" + }, + { + "id": "vscode-39972:comment:359225447", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-01-21T05:37:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359225447", + "summary": "The opener replies that an icon option would need a confusingly named new setting, and acknowledges the other points.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:359255072", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-01-21T15:08:36Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359255072", + "summary": "The contributor dislikes the linked mockups, preferring a Firefox-like approach and a fully draggable top edge.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:review-comment:162823627", + "kind": "review-comment", + "actor": "sylveon", + "createdAt": "2018-01-21T20:05:17Z", + "editedAt": "2018-05-07T07:26:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#discussion_r162823627", + "summary": "The contributor suggests folding the condition into one expression and questions the double negation.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:review-comment:162788664" + }, + { + "id": "vscode-39972:review-comment:162829081", + "kind": "review-comment", + "actor": "rianadon", + "createdAt": "2018-01-21T23:06:35Z", + "editedAt": "2018-05-07T07:26:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#discussion_r162829081", + "summary": "The opener explains keeping the condition separate and the boolean cast.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:review-comment:162788664" + }, + { + "id": "vscode-39972:comment:359290414", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-01-21T23:14:06Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359290414", + "summary": "The contributor notes the editor typed the value as string or boolean without the cast.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:359290907", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-01-21T23:21:56Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359290907", + "summary": "The opener likes Firefox's Alt-triggered hidden menubar.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:359313543", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-01-22T03:10:42Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-359313543", + "summary": "The contributor proposes placing a custom menubar under the title bar and keeping the existing `window.menuBarVisibility` toggle behaviour.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:364633521", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-02-10T07:45:04Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-364633521", + "summary": "The opener asks the maintainer for news on the menu and whether there is an official choice among the competing title bar designs.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:364634118", + "kind": "comment", + "actor": "bpasero", + "createdAt": "2018-02-10T07:57:17Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-364634118", + "summary": "The maintainer says the custom menu is not a priority yet, behind notifications and grid layout work.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:383597837", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-04-23T14:35:38Z", + "editedAt": "2018-04-23T14:49:39Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-383597837", + "summary": "A user points to an Atom package that merges the menu into the title bar.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:384150179", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-04-25T03:30:37Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-384150179", + "summary": "The opener says they lack time and invites someone else to port such a menubar.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:385632869", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-05-01T09:24:05Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-385632869", + "summary": "The user offers to try if given a guide.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:386528126", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-05-04T07:46:59Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-386528126", + "summary": "The opener lists open design questions for a menubar: where it sits in the DOM, HTML versus generated markup, and how its setting relates to the title bar setting.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:386978049", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-05-07T07:10:12Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-386978049", + "summary": "The opener suggests starting with a plain rectangle and notes a menu inside the title bar would need the taller UWP-style bar, forcing a choice between limiting options and supporting many styles.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:387116123", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-05-07T16:09:02Z", + "editedAt": "2018-05-07T16:15:08Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-387116123", + "summary": "A user suggests coloured window control icons for dark themes.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:388602361", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-05-13T05:19:03Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-388602361", + "summary": "The opener dislikes multicoloured icons but supports theme-configurable icon colour.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:390440921", + "kind": "comment", + "actor": "LasseRosenow", + "createdAt": "2018-05-19T23:46:51Z", + "editedAt": "2018-05-19T23:47:13Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-390440921", + "summary": "A user says they prefer the UWP-style bar.", + "actorId": 10547444, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:390454738", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-05-20T03:22:10Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-390454738", + "summary": "The opener agrees and invites help on the menubar while they are away.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:390455222", + "kind": "comment", + "actor": "sbatten", + "createdAt": "2018-05-20T03:37:17Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-390455222", + "summary": "A maintainer on the VS Code team says he is now implementing the menu.", + "actorId": 6561887, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:390473805", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-05-20T11:20:08Z", + "editedAt": "2018-05-20T11:39:55Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-390473805", + "summary": "A user urges the Atom-style integrated menubar and questions what makes UWP look different.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:390638057", + "kind": "comment", + "actor": "LasseRosenow", + "createdAt": "2018-05-21T12:19:05Z", + "editedAt": "2018-05-27T06:55:44Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-390638057", + "summary": "The other user explains they prefer UWP's taller bar without the icon.", + "actorId": 10547444, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:394323277", + "kind": "comment", + "actor": "AkazaRenn", + "createdAt": "2018-06-04T11:32:53Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-394323277", + "summary": "A user praises the work and also prefers the UWP style.", + "actorId": 8340896, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:397486362", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-06-15T01:27:26Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-397486362", + "summary": "The opener considers adding an option to choose UWP or classic style and asks the team member if that would interfere.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:process:merged:2018-06-18T09:01:26Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2018-06-18T09:01:26Z", + "url": "https://github.com/microsoft/vscode/pull/39972", + "summary": "The maintainer merges the PR.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:process:closed:2018-06-18T09:01:26Z", + "kind": "process", + "actor": "bpasero", + "createdAt": "2018-06-18T09:01:26Z", + "url": "https://github.com/microsoft/vscode/pull/39972", + "summary": "The PR closes on merge.", + "actorId": 900690, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398032520", + "kind": "comment", + "actor": "kumarharsh", + "createdAt": "2018-06-18T12:07:38Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398032520", + "summary": "A contributor celebrates.", + "actorId": 760112, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398093806", + "kind": "comment", + "actor": "sbatten", + "createdAt": "2018-06-18T15:26:45Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398093806", + "summary": "The team member says such an option would likely conflict, since he reworked the PR and is still changing that area.", + "actorId": 6561887, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398112525", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-06-18T16:23:19Z", + "editedAt": "2018-06-18T16:32:42Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398112525", + "summary": "A user asks for screenshots and timing.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398130136", + "kind": "comment", + "actor": "sbatten", + "createdAt": "2018-06-18T17:20:03Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398130136", + "summary": "The team member shares a screenshot with the integrated menubar and says it will be in Insiders behind `window.titleBarStyle` set to custom.", + "actorId": 6561887, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398152994", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-06-18T18:36:00Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398152994", + "summary": "The earlier contributor congratulates both and plans to rebase transparency work.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398327786", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-06-19T09:01:08Z", + "editedAt": "2018-06-19T09:09:08Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398327786", + "summary": "A user shares a screenshot of the result.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:398684953", + "kind": "comment", + "actor": "guledali", + "createdAt": "2018-06-20T09:26:38Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-398684953", + "summary": "A user requests macOS-style window buttons as an option.", + "actorId": 20647282, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:399671348", + "kind": "comment", + "actor": "prateekrastogi", + "createdAt": "2018-06-23T11:57:45Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-399671348", + "summary": "A user asks when it reaches stable.", + "actorId": 14788991, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:399672858", + "kind": "comment", + "actor": "yume-chan", + "createdAt": "2018-06-23T12:14:47Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-399672858", + "summary": "A contributor points to the iteration plan for the next release.", + "actorId": 1330321, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:399893609", + "kind": "comment", + "actor": "e-thn", + "createdAt": "2018-06-25T09:41:41Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-399893609", + "summary": "A user reports Alt shortcuts now open the menu under the custom title bar.", + "actorId": 25012143, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:400462077", + "kind": "comment", + "actor": "sylveon", + "createdAt": "2018-06-26T21:05:27Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-400462077", + "summary": "A contributor asks them to file a separate issue.", + "actorId": 6440374, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:400588817", + "kind": "comment", + "actor": "e-thn", + "createdAt": "2018-06-27T08:33:25Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-400588817", + "summary": "The user links the new issue.", + "actorId": 25012143, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:403147503", + "kind": "comment", + "actor": "gurpreetshanky", + "createdAt": "2018-07-06T21:09:01Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-403147503", + "summary": "A user says the change broke a scrolling workaround.", + "actorId": 26076066, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + }, + { + "id": "vscode-39972:comment:406908295", + "kind": "comment", + "actor": "rianadon", + "createdAt": "2018-07-23T00:13:09Z", + "url": "https://github.com/microsoft/vscode/pull/39972#issuecomment-406908295", + "summary": "The opener thanks the team member for finishing the menubar and suggests configurable window icons as a next step.", + "actorId": 18223213, + "actorType": "human", + "parentId": "vscode-39972:pr:39972" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-commit-log-graph.json b/evals/datasets/decisions-v1/cases/zed-commit-log-graph.json new file mode 100644 index 000000000..e8563a47f --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-commit-log-graph.json @@ -0,0 +1,460 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-commit-log-graph", + "title": "Commit log and git graph", + "source": { + "url": "https://github.com/zed-industries/zed/discussions/26511", + "retrievedAt": "2026-10-18T07:19:27.939511+00:00", + "repository": "zed-industries/zed", + "number": 26511, + "nodeId": "D_kwDOFExXwM4AeyDe" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-06-08T00:00:00Z" + }, + { + "id": "c2", + "at": "2026-01-23T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-04-29T20:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOFExXwM4AeyDe", + "kind": "opening", + "actor": "JosephTLyons", + "createdAt": "2025-03-12T04:12:17Z", + "editedAt": "2025-08-12T18:51:12Z", + "url": "https://github.com/zed-industries/zed/discussions/26511", + "summary": "A maintainer opens a feature request for a commit history view listing message, author and time, with click-through to diffs, search and branch/tag decorations; graph, squashing and branching from commits are listed as later extras.", + "actorId": "MDQ6VXNlcjE5ODY3NDQw", + "actorType": "human" + }, + { + "id": "DC_kwDOFExXwM4AwBLD", + "kind": "comment", + "actor": "coolemur", + "createdAt": "2025-03-22T17:46:05Z", + "editedAt": "2025-05-31T17:47:52Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-12587715", + "summary": "A user points to GitLens as a model: commit list on the left, selected diff on the right, plus double-click to check out a commit.", + "actorId": "MDQ6VXNlcjI5NjkzMTAz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4Ay2AT", + "kind": "reply", + "actor": "keybits", + "createdAt": "2025-05-31T10:02:21Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-13328403", + "summary": "A user suggests Sublime Merge's commits view as another source of inspiration.", + "actorId": "MDQ6VXNlcjgwOTgyMw==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4AwBLD" + }, + { + "id": "DC_kwDOFExXwM4Ay2g0", + "kind": "comment", + "actor": "WoodyWoodsta", + "createdAt": "2025-05-31T17:44:14Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-13330484", + "summary": "A contributor asks that any graph view follow GitKraken's style, with column-aligned branch, graph, message, sha and date fields and straight branch lines, contrasting it with the angled graphs most tools draw.", + "actorId": "MDQ6VXNlcjgyNjgwNDA=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4AzHFQ", + "kind": "comment", + "actor": "kozel-sd", + "createdAt": "2025-06-07T16:41:17Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-13398352", + "summary": "A user prefers Git Extensions' approach of deriving branches from lines, and floats a pluggable API so users could swap in their own graph renderer.", + "actorId": "MDQ6VXNlcjI5MzEwNTkx", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A1K2V", + "kind": "comment", + "actor": "jmoore34", + "createdAt": "2025-07-30T19:34:27Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-13938069", + "summary": "A user says a basic first version that is iterated on later would be fine.", + "actorId": "MDQ6VXNlcjE3ODM0NjQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A1ftU", + "kind": "comment", + "actor": "Sduby22", + "createdAt": "2025-08-06T17:06:40Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14023508", + "summary": "A user describes GitLens features worth copying: a commits tab in the Git panel, switching between branches, remotes and stashes, filtering by author, and per-file history.", + "actorId": "MDQ6VXNlcjI5MDQwNjk2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A2OZj", + "kind": "comment", + "actor": "douglasrizzo", + "createdAt": "2025-08-25T21:10:17Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14214755", + "summary": "A user asks that the graph also support git operations such as checkout, merge, reset and rebase directly, as GitKraken and Git Graph do.", + "actorId": "MDQ6VXNlcjIyMDkzNjQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A24NE", + "kind": "comment", + "actor": "CaptainN", + "createdAt": "2025-09-12T15:45:44Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14385988", + "summary": "A user says the missing git graph is what keeps them from adopting Zed.", + "actorId": "MDQ6VXNlcjI0NTgyNQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A3H_v", + "kind": "comment", + "actor": "gordinmitya", + "createdAt": "2025-09-19T02:34:07Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14450671", + "summary": "A user points to the serie terminal tool as a reference design.", + "actorId": "MDQ6VXNlcjkyODYwOTI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A3K9W", + "kind": "reply", + "actor": "WoodyWoodsta", + "createdAt": "2025-09-20T07:19:25Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14462806", + "summary": "A contributor praises that reference.", + "actorId": "MDQ6VXNlcjgyNjgwNDA=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A3H_v" + }, + { + "id": "DC_kwDOFExXwM4A36KW", + "kind": "comment", + "actor": "gengurke", + "createdAt": "2025-10-11T22:00:06Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14656150", + "summary": "A user names the VS Code Git Graph extension as a simple, capable model, possibly as a Zed extension.", + "actorId": "MDQ6VXNlcjE1MzY5NDA2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A4BTz", + "kind": "comment", + "actor": "tediou5", + "createdAt": "2025-10-15T09:39:49Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14685427", + "summary": "A user points to community PR #39595 that already works well and asks whether the team plans to merge it.", + "actorId": "MDQ6VXNlcjE4MzQ4Nzk4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A4QeN", + "kind": "reply", + "actor": "kobago", + "createdAt": "2025-10-22T06:45:11Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14747533", + "summary": "A user suggests that, if closed, the community PR could live on as an extension.", + "actorId": "MDQ6VXNlcjUzMjkwNjkx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A4BTz" + }, + { + "id": "DC_kwDOFExXwM4A4kQ5", + "kind": "reply", + "actor": "Angelk90", + "createdAt": "2025-10-30T15:39:51Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-14828601", + "summary": "A contributor asks the opening maintainer for implementation guidance and Zed's overall view, mentioning the community PR and the design team.", + "actorId": "MDQ6VXNlcjIwNDc2MDAy", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A4BTz" + }, + { + "id": "DC_kwDOFExXwM4A5aV0", + "kind": "reply", + "actor": "dimitrijejankov", + "createdAt": "2025-11-23T04:29:10Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15050100", + "summary": "A user recommends Meta's Sapling interface as the best they have used.", + "actorId": "MDQ6VXNlcjU5ODAyMDA=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A4BTz" + }, + { + "id": "DC_kwDOFExXwM4A6R_T", + "kind": "comment", + "actor": "MikePryadko", + "createdAt": "2025-12-17T10:48:24Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15278035", + "summary": "A user asks for news, describing how hard it is to see unpushed commits and branches without a log.", + "actorId": "MDQ6VXNlcjMxMjQ4MDQw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A6SEm", + "kind": "reply", + "actor": "probitcarwyn", + "createdAt": "2025-12-17T11:29:50Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15278374", + "summary": "A user replies with a link to PR #44434.", + "actorId": "U_kgDOCMBdOA", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A6R_T" + }, + { + "id": "DC_kwDOFExXwM4A6SIm", + "kind": "reply", + "actor": "MikePryadko", + "createdAt": "2025-12-17T12:03:55Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15278630", + "summary": "The user says they will keep using an external tool while waiting.", + "actorId": "MDQ6VXNlcjMxMjQ4MDQw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A6R_T" + }, + { + "id": "DC_kwDOFExXwM4A7Yzz", + "kind": "comment", + "actor": "juev", + "createdAt": "2026-01-22T08:46:11Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15568115", + "summary": "A user asks whether the team has decided anything or shelved the feature.", + "actorId": "MDQ6VXNlcjExNDYzNQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A7aF9", + "kind": "comment", + "actor": "fabianszabo", + "createdAt": "2026-01-22T18:20:13Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15573373", + "summary": "A contributor proposes a minimal fallback: list commits in a picker like the branch picker, reusing the existing last-commit hover and detail view.", + "actorId": "MDQ6VXNlcjg1NjgxODg5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A7a3I", + "kind": "comment", + "actor": "tediou5", + "createdAt": "2026-01-23T02:56:28Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15576520", + "summary": "A user announces that the official graph implementation, PR #44434, has been merged.", + "actorId": "MDQ6VXNlcjE4MzQ4Nzk4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A7a3R", + "kind": "reply", + "actor": "dDostalker", + "createdAt": "2026-01-23T02:58:04Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15576529", + "summary": "A contributor confirms that PR was merged.", + "actorId": "U_kgDOCL8fmQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A6R_T" + }, + { + "id": "DC_kwDOFExXwM4A7a3a", + "kind": "reply", + "actor": "onenewcode", + "createdAt": "2026-01-23T02:59:39Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-15576538", + "summary": "A user thanks them for the update.", + "actorId": "U_kgDOBaaqqw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A7a3I" + }, + { + "id": "DC_kwDOFExXwM4A9VZw", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2026-03-11T05:13:40Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16078448", + "summary": "A user remarks that the GitKraken-style request seems to have been ignored.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4A-q2L", + "kind": "comment", + "actor": "ojpro", + "createdAt": "2026-04-02T20:04:47Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16428427", + "summary": "A contributor reports the graph is available in a preview release.", + "actorId": "U_kgDOBnaeiQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A-scA", + "kind": "comment", + "actor": "WoodyWoodsta", + "createdAt": "2026-04-03T07:37:34Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16434944", + "summary": "A contributor reviews the preview and asks for follow-ups: separate tag and branch columns, truncation, emphasis on the checked-out branch, folding duplicate remotes, HEAD on the left, and showing uncommitted changes and stashes.", + "actorId": "MDQ6VXNlcjgyNjgwNDA=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A-tCv", + "kind": "reply", + "actor": "ojpro", + "createdAt": "2026-04-03T12:07:54Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16437423", + "summary": "A contributor adds a request to filter by username.", + "actorId": "U_kgDOBnaeiQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A-scA" + }, + { + "id": "DC_kwDOFExXwM4A_75Y", + "kind": "comment", + "actor": "JosephTLyons", + "createdAt": "2026-04-29T19:40:14Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16760408", + "summary": "The opening maintainer announces the git graph shipped in stable 0.231, covering the essentials listed, says squashing, reordering and branching from commits will follow, and asks for new discussions for further asks.", + "actorId": "MDQ6VXNlcjE5ODY3NDQw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "D_kwDOFExXwM4AeyDe:process:closed:2026-04-29T19:40:14Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-04-29T19:40:14Z", + "url": "https://github.com/zed-industries/zed/discussions/26511", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOFExXwM4AeyDe" + }, + { + "id": "DC_kwDOFExXwM4A_8FQ", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2026-04-29T21:04:25Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16761168", + "summary": "A user welcomes it and notes the graph is read-only, inviting separate requests for each commit action.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_75Y" + }, + { + "id": "DC_kwDOFExXwM4A_9gB", + "kind": "reply", + "actor": "lorenzo-campanile-octo", + "createdAt": "2026-04-30T09:02:59Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-16766977", + "summary": "A user says this was the last missing feature keeping them on VS Code.", + "actorId": "U_kgDOChbfIw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_75Y" + }, + { + "id": "DC_kwDOFExXwM4BCTYS", + "kind": "reply", + "actor": "Angelk90", + "createdAt": "2026-06-21T10:44:19Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-17380882", + "summary": "A contributor asks for a timeline view, linking an example.", + "actorId": "MDQ6VXNlcjIwNDc2MDAy", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_75Y" + }, + { + "id": "DC_kwDOFExXwM4BHZOJ", + "kind": "reply", + "actor": "digerata", + "createdAt": "2026-10-02T13:00:13Z", + "editedAt": "2026-10-02T13:01:05Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18715529", + "summary": "A user agrees GitKraken's graph layout is the best and wonders why others have not copied it.", + "actorId": "MDQ6VXNlcjE3Njc5OQ==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4BHZUM", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2026-10-02T13:25:31Z", + "editedAt": "2026-10-02T13:25:56Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18715916", + "summary": "A user notes that comment is the most upvoted in the thread and explains a word used.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4BHZiO", + "kind": "reply", + "actor": "WoodyWoodsta", + "createdAt": "2026-10-02T14:25:23Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18716814", + "summary": "A contributor says Zed came close with right-angled lines but its branch tag placement hurts readability.", + "actorId": "MDQ6VXNlcjgyNjgwNDA=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4BHZtF", + "kind": "reply", + "actor": "digerata", + "createdAt": "2026-10-02T15:12:04Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18717509", + "summary": "A user replies with banter and agreement.", + "actorId": "MDQ6VXNlcjE3Njc5OQ==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4BHZ5E", + "kind": "reply", + "actor": "KaKi87", + "createdAt": "2026-10-02T16:07:39Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18718276", + "summary": "A user replies with off-topic banter about wording.", + "actorId": "MDQ6VXNlcjIxMjg0MDg5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4Ay2g0" + }, + { + "id": "DC_kwDOFExXwM4BIU21", + "kind": "reply", + "actor": "Randomblock1", + "createdAt": "2026-10-15T22:14:02Z", + "url": "https://github.com/zed-industries/zed/discussions/26511#discussioncomment-18959797", + "summary": "A user asks about the remaining items, especially drawing HEAD on the left.", + "actorId": "MDQ6VXNlcjE5ODczODAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_75Y" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-disable-threads-sidebar.json b/evals/datasets/decisions-v1/cases/zed-disable-threads-sidebar.json new file mode 100644 index 000000000..ce62c94c1 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-disable-threads-sidebar.json @@ -0,0 +1,513 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-disable-threads-sidebar", + "title": "Whether users can disable Zed's agent threads sidebar", + "source": { + "url": "https://github.com/zed-industries/zed/discussions/55157", + "retrievedAt": "2026-10-18T07:19:23.546979+00:00", + "repository": "zed-industries/zed", + "number": 55157, + "nodeId": "D_kwDOFExXwM4AmDVB" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-04-26T00:00:00Z" + }, + { + "id": "c2", + "at": "2026-05-01T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-06-01T00:00:00Z" + }, + { + "id": "c4", + "at": "2026-06-02T18:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOFExXwM4AmDVB", + "kind": "opening", + "actor": "Haume0", + "createdAt": "2026-04-25T13:22:35Z", + "url": "https://github.com/zed-industries/zed/discussions/55157", + "summary": "The opener complains that projects now open into a new sidebar, that closing it closes the editor, and that its button displaced the project panel; they ask for a setting to hide or disable it without turning off all AI features.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human" + }, + { + "id": "DC_kwDOFExXwM4A_6LQ", + "kind": "comment", + "actor": "anilpai", + "createdAt": "2026-04-25T13:46:33Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16753360", + "summary": "A contributor wants to fully disable the agent session sidebar.", + "actorId": "MDQ6VXNlcjI0NDc4MTE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4A_6LR", + "kind": "comment", + "actor": "zambetti", + "createdAt": "2026-04-28T13:35:55Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16753361", + "summary": "A user shows how to dock the threads sidebar on the right and argues it should be configured like other panels under a `threads_panel` key.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4A_6LS", + "kind": "comment", + "actor": "jameslkingsley", + "createdAt": "2026-04-29T08:14:58Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16753362", + "summary": "A user says the sidebar replaced native macOS window tabs, so opening another project swaps out the current one, and asks for the old behaviour.", + "actorId": "MDQ6VXNlcjExMDE1Nzg0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4A_6PO", + "kind": "comment", + "actor": "franciskafyi", + "createdAt": "2026-04-29T09:12:46Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16753614", + "summary": "A maintainer says the team will add opening a project in a new window from the picker and a setting to default to new windows, while defending the sidebar as useful for agentic work.", + "actorId": "MDQ6VXNlcjEwNDU4MjEy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4A_6eO", + "kind": "comment", + "actor": "zambetti", + "createdAt": "2026-04-29T10:30:32Z", + "editedAt": "2026-04-29T22:07:16Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16754574", + "summary": "A user proposes folding the threads list into the Agent Panel behind a toolbar toggle, with visibility settings and in-panel search, and criticises the separate surface and its global-looking search field.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4A_70E", + "kind": "reply", + "actor": "domindel", + "createdAt": "2026-04-29T19:12:51Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16760068", + "summary": "A user strongly agrees the two should merge, at least as an option.", + "actorId": "U_kgDOCTcCeQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6eO" + }, + { + "id": "DC_kwDOFExXwM4A_8iw", + "kind": "reply", + "actor": "Haume0", + "createdAt": "2026-04-30T00:11:09Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16763056", + "summary": "The opener expresses appreciation for Zed and its contributors.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4A_9fd", + "kind": "reply", + "actor": "danilo-leal", + "createdAt": "2026-04-30T08:58:54Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16766941", + "summary": "A maintainer says the team explored merging several times, but the sidebar navigates across projects and worktrees whose panel layouts differ, so it cannot live inside one workspace's panel.", + "actorId": "MDQ6VXNlcjY3MTI5MzE0", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6eO" + }, + { + "id": "DC_kwDOFExXwM4A_-CC", + "kind": "reply", + "actor": "domindel", + "createdAt": "2026-04-30T12:13:55Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16769154", + "summary": "A user replies that for many people the sidebar wastes space and asks for an option to keep threads in the agent panel and hide the sidebar.", + "actorId": "U_kgDOCTcCeQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6eO" + }, + { + "id": "DC_kwDOFExXwM4A_-Vd", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-04-30T14:14:34Z", + "editedAt": "2026-04-30T15:23:24Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16770397", + "summary": "A user argues most people run a single project and worktree, so a global sidebar is overhead; they suggest making it optional and offering a lighter thread switcher inside the Agent Panel.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6eO" + }, + { + "id": "DC_kwDOFExXwM4BAMiI", + "kind": "reply", + "actor": "ArturAronov", + "createdAt": "2026-05-06T14:45:50Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16828552", + "summary": "A user asks whether the sidebar can be fully disabled.", + "actorId": "MDQ6VXNlcjUyNjIwMDE2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4BAM0W", + "kind": "comment", + "actor": "zambetti", + "createdAt": "2026-05-06T16:29:48Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16829718", + "summary": "A user links a separate related discussion they opened.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BAQYn", + "kind": "reply", + "actor": "macraig", + "createdAt": "2026-05-07T18:00:36Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16844327", + "summary": "A maintainer says it cannot be disabled yet but the team is working on it.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4BAQZX", + "kind": "comment", + "actor": "macraig", + "createdAt": "2026-05-07T18:06:16Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16844375", + "summary": "A maintainer announces that a way to turn the sidebar off is in progress.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BARTG", + "kind": "reply", + "actor": "ArturAronov", + "createdAt": "2026-05-08T02:26:30Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16848070", + "summary": "A user asks for a tracking issue.", + "actorId": "MDQ6VXNlcjUyNjIwMDE2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4BASgu", + "kind": "reply", + "actor": "macraig", + "createdAt": "2026-05-08T13:05:51Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-16853038", + "summary": "The maintainer says it is being discussed internally and updates will come in this thread.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4BA6Iw", + "kind": "comment", + "actor": "skorobogatydmitry", + "createdAt": "2026-05-22T07:33:05Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17015344", + "summary": "A user notes the sidebar still appears when the agent is disabled in settings.", + "actorId": "MDQ6VXNlcjcyODUzNTE0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BBFJQ", + "kind": "reply", + "actor": "Haume0", + "createdAt": "2026-05-26T09:57:27Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17060432", + "summary": "The opener says disabling AI removes too much and wants to disable only the sidebar.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BA6Iw" + }, + { + "id": "DC_kwDOFExXwM4BBUr4", + "kind": "reply", + "actor": "Andersos", + "createdAt": "2026-05-31T16:49:55Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17124088", + "summary": "A user asks for an issue to follow.", + "actorId": "MDQ6VXNlcjI4ODk3Nw==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6PO" + }, + { + "id": "DC_kwDOFExXwM4BBbWb", + "kind": "comment", + "actor": "macraig", + "createdAt": "2026-06-02T12:26:25Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17151387", + "summary": "A maintainer announces the outcome: an `open_behavior` setting with existing or new window options, consistent new-window handling, and no option to disable the sidebar on its own, because maintaining two thread-history surfaces was too costly; it stays tied to AI being enabled.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BBeJc", + "kind": "reply", + "actor": "Haume0", + "createdAt": "2026-06-03T09:06:59Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17162844", + "summary": "The opener welcomes the changes.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BBeQI", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-06-03T09:41:40Z", + "editedAt": "2026-06-03T09:47:43Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17163272", + "summary": "A user notes that threads can still only be navigated from the sidebar and proposes a dropdown thread switcher in the Agent Panel title plus a setting to hide the sidebar button.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BBhrc", + "kind": "reply", + "actor": "DenysVuika", + "createdAt": "2026-06-04T08:07:33Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17177308", + "summary": "A user asks when the changes will ship.", + "actorId": "MDQ6VXNlcjUwMzk5MQ==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BBjZj", + "kind": "reply", + "actor": "macraig", + "createdAt": "2026-06-04T18:18:44Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17184355", + "summary": "The maintainer says even a light switcher would need to handle concurrent threads and worktrees, effectively a second sidebar, so they prefer one place; they estimate two to three weeks to Stable.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BBlKn", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-06-05T10:38:08Z", + "editedAt": "2026-06-15T10:17:27Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17191591", + "summary": "The user accepts that reasoning and instead proposes docking the Agent Panel under the sidebar to save horizontal space, with mockups.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BBlMb", + "kind": "reply", + "actor": "Haume0", + "createdAt": "2026-06-05T10:47:54Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17191707", + "summary": "The opener likes the mockup.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BB7hO", + "kind": "reply", + "actor": "domindel", + "createdAt": "2026-06-12T18:39:36Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17283150", + "summary": "A user backs placing threads above the chat and suggests a separate discussion.", + "actorId": "U_kgDOCTcCeQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BB_Qy", + "kind": "reply", + "actor": "brodmo", + "createdAt": "2026-06-14T15:17:20Z", + "editedAt": "2026-06-15T08:13:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17298482", + "summary": "A user asks for a third `open_behavior` value that replaces the project in the current window.", + "actorId": "MDQ6VXNlcjUwNTQ4OTI5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BCMxS", + "kind": "comment", + "actor": "domindel", + "createdAt": "2026-06-18T15:36:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17353810", + "summary": "A user shares a fork that adds an option to place the threads list inside the Agent Panel above the chat, as a demonstration.", + "actorId": "U_kgDOCTcCeQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BCX6V", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-06-22T21:49:06Z", + "editedAt": "2026-06-23T13:36:25Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17399445", + "summary": "A user builds and tries the fork, praises it, and suggests the team may prefer embedding the panel in the sidebar rather than the reverse.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMxS" + }, + { + "id": "DC_kwDOFExXwM4BCa2R", + "kind": "reply", + "actor": "domindel", + "createdAt": "2026-06-23T18:54:43Z", + "editedAt": "2026-06-24T14:51:34Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17411473", + "summary": "The fork author explains why they embedded the threads in the panel and says the team overlooked users who treat AI as a secondary helper.", + "actorId": "U_kgDOCTcCeQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMxS" + }, + { + "id": "DC_kwDOFExXwM4BCf1s", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-06-25T09:43:07Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17431916", + "summary": "The user says the demo works well on a laptop screen.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMxS" + }, + { + "id": "DC_kwDOFExXwM4BCjRc", + "kind": "reply", + "actor": "Blond11516", + "createdAt": "2026-06-26T14:01:42Z", + "editedAt": "2026-06-26T14:02:41Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17445980", + "summary": "A user supports the replace-in-current-window option, describing confusing window behaviour.", + "actorId": "MDQ6VXNlcjQ0NzM0NDg0", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBbWb" + }, + { + "id": "DC_kwDOFExXwM4BCwoW", + "kind": "comment", + "actor": "macraig", + "createdAt": "2026-07-01T18:14:03Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17500694", + "summary": "The maintainer reports the announced changes have shipped and will reach Stable the next week.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BCwo8", + "kind": "reply", + "actor": "macraig", + "createdAt": "2026-07-01T18:18:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17500732", + "summary": "The maintainer says the team will consider the fork's idea but lacks bandwidth and suggests a new discussion.", + "actorId": "MDQ6VXNlcjE2NTcyMTM=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMxS" + }, + { + "id": "DC_kwDOFExXwM4BCxTJ", + "kind": "reply", + "actor": "zambetti", + "createdAt": "2026-07-02T00:34:44Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17503433", + "summary": "A user opens a new discussion for that idea.", + "actorId": "MDQ6VXNlcjk4NTE1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMxS" + }, + { + "id": "DC_kwDOFExXwM4BDYB1", + "kind": "comment", + "actor": "nguyen-vo", + "createdAt": "2026-07-16T13:21:43Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17662069", + "summary": "A user asks when `open_behavior` will be released.", + "actorId": "MDQ6VXNlcjY1MTc1ODkx", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDVB" + }, + { + "id": "DC_kwDOFExXwM4BDaTp", + "kind": "reply", + "actor": "Haume0", + "createdAt": "2026-07-17T09:52:24Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17671401", + "summary": "The opener shows where the setting appears in settings.", + "actorId": "MDQ6VXNlcjcwMDk0ODQ2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDYB1" + }, + { + "id": "DC_kwDOFExXwM4BDe9A", + "kind": "reply", + "actor": "nguyen-vo", + "createdAt": "2026-07-19T17:40:39Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17690432", + "summary": "The user thanks them.", + "actorId": "MDQ6VXNlcjY1MTc1ODkx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDYB1" + }, + { + "id": "DC_kwDOFExXwM4BDlrN", + "kind": "reply", + "actor": "nguyen-vo", + "createdAt": "2026-07-21T14:15:05Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17717965", + "summary": "The user asks for a mode that opens a new window unless the project is already open.", + "actorId": "MDQ6VXNlcjY1MTc1ODkx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDYB1" + }, + { + "id": "DC_kwDOFExXwM4BEFYl", + "kind": "reply", + "actor": "phocks", + "createdAt": "2026-07-31T02:51:36Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17847845", + "summary": "A contributor says the sidebar opening unprompted was annoying and welcomes the changes.", + "actorId": "MDQ6VXNlcjQzNzU2Ng==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCwoW" + }, + { + "id": "DC_kwDOFExXwM4BEo53", + "kind": "reply", + "actor": "nguyen-vo", + "createdAt": "2026-08-12T19:46:57Z", + "url": "https://github.com/zed-industries/zed/discussions/55157#discussioncomment-17993335", + "summary": "A user links an existing issue for the reuse-existing-window request.", + "actorId": "MDQ6VXNlcjY1MTc1ODkx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDYB1" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-hide-title-status-bar.json b/evals/datasets/decisions-v1/cases/zed-hide-title-status-bar.json new file mode 100644 index 000000000..6526c3398 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-hide-title-status-bar.json @@ -0,0 +1,1299 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-hide-title-status-bar", + "title": "Options to hide Zed's title and status bars", + "source": { + "url": "https://github.com/zed-industries/zed/discussions/55183", + "retrievedAt": "2026-10-18T07:19:24.621057+00:00", + "repository": "zed-industries/zed", + "number": 55183, + "nodeId": "D_kwDOFExXwM4AmDcb" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2022-11-19T00:00:00Z" + }, + { + "id": "c2", + "at": "2025-03-20T16:00:00Z" + }, + { + "id": "c3", + "at": "2025-09-10T00:00:00Z" + }, + { + "id": "c4", + "at": "2025-09-24T08:00:00Z" + } + ], + "events": [ + { + "id": "D_kwDOFExXwM4AmDcb", + "kind": "opening", + "actor": "WindSoilder", + "createdAt": "2022-11-18T05:59:13Z", + "editedAt": "2025-07-22T18:30:39Z", + "url": "https://github.com/zed-industries/zed/discussions/55183", + "summary": "The opener asks for settings to hide the title bar and status bar for a distraction-free, zen-mode-like editor, with screenshots comparing VS Code.", + "actorId": "MDQ6VXNlcjIyMjU2MTU0", + "actorType": "human" + }, + { + "id": "DC_kwDOFExXwM4A_6Z-", + "kind": "comment", + "actor": "stjepangolemac", + "createdAt": "2023-07-27T09:19:56Z", + "editedAt": "2024-12-03T18:17:02Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754302", + "summary": "A user links a related request and says it would be great.", + "actorId": "MDQ6VXNlcjE1NjMyODE0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6Z_", + "kind": "comment", + "actor": "DissolveDZ", + "createdAt": "2024-04-24T00:34:01Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754303", + "summary": "A user is still waiting and also wants to hide tabs.", + "actorId": "MDQ6VXNlcjY4NzgyNjk5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aA", + "kind": "comment", + "actor": "rsmirnov90", + "createdAt": "2024-04-25T06:16:12Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754304", + "summary": "A user says the bars waste a large share of screen space and are what keeps him on terminal editors; he would also like to hide breadcrumbs.", + "actorId": "MDQ6VXNlcjM2NzUzNTI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aB", + "kind": "comment", + "actor": "philippbosch", + "createdAt": "2024-05-02T07:43:52Z", + "editedAt": "2024-05-02T07:44:11Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754305", + "summary": "A user shows the toolbar settings that hide breadcrumbs and quick actions.", + "actorId": "MDQ6VXNlcjU3NTA5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aC", + "kind": "comment", + "actor": "mcpeng", + "createdAt": "2024-05-12T15:12:48Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754306", + "summary": "A user lists the title bar, tab bar, toolbar and status bar as eating vertical space and suggests moving collaboration items to the status bar.", + "actorId": "MDQ6VXNlcjI3NzE4NDM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aD", + "kind": "comment", + "actor": "yasinkavakli", + "createdAt": "2024-06-17T18:51:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754307", + "summary": "A user is frustrated there is still no way to disable the status bar or sign-in button.", + "actorId": "MDQ6VXNlcjEzOTk0NzQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aG", + "kind": "comment", + "actor": "mhanuszh", + "createdAt": "2024-07-10T22:19:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754310", + "summary": "A user asks that panel buttons remain available if the status bar is hidden, as in VS Code.", + "actorId": "MDQ6VXNlcjUyNjI5NjI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aH", + "kind": "comment", + "actor": "themahdavi", + "createdAt": "2024-07-12T16:22:32Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754311", + "summary": "A user calls full UI customisation a basic editor feature.", + "actorId": "MDQ6VXNlcjMxMzIwMTA0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aI", + "kind": "comment", + "actor": "dekdevy", + "createdAt": "2024-07-12T18:00:01Z", + "editedAt": "2024-07-12T18:01:48Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754312", + "summary": "A user praises onboarding but objects to the tall title bar, status bar and persistent sign-in and AI prompts, asking for control over screen space.", + "actorId": "MDQ6VXNlcjg1MjQ3NDY=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aK", + "kind": "comment", + "actor": "koto-games", + "createdAt": "2024-08-08T11:55:55Z", + "editedAt": "2024-08-08T11:56:11Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754314", + "summary": "A user adds support.", + "actorId": "U_kgDOBu4KBw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aL", + "kind": "comment", + "actor": "qqap", + "createdAt": "2024-08-27T11:22:22Z", + "editedAt": "2024-08-27T11:29:05Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754315", + "summary": "A user shares a workaround of setting the UI font size to zero, which blanks the bars.", + "actorId": "U_kgDOBvb1tg", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aM", + "kind": "comment", + "actor": "iliass-ess", + "createdAt": "2024-08-27T13:38:27Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754316", + "summary": "A user notes the workaround also makes the file tree and other panels unusable.", + "actorId": "U_kgDOB82tNA", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aN", + "kind": "comment", + "actor": "dlindenkreuz", + "createdAt": "2024-09-04T09:36:42Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754317", + "summary": "A user says the toolbar settings hide the title bar for him.", + "actorId": "MDQ6VXNlcjUwOTY4MQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aO", + "kind": "comment", + "actor": "JulienLecoq", + "createdAt": "2024-09-18T12:00:41Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754318", + "summary": "A user says those settings do not hide it on macOS.", + "actorId": "MDQ6VXNlcjU0MDcwOTg1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aP", + "kind": "comment", + "actor": "juliangarnier", + "createdAt": "2024-09-18T17:40:48Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754319", + "summary": "Another user confirms it does not work.", + "actorId": "MDQ6VXNlcjEyNjg2OTE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aR", + "kind": "comment", + "actor": "juliangarnier", + "createdAt": "2024-09-19T09:25:41Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754321", + "summary": "A user, accepting from an earlier issue that removing sign-in is off the table, asks a Zed designer to at least hide the title bar in full-screen mode, linking several related issues.", + "actorId": "MDQ6VXNlcjEyNjg2OTE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aS", + "kind": "comment", + "actor": "AndydeCleyre", + "createdAt": "2024-10-24T02:55:50Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754322", + "summary": "A user clarifies the toolbar settings affect the bar below tabs, not the title bar above, and lists title bar items he never uses.", + "actorId": "MDQ6VXNlcjE3ODczODU=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aT", + "kind": "comment", + "actor": "dlindenkreuz", + "createdAt": "2024-10-24T15:32:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754323", + "summary": "The earlier user admits he confused the two bars.", + "actorId": "MDQ6VXNlcjUwOTY4MQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aU", + "kind": "comment", + "actor": "jahirfiquitiva", + "createdAt": "2024-12-05T18:36:44Z", + "editedAt": "2024-12-05T18:37:12Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754324", + "summary": "A user shares a config that trims status bar buttons but still wants to hide the whole bar.", + "actorId": "MDQ6VXNlcjEwMzYwODE2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aV", + "kind": "comment", + "actor": "jon-walstedt", + "createdAt": "2024-12-18T20:36:14Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754325", + "summary": "A user backs hiding the title bar in full screen and suggests moving the user menu to the status bar.", + "actorId": "U_kgDOCp68ZQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aW", + "kind": "comment", + "actor": "mcpeng", + "createdAt": "2024-12-19T01:15:19Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754326", + "summary": "A user proposes auto-revealing the title bar on hover in full screen, as browsers do.", + "actorId": "MDQ6VXNlcjI3NzE4NDM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aX", + "kind": "comment", + "actor": "dekdevy", + "createdAt": "2024-12-19T10:31:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754327", + "summary": "A user says the request has gone unacknowledged and he may fork Zed.", + "actorId": "MDQ6VXNlcjg1MjQ3NDY=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aY", + "kind": "comment", + "actor": "m4saurabh", + "createdAt": "2025-01-08T15:01:41Z", + "editedAt": "2025-04-19T06:33:54Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754328", + "summary": "A contributor says this especially hurts on small, low-resolution screens.", + "actorId": "MDQ6VXNlcjc5NTg2Nzg0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aZ", + "kind": "comment", + "actor": "pawurb", + "createdAt": "2025-02-17T14:53:29Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754329", + "summary": "A user with a scaled-up display wants to hide the status bar.", + "actorId": "MDQ6VXNlcjExMzE5NDQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aa", + "kind": "comment", + "actor": "mcpeng", + "createdAt": "2025-02-19T17:13:13Z", + "editedAt": "2025-02-19T17:14:10Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754330", + "summary": "A user notes a Zed blog post shows the editor without a title bar.", + "actorId": "MDQ6VXNlcjI3NzE4NDM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ab", + "kind": "comment", + "actor": "mcobzarenco", + "createdAt": "2025-03-15T13:02:17Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754331", + "summary": "A user wants no window decorations at all, not only in full screen.", + "actorId": "MDQ6VXNlcjc5NzE3MA==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ad", + "kind": "comment", + "actor": "an-h2", + "createdAt": "2025-03-20T05:04:11Z", + "editedAt": "2025-03-20T05:05:57Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754333", + "summary": "A user finds an earlier PR for this that the team closed to keep collaboration controls in the title bar, and asks whether anyone will maintain a fork.", + "actorId": "U_kgDOC9Q7GA", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ae", + "kind": "comment", + "actor": "x70b1", + "createdAt": "2025-03-20T13:32:13Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754334", + "summary": "A user speculates the bar stays because sign-in supports Zed's collaboration-based monetisation.", + "actorId": "MDQ6VXNlcjEwMDE2MjY3", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6af", + "kind": "comment", + "actor": "mcobzarenco", + "createdAt": "2025-03-20T13:53:07Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754335", + "summary": "A user asks whether the team would accept a PR behind an option and says he would pay for a high-quality editor.", + "actorId": "MDQ6VXNlcjc5NzE3MA==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ag", + "kind": "comment", + "actor": "PedroHLC", + "createdAt": "2025-03-20T13:57:00Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754336", + "summary": "A user points to the team's latest review comment on a related PR as their current position.", + "actorId": "MDQ6VXNlcjEzNjg5NTI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ah", + "kind": "comment", + "actor": "dekdevy", + "createdAt": "2025-03-20T21:48:01Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754337", + "summary": "A user reads that review as saying hiding is hard because the team needs to show things, and argues explicit opt-out makes intent clear.", + "actorId": "MDQ6VXNlcjg1MjQ3NDY=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ai", + "kind": "comment", + "actor": "up-to-you", + "createdAt": "2025-04-10T07:02:57Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754338", + "summary": "A user doubts monetisation is the reason and calls the product opinionated.", + "actorId": "MDQ6VXNlcjE4NjU0NzM4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aj", + "kind": "comment", + "actor": "TuralAsgar", + "createdAt": "2025-04-19T06:30:18Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754339", + "summary": "A user notes JetBrains editors can hide the status bar.", + "actorId": "MDQ6VXNlcjE2OTUwMzUy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ak", + "kind": "comment", + "actor": "gdkrmr", + "createdAt": "2025-05-13T15:38:39Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754340", + "summary": "A user suggests a more configurable status bar that absorbs title bar and toolbar content.", + "actorId": "MDQ6VXNlcjEyNTEyOTMw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6al", + "kind": "comment", + "actor": "bbkingisking", + "createdAt": "2025-05-24T16:10:43Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754341", + "summary": "A user shares a fork that hardcodes out the sign-in button.", + "actorId": "U_kgDOC4I-Rw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6am", + "kind": "comment", + "actor": "up-to-you", + "createdAt": "2025-05-27T00:48:22Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754342", + "summary": "A user asks that fork's author to also remove the status and title bars.", + "actorId": "MDQ6VXNlcjE4NjU0NzM4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6an", + "kind": "comment", + "actor": "bbkingisking", + "createdAt": "2025-05-27T10:49:21Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754343", + "summary": "The fork author offers to try.", + "actorId": "U_kgDOC4I-Rw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ao", + "kind": "comment", + "actor": "mcpeng", + "createdAt": "2025-05-27T11:37:36Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754344", + "summary": "A user links a PR with relevant code.", + "actorId": "MDQ6VXNlcjI3NzE4NDM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ap", + "kind": "comment", + "actor": "bbkingisking", + "createdAt": "2025-05-27T20:58:04Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754345", + "summary": "The fork author adds a show_status_bar setting to his fork.", + "actorId": "U_kgDOC4I-Rw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aq", + "kind": "comment", + "actor": "asherqnovick", + "createdAt": "2025-05-29T19:14:14Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754346", + "summary": "A user is baffled the feature is missing after years and suggests the sign-in button pushes users away.", + "actorId": "MDQ6VXNlcjc0MjY4MTYw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ar", + "kind": "comment", + "actor": "rrveex", + "createdAt": "2025-06-19T15:54:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754347", + "summary": "A user thanks Zed and shares a two-line patch hiding the login button in his own build.", + "actorId": "U_kgDOBXmFtQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6as", + "kind": "comment", + "actor": "P1n3appl3", + "createdAt": "2025-06-19T18:31:04Z", + "editedAt": "2025-06-19T18:32:15Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754348", + "summary": "A contributor notes existing settings already hide the sign-in button and user picture.", + "actorId": "MDQ6VXNlcjkzMjY4ODU=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6at", + "kind": "comment", + "actor": "rrveex", + "createdAt": "2025-06-19T18:34:40Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754349", + "summary": "The user clarifies the complaint is the whole bar's space, not the button.", + "actorId": "U_kgDOBXmFtQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6au", + "kind": "comment", + "actor": "pawanmkr", + "createdAt": "2025-06-21T06:37:11Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754350", + "summary": "A user also wants to hide the bar below tabs.", + "actorId": "MDQ6VXNlcjUzODUyMDQ3", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6av", + "kind": "comment", + "actor": "akyoto", + "createdAt": "2025-06-21T15:53:32Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754351", + "summary": "A user compares VS Code's options and asks the team to clarify its stance on minimal UIs.", + "actorId": "MDQ6VXNlcjQzODkzNg==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6aw", + "kind": "comment", + "actor": "somtooo", + "createdAt": "2025-07-12T03:47:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754352", + "summary": "A contributor rebukes the earlier frustrated comment and says people should open a PR.", + "actorId": "MDQ6VXNlcjE5Mzg4NDc2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ax", + "kind": "comment", + "actor": "negentropi", + "createdAt": "2025-08-08T03:40:06Z", + "editedAt": "2025-08-08T03:44:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754353", + "summary": "A user agrees VS Code is more configurable.", + "actorId": "U_kgDOCjhH3w", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6ay", + "kind": "comment", + "actor": "huangmiuXyz", + "createdAt": "2025-08-09T03:24:35Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754354", + "summary": "A user asks to hide the title bar.", + "actorId": "U_kgDOB2-LkA", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6az", + "kind": "comment", + "actor": "bgub", + "createdAt": "2025-09-03T05:54:56Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754355", + "summary": "A contributor announces a PR that adds the remaining settings, building on earlier work.", + "actorId": "MDQ6VXNlcjI1NTk3ODU0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a0", + "kind": "comment", + "actor": "SomeoneToIgnore", + "createdAt": "2025-09-24T04:14:47Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754356", + "summary": "A Zed team member reports the PR has been undone, linking the explanation.", + "actorId": "MDQ6VXNlcjI2OTA3NzM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a1", + "kind": "comment", + "actor": "dekdevy", + "createdAt": "2025-09-24T11:13:07Z", + "editedAt": "2025-09-24T11:15:19Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754357", + "summary": "A user says the feature had shipped in a preview and was then rejected, implying the team wants something in that space users must see, and warns against that pattern.", + "actorId": "MDQ6VXNlcjg1MjQ3NDY=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a2", + "kind": "comment", + "actor": "BigMitchGit", + "createdAt": "2025-10-04T06:45:59Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754358", + "summary": "A user thanks someone for the breadcrumb setting and suggests moving breadcrumbs to the status bar.", + "actorId": "U_kgDOCvpO9Q", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a3", + "kind": "comment", + "actor": "boozook", + "createdAt": "2025-10-04T10:47:23Z", + "editedAt": "2025-10-04T10:48:01Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754359", + "summary": "A user says hiding the toolbar does not address the title bar.", + "actorId": "MDQ6VXNlcjg4ODUyNg==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a4", + "kind": "comment", + "actor": "BigMitchGit", + "createdAt": "2025-10-04T15:34:18Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754360", + "summary": "A user insists the toolbar setting removes it entirely.", + "actorId": "U_kgDOCvpO9Q", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a5", + "kind": "comment", + "actor": "boozook", + "createdAt": "2025-10-04T16:21:55Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754361", + "summary": "The user clarifies he means the title bar and notes a hide_in_full_screen option still exists in a recent version.", + "actorId": "MDQ6VXNlcjg4ODUyNg==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a6", + "kind": "comment", + "actor": "KorigamiK", + "createdAt": "2025-10-07T08:11:33Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754362", + "summary": "A contributor says the issue can be closed.", + "actorId": "MDQ6VXNlcjcyOTMyNjg4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a7", + "kind": "comment", + "actor": "m4saurabh", + "createdAt": "2025-10-07T14:59:16Z", + "editedAt": "2025-10-07T14:59:50Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754363", + "summary": "Another contributor replies the status bar still cannot be hidden.", + "actorId": "MDQ6VXNlcjc5NTg2Nzg0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a8", + "kind": "comment", + "actor": "wweir", + "createdAt": "2025-10-10T02:30:08Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754364", + "summary": "A user says a shorter bar would be enough.", + "actorId": "MDQ6VXNlcjI4NDEyNTQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a9", + "kind": "comment", + "actor": "aeimi", + "createdAt": "2025-10-28T17:39:06Z", + "editedAt": "2025-10-28T17:40:03Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754365", + "summary": "A user wants tabs at the very top of the window like a browser.", + "actorId": "MDQ6VXNlcjg4NjM0Nzg1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6a-", + "kind": "comment", + "actor": "xipeng-jin", + "createdAt": "2025-10-29T01:37:25Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754366", + "summary": "A contributor shares a fork that hides the title bar and repositions macOS window controls, notes an experimental setting hides the status bar, and says he has not opened a PR because the team reportedly plans a redesign that needs the title bar.", + "actorId": "MDQ6VXNlcjU2MzY5MDc2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bA", + "kind": "comment", + "actor": "visualglitch91", + "createdAt": "2025-10-31T11:49:12Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754368", + "summary": "A user asks whether it was really reverted and says the title bar is pointless under tiling window managers.", + "actorId": "MDQ6VXNlcjYzODg0OTI4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bB", + "kind": "comment", + "actor": "stefvista", + "createdAt": "2025-10-31T16:19:56Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754369", + "summary": "A user wants to hide the title bar and window controls.", + "actorId": "MDQ6VXNlcjYwMDQxMDE2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bC", + "kind": "comment", + "actor": "xipeng-jin", + "createdAt": "2025-11-01T01:55:34Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754370", + "summary": "The contributor explains the earlier PR was reverted over macOS window-control issues and a planned redesign; his fork fixes the former.", + "actorId": "MDQ6VXNlcjU2MzY5MDc2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bD", + "kind": "comment", + "actor": "xipeng-jin", + "createdAt": "2025-11-06T15:16:38Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754371", + "summary": "The contributor acknowledges collaboration needs title bar controls and proposes a runtime toggle action or a zen mode instead of a permanent hide.", + "actorId": "MDQ6VXNlcjU2MzY5MDc2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bE", + "kind": "comment", + "actor": "xipeng-jin", + "createdAt": "2025-11-12T15:32:09Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754372", + "summary": "The contributor opens a new PR adding a title_bar.show setting and a ToggleTitleBar action with the macOS fix, and asks for testing on other platforms.", + "actorId": "MDQ6VXNlcjU2MzY5MDc2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bG", + "kind": "comment", + "actor": "ShalokShalom", + "createdAt": "2025-11-14T15:55:45Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754374", + "summary": "A user suggests showing the tab bar only when more than one tab is open.", + "actorId": "MDQ6VXNlcjYzNDQwOTk=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bJ", + "kind": "comment", + "actor": "jetpham", + "createdAt": "2025-11-25T05:58:12Z", + "editedAt": "2025-11-25T05:58:18Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754377", + "summary": "A user links the team's response on the new PR as its current stance.", + "actorId": "MDQ6VXNlcjU1NzcwOTAy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bK", + "kind": "comment", + "actor": "zuble", + "createdAt": "2026-03-10T19:05:03Z", + "editedAt": "2026-03-11T10:20:30Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754378", + "summary": "A user rebases the contributor's toggle branch for Linux and shares build steps and config.", + "actorId": "MDQ6VXNlcjY3NjU4NDY1", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bL", + "kind": "comment", + "actor": "zxsleebu", + "createdAt": "2026-04-15T01:08:18Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754379", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjQ2MjYzOTg5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bM", + "kind": "comment", + "actor": "nemeott", + "createdAt": "2026-04-15T01:31:56Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754380", + "summary": "A user agrees, citing tiling window managers.", + "actorId": "U_kgDOB1gxVw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_6bN", + "kind": "comment", + "actor": "morgankrey", + "createdAt": "2026-04-29T10:11:02Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16754381", + "summary": "A Zed team member says the issue is being converted to a discussion because it is a feature request.", + "actorId": "MDQ6VXNlcjQ4Mjg1MDM=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_7jb", + "kind": "comment", + "actor": "DissolveDZ", + "createdAt": "2026-04-29T17:31:19Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16759003", + "summary": "A contributor hopes it will be implemented soon.", + "actorId": "MDQ6VXNlcjY4NzgyNjk5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4A_-Jn", + "kind": "comment", + "actor": "iobradovi", + "createdAt": "2026-04-30T13:05:02Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16769639", + "summary": "A user wants the menu inside the title bar and the option to drop the custom bar on Linux with server-side decorations.", + "actorId": "U_kgDOC1RlXg", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BACWK", + "kind": "comment", + "actor": "Gaiko-sw", + "createdAt": "2026-05-02T08:12:14Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16786826", + "summary": "A user notes edge padding prevents clicking at the screen edge and wants tabs on the top line.", + "actorId": "MDQ6VXNlcjYxMDc0ODgw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BAF14", + "kind": "reply", + "actor": "ShalokShalom", + "createdAt": "2026-05-04T05:51:15Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16801144", + "summary": "A user says the conversion was forgotten.", + "actorId": "MDQ6VXNlcjYzNDQwOTk=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6bN" + }, + { + "id": "DC_kwDOFExXwM4BAO2G", + "kind": "comment", + "actor": "m4saurabh", + "createdAt": "2026-05-07T08:19:33Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16838022", + "summary": "A contributor predicts it will not happen since it was added and then removed.", + "actorId": "MDQ6VXNlcjc5NTg2Nzg0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BAO2V", + "kind": "comment", + "actor": "berkeleyinc", + "createdAt": "2026-05-07T08:21:00Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16838037", + "summary": "A user says this is the only thing stopping him from adopting Zed.", + "actorId": "MDQ6VXNlcjg4NzI1NzY=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BAPVN", + "kind": "comment", + "actor": "rakibdev", + "createdAt": "2026-05-07T10:55:53Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16840013", + "summary": "A user lists this among several missing features.", + "actorId": "MDQ6VXNlcjYwMTg4OTg4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BAk1o", + "kind": "reply", + "actor": "whichware", + "createdAt": "2026-05-15T08:46:28Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928104", + "summary": "A user asks why.", + "actorId": "U_kgDODzdS_w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAO2G" + }, + { + "id": "DC_kwDOFExXwM4BAk2W", + "kind": "reply", + "actor": "rudiodeo", + "createdAt": "2026-05-15T08:51:31Z", + "editedAt": "2026-05-15T08:52:06Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928150", + "summary": "A user believes the removal was due to macOS window-decoration problems.", + "actorId": "U_kgDOBfLdFA", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAO2G" + }, + { + "id": "DC_kwDOFExXwM4BAk2i", + "kind": "reply", + "actor": "whichware", + "createdAt": "2026-05-15T08:53:03Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928162", + "summary": "A user objects to feature requests being moved off issues and asks for a simple toggle or a full-screen-only option.", + "actorId": "U_kgDODzdS_w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6bN" + }, + { + "id": "DC_kwDOFExXwM4BAk3B", + "kind": "reply", + "actor": "whichware", + "createdAt": "2026-05-15T08:57:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928193", + "summary": "The user says he thought the issue was closed because it was fixed.", + "actorId": "U_kgDODzdS_w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_6bN" + }, + { + "id": "DC_kwDOFExXwM4BAk3I", + "kind": "comment", + "actor": "whichware", + "createdAt": "2026-05-15T08:57:54Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928200", + "summary": "The user repeats that comment at the top level.", + "actorId": "U_kgDODzdS_w", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BAk3g", + "kind": "reply", + "actor": "whichware", + "createdAt": "2026-05-15T09:01:03Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928224", + "summary": "The user argues macOS quirks are an acceptable trade-off for an opt-in toggle, since other editors manage it.", + "actorId": "U_kgDODzdS_w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAO2G" + }, + { + "id": "DC_kwDOFExXwM4BAk4e", + "kind": "reply", + "actor": "rudiodeo", + "createdAt": "2026-05-15T09:08:58Z", + "editedAt": "2026-05-15T09:09:51Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-16928286", + "summary": "A user sympathises, says the reverted patch looked hacky and no longer applies, and simply removed the bar in his fork.", + "actorId": "U_kgDOBfLdFA", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAk3I" + }, + { + "id": "DC_kwDOFExXwM4BA-gR", + "kind": "reply", + "actor": "NicTanghe", + "createdAt": "2026-05-23T15:25:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17033233", + "summary": "A user says the wasted space is sending him back to another editor.", + "actorId": "MDQ6VXNlcjEzNjI0MjY1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAO2G" + }, + { + "id": "DC_kwDOFExXwM4BBZTS", + "kind": "comment", + "actor": "debuxxed", + "createdAt": "2026-06-01T22:07:29Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17142994", + "summary": "A user asks whether this is finished.", + "actorId": "MDQ6VXNlcjY0OTkxMDQ5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BBjwQ", + "kind": "reply", + "actor": "Quicksilver151", + "createdAt": "2026-06-04T21:35:13Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17185808", + "summary": "A user shares a screenshot of an oversized title bar.", + "actorId": "MDQ6VXNlcjU2NDkzNzkz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAk3I" + }, + { + "id": "DC_kwDOFExXwM4BBpOn", + "kind": "reply", + "actor": "znp0", + "createdAt": "2026-06-07T08:55:55Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17208231", + "summary": "A user says long-requested features often get rejected.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_7jb" + }, + { + "id": "DC_kwDOFExXwM4BBpPO", + "kind": "reply", + "actor": "znp0", + "createdAt": "2026-06-07T09:02:07Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17208270", + "summary": "A user attributes the refusal to keeping collaboration controls, linking the team's review comment.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAk3I" + }, + { + "id": "DC_kwDOFExXwM4BBpQL", + "kind": "comment", + "actor": "znp0", + "createdAt": "2026-06-07T09:08:57Z", + "editedAt": "2026-06-07T09:09:44Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17208331", + "summary": "A user points out the team's own announcement showed Zed without a title bar while rejecting contributions for a redesign.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BBpxP", + "kind": "reply", + "actor": "Quicksilver151", + "createdAt": "2026-06-07T15:10:06Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17210447", + "summary": "A user likes collaboration but says it does not need a whole bar.", + "actorId": "MDQ6VXNlcjU2NDkzNzkz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAk3I" + }, + { + "id": "DC_kwDOFExXwM4BB0Qn", + "kind": "comment", + "actor": "jmoore34", + "createdAt": "2026-06-10T16:27:14Z", + "editedAt": "2026-06-10T16:35:26Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17253415", + "summary": "A user on an ultrawide monitor says title bar items could move to the status bar and calls the PR rejections out of step with community demand.", + "actorId": "MDQ6VXNlcjE3ODM0NjQ=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BB1Fq", + "kind": "reply", + "actor": "jmoore34", + "createdAt": "2026-06-10T23:18:23Z", + "editedAt": "2026-06-11T14:25:31Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17256810", + "summary": "The user believes the macOS issue was fixed in the newer PR, which was still rejected.", + "actorId": "MDQ6VXNlcjE3ODM0NjQ=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAO2G" + }, + { + "id": "DC_kwDOFExXwM4BDA8o", + "kind": "comment", + "actor": "elf-pavlik", + "createdAt": "2026-07-08T04:11:15Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17567528", + "summary": "A user quotes a team member's earlier openness to a Linux-only option for tiling window managers, and asks for that.", + "actorId": "MDQ6VXNlcjg3NjQzMQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BDmkO", + "kind": "comment", + "actor": "Raeproject99", + "createdAt": "2026-07-21T18:42:05Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17721614", + "summary": "A user says he is building a fork with AI help that works on macOS.", + "actorId": "MDQ6VXNlcjEzODQ2NjQw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BDm5U", + "kind": "comment", + "actor": "prijatelj", + "createdAt": "2026-07-21T20:32:00Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17722964", + "summary": "A user shares a Linux branch for the toggle and summarises the PR history: setting added, reverted for macOS and redesign reasons, re-proposed with a toggle; he reads the team as wanting the redesign first.", + "actorId": "MDQ6VXNlcjEwODIzMzAw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BDoMB", + "kind": "reply", + "actor": "znp0", + "createdAt": "2026-07-22T05:30:13Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17728257", + "summary": "A user says the redesign is still unexplained and his bar now holds only a menu icon.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BDqBw", + "kind": "reply", + "actor": "elf-pavlik", + "createdAt": "2026-07-22T13:51:14Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17735792", + "summary": "A user agrees.", + "actorId": "MDQ6VXNlcjg3NjQzMQ==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BDqIn", + "kind": "reply", + "actor": "rakibdev", + "createdAt": "2026-07-22T14:23:49Z", + "editedAt": "2026-07-22T14:24:11Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17736231", + "summary": "A user says he switched back to Neovim.", + "actorId": "MDQ6VXNlcjYwMTg4OTg4", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BDrpm", + "kind": "reply", + "actor": "znp0", + "createdAt": "2026-07-23T01:31:32Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17742438", + "summary": "A user prefers Zed to Neovim apart from the bar.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BDrvK", + "kind": "reply", + "actor": "Quicksilver151", + "createdAt": "2026-07-23T02:14:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17742794", + "summary": "A user makes a remark about open source.", + "actorId": "MDQ6VXNlcjU2NDkzNzkz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BDs3P", + "kind": "reply", + "actor": "debuxxed", + "createdAt": "2026-07-23T08:34:18Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-17747407", + "summary": "A user asks for transparency about the redesign.", + "actorId": "MDQ6VXNlcjY0OTkxMDQ5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDm5U" + }, + { + "id": "DC_kwDOFExXwM4BGKMK", + "kind": "comment", + "actor": "wuemeli", + "createdAt": "2026-09-10T20:42:20Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18391818", + "summary": "A user asks what blocks a Linux and Windows option and offers a PR.", + "actorId": "MDQ6VXNlcjU0NDQzNjQz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BGKPG", + "kind": "comment", + "actor": "elf-pavlik", + "createdAt": "2026-09-10T21:05:37Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18392006", + "summary": "A user speculates the company's other product is taking attention.", + "actorId": "MDQ6VXNlcjg3NjQzMQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BGM5Y", + "kind": "comment", + "actor": "endvvell", + "createdAt": "2026-09-11T15:20:32Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18402904", + "summary": "A user calls the refusal bad design.", + "actorId": "MDQ6VXNlcjM0MTM3ODA3", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BGM7e", + "kind": "comment", + "actor": "wuemeli", + "createdAt": "2026-09-11T15:34:07Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18403038", + "summary": "A user asks a Zed team member whether the redesign is done and offers a PR.", + "actorId": "MDQ6VXNlcjU0NDQzNjQz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AmDcb" + }, + { + "id": "DC_kwDOFExXwM4BGM8C", + "kind": "reply", + "actor": "SomeoneToIgnore", + "createdAt": "2026-09-11T15:37:54Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18403074", + "summary": "The team member thinks the redesign was dropped, so the way may be clear, and recalls the team's only concern was important information disappearing when both bars are hidden.", + "actorId": "MDQ6VXNlcjI2OTA3NzM=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BGM7e" + }, + { + "id": "DC_kwDOFExXwM4BGNDK", + "kind": "reply", + "actor": "znp0", + "createdAt": "2026-09-11T16:26:02Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18403530", + "summary": "A user urges patience, noting another once-rejected feature was later merged.", + "actorId": "U_kgDOCF5n-w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BGM7e" + }, + { + "id": "DC_kwDOFExXwM4BGivj", + "kind": "reply", + "actor": "Aitanuqui", + "createdAt": "2026-09-18T01:37:10Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18492387", + "summary": "A user asks whether tabs would merge into the title bar.", + "actorId": "U_kgDOCYqXCg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BGM7e" + }, + { + "id": "DC_kwDOFExXwM4BG-aA", + "kind": "reply", + "actor": "debuxxed", + "createdAt": "2026-09-25T21:12:48Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18605696", + "summary": "A user supports that.", + "actorId": "MDQ6VXNlcjY0OTkxMDQ5", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BGM7e" + }, + { + "id": "DC_kwDOFExXwM4BIUa-", + "kind": "reply", + "actor": "wuemeli", + "createdAt": "2026-10-15T20:25:11Z", + "url": "https://github.com/zed-industries/zed/discussions/55183#discussioncomment-18958014", + "summary": "The user links a new PR for the option.", + "actorId": "MDQ6VXNlcjU0NDQzNjQz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BGM7e" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-manual-file-tree-refresh.json b/evals/datasets/decisions-v1/cases/zed-manual-file-tree-refresh.json new file mode 100644 index 000000000..57d144d98 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-manual-file-tree-refresh.json @@ -0,0 +1,548 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-manual-file-tree-refresh", + "title": "Manual refresh versus polling for Zed's stale file tree", + "source": { + "url": "https://github.com/zed-industries/zed/discussions/54150", + "retrievedAt": "2026-10-18T07:19:22.198811+00:00", + "repository": "zed-industries/zed", + "number": 54150, + "nodeId": "D_kwDOFExXwM4Alw3P" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-04-17T09:15:00Z" + }, + { + "id": "c2", + "at": "2026-04-18T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-04-23T00:00:00Z" + }, + { + "id": "c4", + "at": "2026-04-24T04:32:00Z" + } + ], + "events": [ + { + "id": "D_kwDOFExXwM4Alw3P", + "kind": "opening", + "actor": "chen1plus", + "createdAt": "2026-04-17T07:11:52Z", + "editedAt": "2026-04-17T07:24:46Z", + "url": "https://github.com/zed-industries/zed/discussions/54150", + "summary": "The opener asks for a manual file tree refresh because file system events are unreliable on cluster and shared file systems, lists duplicate issues and closed PRs, and criticises the team for rejecting community fixes on architectural grounds.", + "actorId": "U_kgDOB1DCUw", + "actorType": "human" + }, + { + "id": "DC_kwDOFExXwM4A_U_Q", + "kind": "comment", + "actor": "okaris", + "createdAt": "2026-04-17T09:13:43Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16601040", + "summary": "A user says the team should simply decide whether manual refresh is in scope.", + "actorId": "MDQ6VXNlcjE0NDg3MDI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_VAD", + "kind": "comment", + "actor": "okaris", + "createdAt": "2026-04-17T09:18:29Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16601091", + "summary": "The user adds that the current workaround, reloading the workspace, destroys terminal state.", + "actorId": "MDQ6VXNlcjE0NDg3MDI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_VAy", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-04-17T09:24:22Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16601138", + "summary": "A contributor argues Zed suits cluster users and should allow refreshing a specific folder, calling the watcher-only design fundamentally fragile.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_Wua", + "kind": "comment", + "actor": "ChristopherBiscardi", + "createdAt": "2026-04-17T23:06:25Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16608154", + "summary": "A Zed community liaison explains that a staff review opposed manual refresh because it could hide scanning bugs, points to a polling proposal, and asks for use cases where both polling and watching fail.", + "actorId": "MDQ6VXNlcjU1MTI0Nw==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_XJp", + "kind": "comment", + "actor": "chen1plus", + "createdAt": "2026-04-18T04:05:50Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16609897", + "summary": "The opener lists supercomputers where the problem occurs, says it cannot be reproduced without special hardware, and notes polling trades resources for latency.", + "actorId": "U_kgDOB1DCUw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_c4K", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-04-20T08:36:10Z", + "editedAt": "2026-04-20T08:36:45Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16633354", + "summary": "A contributor describes their network file system, argues polling supplements but does not replace manual refresh, and rebuts the masking-bugs argument by saying frustrated users leave rather than report.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_fwC", + "kind": "comment", + "actor": "basemotive", + "createdAt": "2026-04-21T01:20:02Z", + "editedAt": "2026-04-21T01:20:34Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16645122", + "summary": "A user says workspace reloads are costly with many windows and describes stale dependencies on an NFS share.", + "actorId": "MDQ6VXNlcjQxMDE5NDY0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_sUZ", + "kind": "comment", + "actor": "ChristopherBiscardi", + "createdAt": "2026-04-24T04:30:58Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16696601", + "summary": "The liaison announces that a polling backend has landed.", + "actorId": "MDQ6VXNlcjU1MTI0Nw==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_sU8", + "kind": "comment", + "actor": "okaris", + "createdAt": "2026-04-24T04:34:14Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16696636", + "summary": "A user notes polling shipped quickly while the simple menu item they asked for did not.", + "actorId": "MDQ6VXNlcjE0NDg3MDI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_sah", + "kind": "comment", + "actor": "chen1plus", + "createdAt": "2026-04-24T05:33:23Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16696993", + "summary": "The opener keeps the discussion open to see how polling works out.", + "actorId": "U_kgDOB1DCUw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_zbW", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-04-27T08:01:19Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16725718", + "summary": "A contributor says polling does not help when a network file system delivers local events but misses remote changes, and objects that an environment variable is the only way to choose it.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_zlV", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-04-27T08:51:35Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16726357", + "summary": "The contributor lists failure modes such as remote changes and exhausted watch limits, and calls manual refresh a requirement before recommending Zed at their company.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A_1VM", + "kind": "comment", + "actor": "nilsholle", + "createdAt": "2026-04-27T19:30:45Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16733516", + "summary": "A user reports the same on HPC and SSH and favours a refresh button like VS Code's.", + "actorId": "MDQ6VXNlcjkxOTg0NzE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4A__Tc", + "kind": "comment", + "actor": "yukiumi13", + "createdAt": "2026-04-30T21:53:30Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16774364", + "summary": "A user describes cluster training outputs not appearing and calls manual refresh essential.", + "actorId": "MDQ6VXNlcjQ0MTE1NzE2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BACdk", + "kind": "comment", + "actor": "okaris", + "createdAt": "2026-05-02T09:30:30Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16787300", + "summary": "A user says remote servers still miss files created by agents and urges a simple escape hatch.", + "actorId": "MDQ6VXNlcjE0NDg3MDI=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BAGQy", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-05-04T09:16:02Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16802866", + "summary": "A contributor sarcastically notes the 1.0 release shipped without a fix.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BAOP7", + "kind": "comment", + "actor": "chen1plus", + "createdAt": "2026-05-07T04:24:12Z", + "editedAt": "2026-05-07T04:29:16Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-16835579", + "summary": "The opener corrects that polling arrived in 1.1 and says it seems to work with some lag.", + "actorId": "U_kgDOB1DCUw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "D_kwDOFExXwM4Alw3P:process:closed:2026-05-26T06:15:15Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-05-26T06:15:15Z", + "url": "https://github.com/zed-industries/zed/discussions/54150", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BCAKZ", + "kind": "comment", + "actor": "TranToan2910", + "createdAt": "2026-06-15T01:44:47Z", + "editedAt": "2026-06-15T01:52:42Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17302169", + "summary": "A user reports the problem with WSL, then finds the remote WSL folder feature solves it.", + "actorId": "MDQ6VXNlcjIzMjkyOTAy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BCMmA", + "kind": "comment", + "actor": "jedrichards", + "createdAt": "2026-06-18T14:39:34Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17353088", + "summary": "A user reports a recent regression where external edits no longer show up on macOS.", + "actorId": "MDQ6VXNlcjEwNzg1NzE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BCNlQ", + "kind": "reply", + "actor": "linkthai", + "createdAt": "2026-06-18T21:26:11Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17357136", + "summary": "A user sees the same with an agent CLI and wishes for a reload button.", + "actorId": "MDQ6VXNlcjE2MTY2ODEx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMmA" + }, + { + "id": "DC_kwDOFExXwM4BCauW", + "kind": "comment", + "actor": "ekkolyth", + "createdAt": "2026-06-23T17:48:27Z", + "editedAt": "2026-06-23T17:49:35Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17410966", + "summary": "A user posts an empty comment.", + "actorId": "U_kgDOCMRpGQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BCaus", + "kind": "reply", + "actor": "ekkolyth", + "createdAt": "2026-06-23T17:51:04Z", + "editedAt": "2026-06-23T18:13:50Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17410988", + "summary": "The user says even Zed's own agent integration breaks the file tree and git panel.", + "actorId": "U_kgDOCMRpGQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCMmA" + }, + { + "id": "DC_kwDOFExXwM4BCcrw", + "kind": "reply", + "actor": "linkthai", + "createdAt": "2026-06-24T09:51:23Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17418992", + "summary": "A user suggests a particular extension may be the cause.", + "actorId": "MDQ6VXNlcjE2MTY2ODEx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCauW" + }, + { + "id": "DC_kwDOFExXwM4BCc9e", + "kind": "reply", + "actor": "ekkolyth", + "createdAt": "2026-06-24T11:48:02Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17420126", + "summary": "The user says they will check the extension.", + "actorId": "U_kgDOCMRpGQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCauW" + }, + { + "id": "DC_kwDOFExXwM4BCdFl", + "kind": "reply", + "actor": "linkthai", + "createdAt": "2026-06-24T12:41:49Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17420645", + "summary": "The other user advises uninstalling it.", + "actorId": "MDQ6VXNlcjE2MTY2ODEx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BCauW" + }, + { + "id": "DC_kwDOFExXwM4BC2Aq", + "kind": "comment", + "actor": "EyMaddis", + "createdAt": "2026-07-03T11:21:04Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17522730", + "summary": "A user reports stale trees after switching branches from outside a dev container.", + "actorId": "MDQ6VXNlcjE0MDkxMDA=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BC3DX", + "kind": "comment", + "actor": "nitedani", + "createdAt": "2026-07-03T20:41:08Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17526999", + "summary": "A user on Windows with WSL reports agent edits not appearing anywhere in the UI.", + "actorId": "MDQ6VXNlcjY3NDE4Mjg2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BC71G", + "kind": "comment", + "actor": "xiaozhangup", + "createdAt": "2026-07-06T10:58:35Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17546566", + "summary": "A user reports changes take tens of seconds to show up.", + "actorId": "MDQ6VXNlcjY4Mzc0NzY5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BDGQf", + "kind": "comment", + "actor": "smocer", + "createdAt": "2026-07-09T20:37:39Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17589279", + "summary": "A user finds that changes inside a symlinked folder are not picked up.", + "actorId": "MDQ6VXNlcjI2NDgzOTIx", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BDHVj", + "kind": "comment", + "actor": "jedrichards", + "createdAt": "2026-07-10T07:48:36Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17593699", + "summary": "A user reports the situation has improved in a preview build.", + "actorId": "MDQ6VXNlcjEwNzg1NzE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BDWvW", + "kind": "comment", + "actor": "nathanchenseanwalter", + "createdAt": "2026-07-16T05:02:20Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17656790", + "summary": "A user asks why it is not fixed.", + "actorId": "MDQ6VXNlcjc5Mzc5ODQy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BDdD4", + "kind": "reply", + "actor": "Danvil", + "createdAt": "2026-07-18T18:28:21Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17682680", + "summary": "A user reports it getting worse and threatens to switch editors.", + "actorId": "MDQ6VXNlcjUxNzYwOA==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BC3DX" + }, + { + "id": "DC_kwDOFExXwM4BDdD9", + "kind": "comment", + "actor": "Danvil", + "createdAt": "2026-07-18T18:29:02Z", + "editedAt": "2026-07-18T18:32:58Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17682685", + "summary": "A user asks why the discussion was closed and requests a refresh menu item as a stopgap.", + "actorId": "MDQ6VXNlcjUxNzYwOA==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BEGjS", + "kind": "comment", + "actor": "g4borg", + "createdAt": "2026-07-31T10:31:00Z", + "editedAt": "2026-07-31T10:40:40Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17852626", + "summary": "A user reports frequent desyncs on Windows and proposes a filesystem refresh command.", + "actorId": "MDQ6VXNlcjU5MDAwMA==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BEGkH", + "kind": "reply", + "actor": "g4borg", + "createdAt": "2026-07-31T10:39:09Z", + "editedAt": "2026-07-31T10:39:32Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17852679", + "summary": "A user shares a workaround for the symlink case.", + "actorId": "MDQ6VXNlcjU5MDAwMA==", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDGQf" + }, + { + "id": "DC_kwDOFExXwM4BEXhX", + "kind": "reply", + "actor": "roachadam", + "createdAt": "2026-08-06T14:32:59Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17922135", + "summary": "A user reports the same issue.", + "actorId": "MDQ6VXNlcjMwMDk4OTQ1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BC3DX" + }, + { + "id": "DC_kwDOFExXwM4BEasl", + "kind": "comment", + "actor": "scilari", + "createdAt": "2026-08-07T15:14:19Z", + "editedAt": "2026-08-07T15:20:24Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17935141", + "summary": "A user asks for the discussion to be reopened, citing agent workflows on a remote VM.", + "actorId": "MDQ6VXNlcjk3NDIyMzA=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BEpbZ", + "kind": "comment", + "actor": "twinkle311", + "createdAt": "2026-08-13T00:56:44Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-17995481", + "summary": "A user asks to reopen it.", + "actorId": "MDQ6VXNlcjYyNjg1MDE0", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BE_b5", + "kind": "comment", + "actor": "Saucy9607", + "createdAt": "2026-08-19T23:55:30Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-18085625", + "summary": "A user calls polling a hack with power costs and insists manual refresh is needed.", + "actorId": "U_kgDODm3R9A", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BFnT1", + "kind": "comment", + "actor": "vaqxai", + "createdAt": "2026-09-02T11:44:56Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-18248949", + "summary": "A user says they abandoned Zed over this.", + "actorId": "MDQ6VXNlcjE5ODcyNjgy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BFq-h", + "kind": "comment", + "actor": "ches", + "createdAt": "2026-09-03T07:51:40Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-18263969", + "summary": "A user notes the opener closed the discussion, says the staff member who blocked it never engaged, and proposes exposing refresh to plugins as a compromise.", + "actorId": "MDQ6VXNlcjEzMjc3", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BFsXo", + "kind": "comment", + "actor": "kitzbergerg", + "createdAt": "2026-09-03T13:51:41Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-18269672", + "summary": "A new user says missing refresh makes Zed unusable for cluster work.", + "actorId": "MDQ6VXNlcjMzMTAyMjcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BGxOC", + "kind": "comment", + "actor": "auwi-nordic", + "createdAt": "2026-09-22T10:37:30Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-18551682", + "summary": "A contributor reports opening a follow-up discussion, which was also closed.", + "actorId": "MDQ6VXNlcjczMTAxNzcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + }, + { + "id": "DC_kwDOFExXwM4BIg-G", + "kind": "comment", + "actor": "petejkim", + "createdAt": "2026-10-18T01:30:33Z", + "url": "https://github.com/zed-industries/zed/discussions/54150#discussioncomment-19009414", + "summary": "A user adds support.", + "actorId": "MDQ6VXNlcjMwMTcz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4Alw3P" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-single-file-diff-view.json b/evals/datasets/decisions-v1/cases/zed-single-file-diff-view.json new file mode 100644 index 000000000..775574ca6 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-single-file-diff-view.json @@ -0,0 +1,765 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-single-file-diff-view", + "title": "Full single-file diff view from the Git panel and its default click", + "source": { + "url": "https://github.com/zed-industries/zed/discussions/33773", + "retrievedAt": "2026-10-18T07:19:20.898545+00:00", + "repository": "zed-industries/zed", + "number": 33773, + "nodeId": "D_kwDOFExXwM4AggpV" + }, + "cutoffs": [ + { + "id": "c1", + "at": "2025-07-03T00:00:00Z" + }, + { + "id": "c2", + "at": "2026-03-16T00:00:00Z" + }, + { + "id": "c3", + "at": "2026-07-14T14:50:00Z" + }, + { + "id": "c4", + "at": "2026-07-15T03:30:00Z" + } + ], + "events": [ + { + "id": "D_kwDOFExXwM4AggpV", + "kind": "opening", + "actor": "noahschumacher", + "createdAt": "2025-07-02T13:13:18Z", + "url": "https://github.com/zed-industries/zed/discussions/33773", + "summary": "The opener asks for a diff view of a whole uncollapsed file, as in VS Code, because expanding hunks one by one is tedious.", + "actorId": "MDQ6VXNlcjI2OTA1ODMw", + "actorType": "human" + }, + { + "id": "DC_kwDOFExXwM4A2cSp", + "kind": "comment", + "actor": "FloppyDisco", + "createdAt": "2025-09-01T04:15:35Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-14271657", + "summary": "A contributor is surprised there is no way to diff a single file without opening the project-wide multibuffer.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A4Cgz", + "kind": "comment", + "actor": "FloppyDisco", + "createdAt": "2025-10-15T18:08:44Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-14690355", + "summary": "The contributor shares a workaround task that writes the HEAD version to a temp file and opens the CLI diff, picking the file with fzf.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A4DFR", + "kind": "comment", + "actor": "FloppyDisco", + "createdAt": "2025-10-16T00:50:34Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-14692689", + "summary": "The contributor posts a simpler task that diffs the current editor file, after a staff member explained the task variables.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A4JhB", + "kind": "comment", + "actor": "FloppyDisco", + "createdAt": "2025-10-18T21:58:27Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-14719041", + "summary": "The contributor finds the existing `editor: expand all diff hunks` action already shows changes across a whole file and blames thin docs for repeated requests.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A9Edr", + "kind": "comment", + "actor": "hilja", + "createdAt": "2026-03-05T10:44:24Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16009067", + "summary": "A user proposes a toolbar toggle to turn the multibuffer off so clicking shows the full file.", + "actorId": "MDQ6VXNlcjI1NTgwMjE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A9Faw", + "kind": "reply", + "actor": "FloppyDisco", + "createdAt": "2026-03-05T16:39:20Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16012976", + "summary": "The contributor asks whether such a toggle would expand every file or only the current one, noting the go-to-file plus expand-all route.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9Edr" + }, + { + "id": "DC_kwDOFExXwM4A9gAe", + "kind": "comment", + "actor": "jolexxa", + "createdAt": "2026-03-13T17:40:49Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16121886", + "summary": "A user says the multibuffer is rarely what they want and asks for a full side-by-side file diff when clicking a file in the Git panel.", + "actorId": "MDQ6VXNlcjE2NDcyMjUw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4A9gW6", + "kind": "reply", + "actor": "FloppyDisco", + "createdAt": "2026-03-13T20:09:29Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16123322", + "summary": "The contributor suggests cmd-click.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9gAe" + }, + { + "id": "DC_kwDOFExXwM4A9jm3", + "kind": "reply", + "actor": "jolexxa", + "createdAt": "2026-03-15T03:39:47Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16136631", + "summary": "The user says cmd-click opens the file but not a diff.", + "actorId": "MDQ6VXNlcjE2NDcyMjUw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9gAe" + }, + { + "id": "DC_kwDOFExXwM4A9j2I", + "kind": "reply", + "actor": "FloppyDisco", + "createdAt": "2026-03-15T05:49:13Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16137608", + "summary": "The contributor explains side-by-side only exists in the project diff and agrees single-file side-by-side would help.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9gAe" + }, + { + "id": "DC_kwDOFExXwM4A9ksJ", + "kind": "reply", + "actor": "hilja", + "createdAt": "2026-03-15T12:05:21Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16141065", + "summary": "The toggle proposer shows VS Code's full-file view, explains its value for large diffs, then discovers a split-and-zoom workflow that partly works.", + "actorId": "MDQ6VXNlcjI1NTgwMjE=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9Edr" + }, + { + "id": "DC_kwDOFExXwM4A9lms", + "kind": "reply", + "actor": "FloppyDisco", + "createdAt": "2026-03-15T18:34:20Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16144812", + "summary": "The contributor sums up the missing pieces: a full-file side-by-side diff, a setting to auto-preview from the Git panel, and a setting for multibuffer versus single file.", + "actorId": "U_kgDOCEH7mQ", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9Edr" + }, + { + "id": "DC_kwDOFExXwM4A_7T3", + "kind": "comment", + "actor": "scratchmex", + "createdAt": "2026-04-29T15:43:11Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16758007", + "summary": "A user says reviewing one file at a time matters more now that AI makes large changes.", + "actorId": "MDQ6VXNlcjQwMTQ4ODg=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BAH96", + "kind": "reply", + "actor": "infused-kim", + "createdAt": "2026-05-04T21:00:19Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16809850", + "summary": "A user thanks the contributor for the expand-all tip and wishes for staged and unstaged filtering.", + "actorId": "MDQ6VXNlcjc0MDQwMDQ=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A4JhB" + }, + { + "id": "DC_kwDOFExXwM4BAH-W", + "kind": "reply", + "actor": "infused-kim", + "createdAt": "2026-05-04T21:03:45Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16809878", + "summary": "The user points others to the expand-all workaround and its shortcut.", + "actorId": "MDQ6VXNlcjc0MDQwMDQ=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A_7T3" + }, + { + "id": "DC_kwDOFExXwM4BAKPR", + "kind": "comment", + "actor": "alex1craig", + "createdAt": "2026-05-05T17:39:34Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16819153", + "summary": "A user adds support and says they returned to another editor for diffs.", + "actorId": "MDQ6VXNlcjYwNTU0ODUz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BAMxQ", + "kind": "reply", + "actor": "nitedani", + "createdAt": "2026-05-06T16:14:19Z", + "editedAt": "2026-05-06T16:15:05Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16829520", + "summary": "A user says the same.", + "actorId": "MDQ6VXNlcjY3NDE4Mjg2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAKPR" + }, + { + "id": "DC_kwDOFExXwM4BANhs", + "kind": "comment", + "actor": "alexcraviotto", + "createdAt": "2026-05-06T21:45:41Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16832620", + "summary": "A user says they still switch to VS Code for git work.", + "actorId": "MDQ6VXNlcjUzMjM5NDk5", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BASra", + "kind": "comment", + "actor": "ozacod", + "createdAt": "2026-05-08T14:28:41Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16853722", + "summary": "A contributor points to PR #56152 as a fix they tried and liked.", + "actorId": "MDQ6VXNlcjQ3MDA5NTE2", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BATFF", + "kind": "comment", + "actor": "franciskafyi", + "createdAt": "2026-05-08T17:29:43Z", + "editedAt": "2026-05-28T22:01:25Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16855365", + "summary": "A Zed staff member says the team wants this too, opened a tracking issue linked to the PR, and will get to it when able.", + "actorId": "MDQ6VXNlcjEwNDU4MjEy", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BAUCT", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-05-09T04:36:44Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-16859283", + "summary": "A contributor asks for an ETA.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BATFF" + }, + { + "id": "DC_kwDOFExXwM4BBFv2", + "kind": "reply", + "actor": "julianianni", + "createdAt": "2026-05-26T13:57:39Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17062902", + "summary": "A user adds agreement.", + "actorId": "MDQ6VXNlcjgyMTc4MTI2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BAKPR" + }, + { + "id": "DC_kwDOFExXwM4BBGQF", + "kind": "reply", + "actor": "franciskafyi", + "createdAt": "2026-05-26T16:15:55Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17064965", + "summary": "The staff member says there is no ETA.", + "actorId": "MDQ6VXNlcjEwNDU4MjEy", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BATFF" + }, + { + "id": "DC_kwDOFExXwM4BBRt1", + "kind": "comment", + "actor": "chirivelli", + "createdAt": "2026-05-30T03:18:52Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17111925", + "summary": "A contributor announces the single-file diff view is merged.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BBRt-", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-05-30T03:20:35Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17111934", + "summary": "The contributor explains it opens via cmd-click or a context menu item in the Git panel.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBS2W", + "kind": "reply", + "actor": "scratchmex", + "createdAt": "2026-05-30T14:33:21Z", + "editedAt": "2026-05-30T14:35:01Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17116566", + "summary": "A user argues the single-file view should be the default click and still wants staged-only diffs.", + "actorId": "MDQ6VXNlcjQwMTQ4ODg=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBS3z", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-05-30T14:47:28Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17116659", + "summary": "A user asks whether it is released yet.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBS9H", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-05-30T15:48:34Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17116999", + "summary": "The contributor expects it in version 1.6 or 1.7.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBS9f", + "kind": "reply", + "actor": "scratchmex", + "createdAt": "2026-05-30T15:53:04Z", + "editedAt": "2026-05-30T15:53:21Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17117023", + "summary": "A user asks if it missed 1.5.", + "actorId": "MDQ6VXNlcjQwMTQ4ODg=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBXYa", + "kind": "reply", + "actor": "julianianni", + "createdAt": "2026-06-01T12:11:42Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17135130", + "summary": "A user thanks the implementer.", + "actorId": "MDQ6VXNlcjgyMTc4MTI2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BBRt1" + }, + { + "id": "DC_kwDOFExXwM4BBXYg", + "kind": "reply", + "actor": "julianianni", + "createdAt": "2026-06-01T12:11:58Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17135136", + "summary": "A user reacts with a heart.", + "actorId": "MDQ6VXNlcjgyMTc4MTI2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BATFF" + }, + { + "id": "DC_kwDOFExXwM4BB03u", + "kind": "comment", + "actor": "JosephTLyons", + "createdAt": "2026-06-10T20:48:42Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17255918", + "summary": "A Zed staff member announces single-file diffs shipped in 1.6.3, with plain click still opening the multibuffer and cmd or ctrl click opening the single file.", + "actorId": "MDQ6VXNlcjE5ODY3NDQw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "D_kwDOFExXwM4AggpV:process:closed:2026-06-10T20:48:42Z", + "kind": "process", + "actor": "unknown", + "createdAt": "2026-06-10T20:48:42Z", + "url": "https://github.com/zed-industries/zed/discussions/33773", + "summary": "The discussion is closed as resolved.", + "actorType": "unknown", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BB2kK", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-06-11T10:49:13Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17262858", + "summary": "A user asks for a setting to swap which click opens which view.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCQDf", + "kind": "reply", + "actor": "marcelo-noem", + "createdAt": "2026-06-19T16:57:57Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17367263", + "summary": "A user agrees the single-file view should be the default.", + "actorId": "U_kgDOEOpIDw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCWcR", + "kind": "reply", + "actor": "jimpala", + "createdAt": "2026-06-22T13:50:10Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17393425", + "summary": "A user asks for a command to diff the current editor file.", + "actorId": "MDQ6VXNlcjE2MjY5NTkx", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCZqh", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-06-23T11:18:09Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17406625", + "summary": "Another user supports that request.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCaTa", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-06-23T15:02:00Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17409242", + "summary": "The implementer says they are working on it.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCdFj", + "kind": "reply", + "actor": "xseman", + "createdAt": "2026-06-24T12:41:24Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17420643", + "summary": "A user asks whether the click binding can be changed yet.", + "actorId": "MDQ6VXNlcjkxMTE0ODU=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BCdIg", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-06-24T12:59:13Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17420832", + "summary": "A user says not yet but expects it.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BB03u" + }, + { + "id": "DC_kwDOFExXwM4BDRPN", + "kind": "comment", + "actor": "olegedly", + "createdAt": "2026-07-14T09:53:09Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17634253", + "summary": "A user demands VS Code behaviour showing one complete file with diffs.", + "actorId": "MDQ6VXNlcjU0MzQ2MTY4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BDR8F", + "kind": "comment", + "actor": "chirivelli", + "createdAt": "2026-07-14T14:53:51Z", + "editedAt": "2026-07-14T14:54:38Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17637125", + "summary": "The implementer asks whether the default should be the full file or changes only.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BDR82", + "kind": "reply", + "actor": "gecko0", + "createdAt": "2026-07-14T14:58:32Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17637174", + "summary": "A user votes full file.", + "actorId": "MDQ6VXNlcjExNjI5Mzk2", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDSFJ", + "kind": "reply", + "actor": "olegedly", + "createdAt": "2026-07-14T15:46:18Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17637705", + "summary": "A user votes full file, one per view.", + "actorId": "MDQ6VXNlcjU0MzQ2MTY4", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDSGa", + "kind": "reply", + "actor": "olegedly", + "createdAt": "2026-07-14T15:52:04Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17637786", + "summary": "The user argues reviewing only changes lacks needed context.", + "actorId": "MDQ6VXNlcjU0MzQ2MTY4", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDSvB", + "kind": "reply", + "actor": "tburgin", + "createdAt": "2026-07-14T20:30:32Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17640385", + "summary": "A user votes full file.", + "actorId": "MDQ6VXNlcjIxMTc2NDY=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDSv7", + "kind": "reply", + "actor": "pedroota", + "createdAt": "2026-07-14T20:36:41Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17640443", + "summary": "A user asks whether side-by-side full diff can always be the pattern.", + "actorId": "MDQ6VXNlcjQ4MTM2MDQ1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9gAe" + }, + { + "id": "DC_kwDOFExXwM4BDSwF", + "kind": "reply", + "actor": "pedroota", + "createdAt": "2026-07-14T20:38:35Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17640453", + "summary": "A user votes full file.", + "actorId": "MDQ6VXNlcjQ4MTM2MDQ1", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDTZi", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-07-15T02:02:07Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17643106", + "summary": "A user votes full file.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDTgk", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-07-15T02:57:51Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17643556", + "summary": "The implementer shows a new setting that changes the click behaviour.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4A9gAe" + }, + { + "id": "DC_kwDOFExXwM4BDTgr", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-07-15T02:59:00Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17643563", + "summary": "The implementer says the full-file default will be done and links PR #60989.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BDjEX", + "kind": "reply", + "actor": "noahschumacher", + "createdAt": "2026-07-20T23:24:50Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17707287", + "summary": "The opener notes it seems merged.", + "actorId": "MDQ6VXNlcjI2OTA1ODMw", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BD31V", + "kind": "reply", + "actor": "doanhthong", + "createdAt": "2026-07-27T03:59:45Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17792341", + "summary": "A user votes full file.", + "actorId": "MDQ6VXNlcjg3ODY3NTg=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BDR8F" + }, + { + "id": "DC_kwDOFExXwM4BEHqK", + "kind": "comment", + "actor": "noahschumacher", + "createdAt": "2026-07-31T19:10:09Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17857162", + "summary": "The opener celebrates and asks for an option to make single-file the primary click.", + "actorId": "MDQ6VXNlcjI2OTA1ODMw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEIZK", + "kind": "reply", + "actor": "chirivelli", + "createdAt": "2026-08-01T03:22:50Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17860170", + "summary": "The implementer says the primary click action is configurable.", + "actorId": "U_kgDOCMHXJg", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BEHqK" + }, + { + "id": "DC_kwDOFExXwM4BEJnK", + "kind": "comment", + "actor": "atiq-cs", + "createdAt": "2026-08-01T18:15:57Z", + "editedAt": "2026-08-01T23:16:34Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17865162", + "summary": "A user finds a full-file setting but realises it does not change the click.", + "actorId": "MDQ6VXNlcjc4NTgwMzE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEJ7p", + "kind": "comment", + "actor": "olegedly", + "createdAt": "2026-08-01T23:06:10Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17866473", + "summary": "A user asks how to invert click and ctrl-click.", + "actorId": "MDQ6VXNlcjU0MzQ2MTY4", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEJ86", + "kind": "reply", + "actor": "HemalR", + "createdAt": "2026-08-01T23:27:12Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17866554", + "summary": "A user says it is in settings in the latest version.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BEJ7p" + }, + { + "id": "DC_kwDOFExXwM4BEJ9D", + "kind": "comment", + "actor": "HemalR", + "createdAt": "2026-08-01T23:29:38Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17866563", + "summary": "A user lists next improvements: keyboard navigation between files and staging by keyboard.", + "actorId": "MDQ6VXNlcjE1NjM0MzAz", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEJ9P", + "kind": "comment", + "actor": "atiq-cs", + "createdAt": "2026-08-01T23:34:25Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17866575", + "summary": "A user posts the exact setting, `git_panel.entry_primary_click_action` set to `file_diff`.", + "actorId": "MDQ6VXNlcjc4NTgwMzE=", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEKUx", + "kind": "reply", + "actor": "olegedly", + "createdAt": "2026-08-02T06:36:50Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-17868081", + "summary": "A user thanks them.", + "actorId": "MDQ6VXNlcjU0MzQ2MTY4", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BEJ9P" + }, + { + "id": "DC_kwDOFExXwM4BErrX", + "kind": "comment", + "actor": "tdimitrov", + "createdAt": "2026-08-13T16:32:34Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-18004695", + "summary": "A user asks for the same view from the branch diff command.", + "actorId": "MDQ6VXNlcjYxMDc1NQ==", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BEu_D", + "kind": "reply", + "actor": "mrzubairk", + "createdAt": "2026-08-14T14:03:26Z", + "editedAt": "2026-08-14T14:03:59Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-18018243", + "summary": "A user wants the same when clicking a commit in history.", + "actorId": "U_kgDODliA9w", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BErrX" + }, + { + "id": "DC_kwDOFExXwM4BExoD", + "kind": "comment", + "actor": "gaojunran", + "createdAt": "2026-08-15T10:34:42Z", + "editedAt": "2026-08-15T10:34:50Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-18029059", + "summary": "A contributor points to PR #62068 for that and asks for upvotes.", + "actorId": "U_kgDOBzwRYw", + "actorType": "human", + "parentId": "D_kwDOFExXwM4AggpV" + }, + { + "id": "DC_kwDOFExXwM4BGKVl", + "kind": "reply", + "actor": "mill1000", + "createdAt": "2026-09-10T22:03:43Z", + "url": "https://github.com/zed-industries/zed/discussions/33773#discussioncomment-18392421", + "summary": "A user thanks the poster of the setting.", + "actorId": "MDQ6VXNlcjY5MjQ2MjI=", + "actorType": "human", + "parentId": "DC_kwDOFExXwM4BEJ9P" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zed-smooth-scroll-input-handling.json b/evals/datasets/decisions-v1/cases/zed-smooth-scroll-input-handling.json new file mode 100644 index 000000000..16ca3436a --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zed-smooth-scroll-input-handling.json @@ -0,0 +1,1033 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zed-smooth-scroll-input-handling", + "title": "Smooth scrolling input handling in Zed", + "source": { + "url": "https://github.com/zed-industries/zed/pull/44827", + "retrievedAt": "2026-10-18T07:21:57.529921+00:00", + "repository": "zed-industries/zed", + "number": 44827 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2026-04-21T03:00:00Z" + }, + { + "id": "c2", + "at": "2026-06-19T21:00:00Z" + }, + { + "id": "c3", + "at": "2026-06-19T21:40:00Z" + } + ], + "events": [ + { + "id": "zed-44827:pr:44827", + "kind": "opening", + "actor": "marcocondrache", + "createdAt": "2025-12-14T20:50:32Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "A contributor adds smooth scrolling to the editor, with before and after videos and a reference article on scrolling feel.", + "actorId": 52580954, + "actorType": "human" + }, + { + "id": "zed-44827:comment:3656145415", + "kind": "comment", + "actor": "niekdomi", + "createdAt": "2025-12-15T15:06:06Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3656145415", + "summary": "A contributor asks whether vim-mode scroll commands will be covered.", + "actorId": 152265924, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3656164481", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2025-12-15T15:09:17Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3656164481", + "summary": "The author says vim support is still to come while he refines the animation.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2620158874", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2025-12-15T16:55:01Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2620158874", + "summary": "The author explains that re-rendering the editor each animation frame matches existing scroll handling and may even save work by deferring persistence until the animation ends.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review:3581719148", + "kind": "review", + "actor": "ttytm", + "createdAt": "2025-12-16T07:32:44Z", + "url": "https://github.com/zed-industries/zed/pull/44827#pullrequestreview-3581719148", + "summary": "A user testing vim mode finds that a count prefix on scroll commands is ignored with smooth scrolling on, but would not block the PR on it.", + "actorId": 34311583, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3659739533", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2025-12-16T10:03:27Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3659739533", + "summary": "The author says he is focused on the animation, especially for trackpads, and is waiting for the team's input before larger vim changes.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:ready_for_review:2025-12-16T13:43:22Z", + "kind": "process", + "actor": "marcocondrache", + "createdAt": "2025-12-16T13:43:22Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "The author marks the PR ready for review.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3694561799", + "kind": "comment", + "actor": "devillove084", + "createdAt": "2025-12-28T08:19:23Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3694561799", + "summary": "A user asks where to find prebuilt artifacts to test.", + "actorId": 15782923, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2650940585", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2025-12-29T13:11:03Z", + "editedAt": "2025-12-29T13:15:44Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2650940585", + "summary": "A maintainer agrees per-frame re-rendering is fine for scrolling, since trackpads already do this on Mac.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review-comment:2620158874" + }, + { + "id": "zed-44827:review-comment:2650943524", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2025-12-29T13:12:45Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2650943524", + "summary": "The author thanks him.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2620158874" + }, + { + "id": "zed-44827:comment:3726723186", + "kind": "comment", + "actor": "vhtmui", + "createdAt": "2026-01-09T02:00:57Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3726723186", + "summary": "A user expresses excitement.", + "actorId": 46163279, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:cross-referenced:2026-01-10T12:38:14Z", + "kind": "process", + "actor": "aiatsuk", + "createdAt": "2026-01-10T12:38:14Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "A user links a related PR adding smooth cursor animation.", + "actorId": 161219893, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3760005266", + "kind": "comment", + "actor": "austindelic", + "createdAt": "2026-01-16T13:22:39Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3760005266", + "summary": "A user praises the work.", + "actorId": 113435553, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3760979701", + "kind": "comment", + "actor": "asqarslanov", + "createdAt": "2026-01-16T17:04:10Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3760979701", + "summary": "A contributor asks whether smooth scrolling could live in GPUI so every app benefits, without blocking this PR.", + "actorId": 68478201, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3762934709", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-01-17T09:12:47Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3762934709", + "summary": "The author notes scrolling feels slower with smoothing and that raising scroll sensitivity helps, perhaps worth documenting.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2700801897", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-01-17T09:17:54Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2700801897", + "summary": "The author floats separate durations for wheel and keyboard scrolling.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2710434437", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-01-20T23:33:56Z", + "editedAt": "2026-01-21T00:15:35Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2710434437", + "summary": "A maintainer suggests one scroll method that takes an explicit instant-or-animated parameter so callers must choose, for maintainability.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3684728635" + }, + { + "id": "zed-44827:review-comment:2710453432", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-01-20T23:44:44Z", + "editedAt": "2026-01-21T00:15:35Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2710453432", + "summary": "A maintainer says smooth-scroll handling should live in the editor rather than the vim crate.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3684728635" + }, + { + "id": "zed-44827:review-comment:2710510505", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-01-21T00:15:24Z", + "editedAt": "2026-01-21T00:15:35Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2710510505", + "summary": "A maintainer asks whether two calls should always cancel animation or leave that to the caller.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3684728635" + }, + { + "id": "zed-44827:review:3684728635", + "kind": "review", + "actor": "MrSubidubi", + "createdAt": "2026-01-21T00:15:35Z", + "url": "https://github.com/zed-industries/zed/pull/44827#pullrequestreview-3684728635", + "summary": "A maintainer apologises for slow review, praises the implementation, and leaves design questions to discuss.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2712485766", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-01-21T13:02:45Z", + "editedAt": "2026-01-21T13:02:46Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2712485766", + "summary": "The author agrees and proposes naming the enum ScrollBehavior.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2710434437" + }, + { + "id": "zed-44827:review-comment:2712537401", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-01-21T13:17:07Z", + "editedAt": "2026-01-21T15:23:19Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2712537401", + "summary": "The author argues forced position changes must cancel an animation to avoid visible jumps.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2710510505" + }, + { + "id": "zed-44827:review-comment:2712709927", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-01-21T14:01:49Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2712709927", + "summary": "The author agrees to move the logic into the editor.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2710453432" + }, + { + "id": "zed-44827:comment:3836027216", + "kind": "comment", + "actor": "rayanmargham", + "createdAt": "2026-02-02T15:49:20Z", + "editedAt": "2026-02-02T16:14:45Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3836027216", + "summary": "A comment GitHub marks as hidden (spam).", + "actorId": 69608259, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:3979737092", + "kind": "comment", + "actor": "niekdomi", + "createdAt": "2026-03-01T10:50:37Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-3979737092", + "summary": "A contributor reports a crash when the duration is set negative and suggests clamping.", + "actorId": 152265924, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2907697082", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:12:51Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907697082", + "summary": "A maintainer asks to narrow the visibility of the animation state.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907703624", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:14:11Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907703624", + "summary": "A maintainer asks to revert an unneeded helper change.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907723441", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:18:28Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907723441", + "summary": "A maintainer questions making duration configurable at all, preferring good defaults that vary by input type, noting VS Code has no such setting.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907808340", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:37:48Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907808340", + "summary": "A maintainer asks whether two scroll position accessors are both needed.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907810293", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:38:16Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907810293", + "summary": "A maintainer asks why something is public.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907863628", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:50:01Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907863628", + "summary": "A maintainer asks to keep duration and enablement inside the scroll manager to contain the change.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907897047", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T20:57:32Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907897047", + "summary": "A maintainer suggests a progress newtype to avoid computing progress twice.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907921635", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T21:02:47Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907921635", + "summary": "A maintainer suggests modelling animation state as an enum to rule out invalid states.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2907939808", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T21:07:07Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2907939808", + "summary": "A maintainer welcomes the move and asks to make the scroll manager private.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2908040340", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T21:29:35Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2908040340", + "summary": "A maintainer warns that restarting the easing on each new input loses momentum and asks to continue from the current velocity.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review-comment:2908042907", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T21:30:15Z", + "editedAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2908042907", + "summary": "A maintainer asks the author to explain some input-handling logic.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review:3917946211" + }, + { + "id": "zed-44827:review:3917946211", + "kind": "review", + "actor": "MrSubidubi", + "createdAt": "2026-03-09T21:31:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#pullrequestreview-3917946211", + "summary": "A maintainer requests changes, shows trackpad scrolling on Mac that feels unacceptable with native acceleration, and lists the tests he wants.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2910077640", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T08:14:01Z", + "editedAt": "2026-03-10T08:14:08Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910077640", + "summary": "The author narrows visibility as far as possible.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907697082" + }, + { + "id": "zed-44827:review-comment:2910079539", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T08:14:21Z", + "editedAt": "2026-03-10T08:14:22Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910079539", + "summary": "The author reverts the helper.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907703624" + }, + { + "id": "zed-44827:review-comment:2910083279", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T08:15:00Z", + "editedAt": "2026-03-10T08:15:01Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910083279", + "summary": "The author makes the item private.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907810293" + }, + { + "id": "zed-44827:review-comment:2910202889", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T08:40:43Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910202889", + "summary": "The author adds the progress newtype.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907897047" + }, + { + "id": "zed-44827:review-comment:2910297409", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T08:59:42Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910297409", + "summary": "The author adopts the enum.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907921635" + }, + { + "id": "zed-44827:review-comment:2910490265", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T09:36:04Z", + "editedAt": "2026-03-10T09:36:05Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910490265", + "summary": "The author moves logic into the scroll manager.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907863628" + }, + { + "id": "zed-44827:review-comment:2910504199", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T09:38:29Z", + "editedAt": "2026-03-10T09:38:45Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2910504199", + "summary": "The author removes the duration setting, having found that sensitivity fixes the slowness.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907723441" + }, + { + "id": "zed-44827:review-comment:2911135012", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T11:38:01Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2911135012", + "summary": "The author notes another crate still reaches the scroll manager and asks whether to fix it here.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907939808" + }, + { + "id": "zed-44827:review-comment:2911141447", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-10T11:39:07Z", + "editedAt": "2026-03-10T11:39:08Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2911141447", + "summary": "The author merges the two accessors.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907808340" + }, + { + "id": "zed-44827:comment:4055127292", + "kind": "comment", + "actor": "Zakleby", + "createdAt": "2026-03-13T13:38:30Z", + "editedAt": "2026-03-13T15:47:39Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4055127292", + "summary": "A comment GitHub marks as hidden (spam).", + "actorId": 96844207, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:2931273707", + "kind": "review-comment", + "actor": "Zakleby", + "createdAt": "2026-03-13T13:41:35Z", + "editedAt": "2026-03-20T13:00:02Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2931273707", + "summary": "A user explains that precise deltas indicate a trackpad that needs no extra smoothing.", + "actorId": 96844207, + "actorType": "human", + "parentId": "zed-44827:review-comment:2908042907" + }, + { + "id": "zed-44827:review-comment:2931588464", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-13T14:34:20Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2931588464", + "summary": "The author removes that logic as no longer needed.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2908042907" + }, + { + "id": "zed-44827:review-comment:2931691159", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-03-13T14:48:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r2931691159", + "summary": "The author adds velocity-aware chaining of animations, modelled on Chromium's smooth scrolling.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:2908040340" + }, + { + "id": "zed-44827:comment:4284896774", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-04-20T23:25:32Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4284896774", + "summary": "A contributor asks the author to rebase.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:3114251853", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-04-20T23:46:47Z", + "editedAt": "2026-04-20T23:49:23Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r3114251853", + "summary": "A maintainer offers to split the visibility change into a separate PR.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:review-comment:2907939808" + }, + { + "id": "zed-44827:review:4144163022", + "kind": "review", + "actor": "MrSubidubi", + "createdAt": "2026-04-20T23:49:23Z", + "url": "https://github.com/zed-industries/zed/pull/44827#pullrequestreview-4144163022", + "summary": "A maintainer says the PR is in good shape and lists what remains: one comment, tests, and how to treat trackpad input, suggesting distinguishing already-smoothed scrolls at the platform level.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4286522856", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-04-21T07:00:38Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4286522856", + "summary": "The author rebases and says he has little time left for open source but wants to finish.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:cross-referenced:2026-05-05T12:48:36Z", + "kind": "process", + "actor": "MrSubidubi", + "createdAt": "2026-05-05T12:48:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "A maintainer links his separate PR making the scroll manager private.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4586769624", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-05-31T13:05:05Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4586769624", + "summary": "The author argues already-smoothed input cannot be detected reliably, since some mice report precise deltas just like trackpads.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4594863598", + "kind": "comment", + "actor": "MrSubidubi", + "createdAt": "2026-06-01T17:17:38Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4594863598", + "summary": "A maintainer accepts and drops the platform-detection idea.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4594899821", + "kind": "comment", + "actor": "Aquaticat", + "createdAt": "2026-06-01T17:22:05Z", + "editedAt": "2026-06-01T17:25:10Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4594899821", + "summary": "A user pleads not to drop smooth scrolling, then retracts after realising only the detection idea was dropped.", + "actorId": 66041952, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4737370641", + "kind": "comment", + "actor": "palmerovicdev", + "createdAt": "2026-06-18T02:48:58Z", + "editedAt": "2026-06-19T17:42:41Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4737370641", + "summary": "A comment GitHub marks as hidden (spam).", + "actorId": 117776704, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4737424436", + "kind": "comment", + "actor": "xab3r", + "createdAt": "2026-06-18T03:02:39Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4737424436", + "summary": "A contributor reports heavy flicker with a vim key sequence.", + "actorId": 4789717, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4738448485", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-18T05:44:05Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4738448485", + "summary": "The author asks whether it was a release build and allows a possible regression.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4739249820", + "kind": "comment", + "actor": "xab3r", + "createdAt": "2026-06-18T07:35:53Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4739249820", + "summary": "The contributor confirms a release build.", + "actorId": 4789717, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4753556341", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-19T17:20:44Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4753556341", + "summary": "A contributor asks whether event frequency and delta size could reveal a pre-smoothed device.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4753633098", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-19T17:34:41Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4753633098", + "summary": "The author says such heuristics are not deterministic, citing Apple docs, and notes Firefox smooths all input.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754018424", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-19T18:50:40Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754018424", + "summary": "The contributor suggests skipping Zed's smoothing for devices with precise deltas to avoid jitter.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754118757", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-19T19:11:26Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754118757", + "summary": "The author explains debug builds lag, Zed must smooth itself because it draws its own UI, and precise deltas do not imply smoothing.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754187172", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-19T19:24:25Z", + "editedAt": "2026-06-19T19:24:38Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754187172", + "summary": "The contributor asks again about precise deltas and notes current Zed already scrolls smoothly on Mac trackpads.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754312323", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-19T19:49:11Z", + "editedAt": "2026-06-19T19:49:38Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754312323", + "summary": "The author repeats that precise deltas only mean pixel units and points to the event code.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754621713", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-19T20:48:47Z", + "editedAt": "2026-06-19T20:48:52Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754621713", + "summary": "The author lays out options: a disable setting like Firefox, or a best-effort device classifier like VS Code, preferring a sensible default now and the classifier in a later PR.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754798621", + "kind": "comment", + "actor": "MrSubidubi", + "createdAt": "2026-06-19T21:26:11Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754798621", + "summary": "A maintainer has no strong view, backs deferring the classifier, and leaves the choice to the author.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4754946353", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-19T21:56:40Z", + "editedAt": "2026-06-19T21:59:52Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4754946353", + "summary": "The contributor accepts and reports jitter when the feature is disabled.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:3444772396", + "kind": "review-comment", + "actor": "MrSubidubi", + "createdAt": "2026-06-19T22:22:47Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r3444772396", + "summary": "A maintainer spots a likely bug path when smoothing is off but animation is requested.", + "actorId": 75036051, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:review-comment:3445675676", + "kind": "review-comment", + "actor": "marcocondrache", + "createdAt": "2026-06-20T08:10:24Z", + "editedAt": "2026-06-20T08:10:32Z", + "url": "https://github.com/zed-industries/zed/pull/44827#discussion_r3445675676", + "summary": "The author fixes it but the jitter remains.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:review-comment:3444772396" + }, + { + "id": "zed-44827:comment:4772624544", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-22T20:13:12Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4772624544", + "summary": "The author reports the jitter fixed.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4772918287", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-22T20:49:48Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4772918287", + "summary": "The contributor confirms trackpad behaviour works but reports a jump with a precise-delta mouse when smoothing is off.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4782853896", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-23T19:44:43Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4782853896", + "summary": "The author says the jump is fixed.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4785273368", + "kind": "comment", + "actor": "seanstrom", + "createdAt": "2026-06-24T02:09:26Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4785273368", + "summary": "The contributor still reproduces it after toggling the feature and mixing devices, and suspects leftover state.", + "actorId": 2845768, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4786017298", + "kind": "comment", + "actor": "marcocondrache", + "createdAt": "2026-06-24T04:55:21Z", + "editedAt": "2026-06-24T04:57:21Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4786017298", + "summary": "The author says the remaining case also occurs in released Zed and is not caused by the PR.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:4827496717", + "kind": "comment", + "actor": "xab3r", + "createdAt": "2026-06-28T21:49:00Z", + "editedAt": "2026-06-28T22:03:28Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-4827496717", + "summary": "A contributor finds trackpad scrolling too inertial when enabled and keyboard scrolling laggy when disabled.", + "actorId": 4789717, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:closed:2026-08-22T16:34:02Z", + "kind": "process", + "actor": "marcocondrache", + "createdAt": "2026-08-22T16:34:02Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "The author closes the PR unmerged.", + "actorId": 52580954, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5387548353", + "kind": "comment", + "actor": "paperbenni", + "createdAt": "2026-08-23T17:49:01Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5387548353", + "summary": "A user reacts with sadness.", + "actorId": 15818888, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5461245622", + "kind": "comment", + "actor": "theguy000", + "createdAt": "2026-08-29T08:14:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5461245622", + "summary": "A user expresses disappointment.", + "actorId": 52881001, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5461302814", + "kind": "comment", + "actor": "aizigao", + "createdAt": "2026-08-29T08:28:36Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5461302814", + "summary": "A user says ten months of review discourages contributors.", + "actorId": 14126445, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5461828161", + "kind": "comment", + "actor": "theguy000", + "createdAt": "2026-08-29T10:34:47Z", + "editedAt": "2026-08-29T12:08:35Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5461828161", + "summary": "A comment GitHub marks as hidden (off-topic).", + "actorId": 52881001, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5462393097", + "kind": "comment", + "actor": "lhutyra", + "createdAt": "2026-08-29T12:22:34Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5462393097", + "summary": "A user speculates the team's attention moved elsewhere, leaving many PRs stalled.", + "actorId": 1809563, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:comment:5578611424", + "kind": "comment", + "actor": "vhtmui", + "createdAt": "2026-09-08T03:21:47Z", + "editedAt": "2026-09-09T22:24:03Z", + "url": "https://github.com/zed-industries/zed/pull/44827#issuecomment-5578611424", + "summary": "A comment GitHub marks as hidden (low-quality).", + "actorId": 46163279, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:cross-referenced:2026-09-10T22:31:27Z", + "kind": "process", + "actor": "guivieiras", + "createdAt": "2026-09-10T22:31:27Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "An external project links a PR adding smooth wheel scrolling.", + "actorId": 8260015, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + }, + { + "id": "zed-44827:process:cross-referenced:2026-10-07T06:52:33Z", + "kind": "process", + "actor": "M-ax", + "createdAt": "2026-10-07T06:52:33Z", + "url": "https://github.com/zed-industries/zed/pull/44827", + "summary": "A fork links a PR adding smooth scrolling with direct trackpad input.", + "actorId": 31911228, + "actorType": "human", + "parentId": "zed-44827:pr:44827" + } + ] +} diff --git a/evals/datasets/decisions-v1/cases/zoxide-fish-cd-alias-recursion.json b/evals/datasets/decisions-v1/cases/zoxide-fish-cd-alias-recursion.json new file mode 100644 index 000000000..4f6815dc0 --- /dev/null +++ b/evals/datasets/decisions-v1/cases/zoxide-fish-cd-alias-recursion.json @@ -0,0 +1,309 @@ +{ + "schemaVersion": 2, + "origin": "adapted", + "id": "zoxide-fish-cd-alias-recursion", + "title": "How zoxide's fish hook should call cd when users alias cd to z", + "source": { + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "retrievedAt": "2026-10-18T07:35:06.752010+00:00", + "repository": "ajeetdsouza/zoxide", + "number": 145 + }, + "cutoffs": [ + { + "id": "c1", + "at": "2021-02-02T22:05:00Z" + }, + { + "id": "c2", + "at": "2021-05-09T16:18:00Z" + }, + { + "id": "c3", + "at": "2021-05-09T16:25:00Z" + }, + { + "id": "c4", + "at": "2021-05-10T00:00:00Z" + } + ], + "events": [ + { + "id": "zoxide-145:issue:145", + "kind": "opening", + "actor": "fennewald", + "createdAt": "2021-02-02T22:00:40Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The opener reports that aliasing cd to z in fish recurses until the stack overflows, and proposes that the generated fish function call `command cd` so it bypasses user functions.", + "actorId": 23765149, + "actorType": "human" + }, + { + "id": "zoxide-145:process:cross-referenced:2021-02-02T22:07:14Z", + "kind": "process", + "actor": "fennewald", + "createdAt": "2021-02-02T22:07:14Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The opener links PR #146, which switches the fish template to an external cd call.", + "actorId": 23765149, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:780327983", + "kind": "comment", + "actor": "thaliaarchi", + "createdAt": "2021-02-17T06:12:35Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-780327983", + "summary": "A user points to the line in the fish template where the fix would go.", + "actorId": 8071784, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:process:closed:2021-02-17T14:05:18Z", + "kind": "process", + "actor": "ajeetdsouza", + "createdAt": "2021-02-17T14:05:18Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The maintainer closes the issue as PR #146 merges.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:835836923", + "kind": "comment", + "actor": "dnlmlr", + "createdAt": "2021-05-09T16:15:20Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-835836923", + "summary": "A contributor asks to reopen: the template line was later changed and then reverted, because using fish's builtin cd drops the extra behaviour of fish's own cd wrapper function. They propose copying fish's cd function under a private name with `functions -c` and calling that copy from zoxide's hook, and offer a PR.", + "actorId": 34707428, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:process:reopened:2021-05-09T16:20:39Z", + "kind": "process", + "actor": "ajeetdsouza", + "createdAt": "2021-05-09T16:20:39Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The maintainer reopens the issue.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:835839716", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2021-05-09T16:32:42Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-835839716", + "summary": "The maintainer endorses the function-copy idea and tells the contributor to proceed.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:process:cross-referenced:2021-05-09T17:55:57Z", + "kind": "process", + "actor": "dnlmlr", + "createdAt": "2021-05-09T17:55:57Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The contributor links PR #207, which prevents the recursion by copying fish's cd function.", + "actorId": 34707428, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:process:closed:2021-05-09T19:46:25Z", + "kind": "process", + "actor": "ajeetdsouza", + "createdAt": "2021-05-09T19:46:25Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145", + "summary": "The maintainer closes the issue when PR #207 merges.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:850562164", + "kind": "comment", + "actor": "federicotorrielli", + "createdAt": "2021-05-28T17:22:59Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-850562164", + "summary": "A user says the recursion still happens with their config, which sources several init scripts before setting the alias.", + "actorId": 31370059, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:850563961", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2021-05-28T17:26:38Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-850563961", + "summary": "The maintainer asks whether they are running the latest commit, since the fix is not yet in a release.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:850564791", + "kind": "comment", + "actor": "federicotorrielli", + "createdAt": "2021-05-28T17:28:14Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-850564791", + "summary": "The user realises they installed the packaged release and apologises.", + "actorId": 31370059, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:850573285", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2021-05-28T17:45:19Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-850573285", + "summary": "The maintainer says a release with the fix will follow soon.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1309795358", + "kind": "comment", + "actor": "pnunn", + "createdAt": "2022-11-10T05:25:56Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1309795358", + "summary": "A user reports the loop still occurs with version 0.8.3 installed from a deb package.", + "actorId": 1034315, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1309818967", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2022-11-10T06:07:11Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1309818967", + "summary": "The maintainer asks them to confirm the installed version.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1309847317", + "kind": "comment", + "actor": "pnunn", + "createdAt": "2022-11-10T06:50:13Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1309847317", + "summary": "The user confirms they are on 0.8.3.", + "actorId": 1034315, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1309934045", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2022-11-10T08:25:38Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1309934045", + "summary": "The maintainer cannot reproduce it and asks for a new issue with the setup details.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1310256867", + "kind": "comment", + "actor": "Muvkina", + "createdAt": "2022-11-10T13:08:18Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1310256867", + "summary": "Another user says they also still see the problem on Arch and are retraining themselves to type z instead.", + "actorId": 38061852, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:1310589272", + "kind": "comment", + "actor": "ajeetdsouza", + "createdAt": "2022-11-10T16:49:54Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-1310589272", + "summary": "The maintainer asks that user to open a new issue with their fish version and config.", + "actorId": 1777663, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2079469315", + "kind": "comment", + "actor": "Marwan-ibn-Amr", + "createdAt": "2024-04-26T14:07:47Z", + "editedAt": "2024-04-26T14:20:13Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2079469315", + "summary": "A user suggests placing the alias after the zoxide init line.", + "actorId": 112310530, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2080216228", + "kind": "comment", + "actor": "pnunn", + "createdAt": "2024-04-26T23:02:46Z", + "editedAt": "2024-04-26T23:19:02Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2080216228", + "summary": "An earlier reporter says that ordering did not help, but upgrading to 0.9.4 fixed it.", + "actorId": 1034315, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2116628129", + "kind": "comment", + "actor": "hoducha", + "createdAt": "2024-05-17T04:59:11Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2116628129", + "summary": "A user explains their recursion came from saving the alias as a persistent fish function, and gives steps to remove it and set the alias after init instead.", + "actorId": 3087444, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2122696005", + "kind": "comment", + "actor": "Joachim-42he", + "createdAt": "2024-05-21T13:54:22Z", + "editedAt": "2024-05-21T13:59:02Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2122696005", + "summary": "A user notes the documented `--cmd cd` init option achieves the same result without an alias.", + "actorId": 44265104, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2155844754", + "kind": "comment", + "actor": "callisto1232", + "createdAt": "2024-06-08T06:58:30Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2155844754", + "summary": "A user confirms that moving the alias after init worked for them.", + "actorId": 146484672, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + }, + { + "id": "zoxide-145:comment:2462259666", + "kind": "comment", + "actor": "jbrodriguez", + "createdAt": "2024-11-07T13:35:55Z", + "url": "https://github.com/ajeetdsouza/zoxide/issues/145#issuecomment-2462259666", + "summary": "A user says both approaches work but fish no longer offers completions for cd.", + "actorId": 1305422, + "actorType": "human", + "parentId": "zoxide-145:issue:145" + } + ] +} diff --git a/evals/datasets/decisions-v1/decisions.jsonl b/evals/datasets/decisions-v1/decisions.jsonl new file mode 100644 index 000000000..efad7650e --- /dev/null +++ b/evals/datasets/decisions-v1/decisions.jsonl @@ -0,0 +1,132 @@ +{"id": "appflowy-dark-mode-palette", "sources": [{"url": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", "kind": "issue", "retrievedAt": "2026-10-18T07:20:50.815119+00:00"}], "repo": "AppFlowy-IO/AppFlowy", "domain": "ui-ux", "title": "Which palette AppFlowy's dark mode should use", "question": "Which colour palette should AppFlowy's first dark mode use: a brand-tinted dark, a neutral grey dark, or an existing open scheme?", "questionExplicit": false, "context": "Users asked for a dark mode early in the project. A volunteer designer mocked up three dark palettes derived from the existing colour tokens and asked for votes, while others debated whether to ship a simple toggle or a full theming system.", "options": [{"label": "Dark palette tinted with the purple secondary brand colour", "proposedBy": "branhillsdesign", "fate": "rejected"}, {"label": "Dark palette in untinted greys (option 2)", "proposedBy": "branhillsdesign", "fate": "chosen"}, {"label": "Dark palette tinted with the blue main brand colour", "proposedBy": "branhillsdesign", "fate": "rejected"}, {"label": "Adopt an established open scheme such as Solarized, Monokai or Dracula", "proposedBy": "mrtolkien", "fate": "rejected"}, {"label": "Swappable theme config files and a theme picker instead of a toggle", "proposedBy": "kiralabs", "fate": "deferred"}], "criteria": ["eye comfort", "WCAG contrast compliance", "consistency with the existing MVP design", "familiarity for users", "future extensibility for theme authors"], "participants": {"count": 13, "roles": ["maintainers", "contributors", "designer", "users"], "decider": "consensus"}, "process": {"research": "links", "spike": "prototype", "poll": true, "escalation": "none", "subQuestions": ["Ship a light/dark toggle first or a full theming system?", "Wait for the extension system before theming?", "Rename colour variables by purpose for theme authors?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 27, "comments": 23, "reactionsTotal": 44, "decidedOffPlatform": false, "notableMoves": ["designer posted three Figma palettes plus an external straw poll", "maintainer chose the light/dark toggle over custom themes as the first step", "designer rejected popular editor schemes on WCAG grounds and refined option 2"]}, "outcome": {"decided": true, "decision": "Use the untinted grey palette (option 2), refined with the MVP colours and Obsidian-like influences, as the basis for a light/dark switch; custom themes come later.", "how": "consensus", "rationale": "Option 2 felt calmer to voters and the maintainer; established editor schemes mostly fail contrast checks and do not fit an app that uses colour for organisation.", "dissent": "One user preferred adopting a familiar open scheme; another wanted swappable theme files rather than a toggle.", "confidence": "implied", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Three mocked-up palettes compared on comfort, contrast and brand fit.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "settle"], "gaps": ["votes as evidence: the designer's external straw poll results were never reported back, so the tally behind option 2 is invisible", "staged acceptance: the palette was agreed in December but implementation drifted across contributors and PRs for months, and the closure never links the decision to the code that shipped it", "coupled decisions: palette choice, toggle-versus-theming scope and colour-token renaming were settled together in one thread", "decider not in thread: the designer deferred to an MVP design the maintainer had made before joining, which is not in the issue"]}, "evalUse": "Visual palette choice settled by informal votes, with a scope question deferred alongside.", "notes": "PR #259 refactors themes but its merge status relative to the shipped dark mode is not shown; closure cites only that dark mode already exists. Strawpoll results unknown.", "caseId": "appflowy-dark-mode-palette", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ripgrep-long-line-handling", "sources": [{"url": "https://github.com/BurntSushi/ripgrep/issues/129", "kind": "issue", "retrievedAt": "2026-10-18T07:34:45.722882+00:00"}], "repo": "BurntSushi/ripgrep", "domain": "product-behaviour", "title": "Hide, truncate or elide long matching lines", "question": "How should ripgrep deal with extremely long matching lines: hide them, truncate them, or show only context around matches, and should it be on by default?", "questionExplicit": true, "context": "Minified files produce matches whose lines fill the screen. Any trimming in terminal columns runs into Unicode width, invalid UTF-8 and terminal-size detection on Windows.", "options": [{"label": "Off-by-default `-M/--max-columns` measured in bytes", "proposedBy": "maintainer (BurntSushi)", "fate": "chosen"}, {"label": "Replace over-long lines with a match-count notice", "proposedBy": "contributor (RalfJung); earlier samuelcolvin", "fate": "chosen"}, {"label": "Truncate with ellipsis, on by default", "proposedBy": "contributor (samuelcolvin)", "fate": "rejected"}, {"label": "Fit balanced context around matches using terminal width", "proposedBy": "user (forgottenswitch)", "fate": "deferred"}, {"label": "Use existing Unix tools via pipes", "proposedBy": "user (tjayrush)", "fate": "rejected"}, {"label": "Treat files with long lines as binary", "proposedBy": "contributor; user", "fate": "rejected"}], "criteria": ["implementation and maintenance complexity", "valid UTF-8 output", "performance", "not silently dropping data", "grep-style filtering semantics", "cross-platform terminal support"], "participants": {"count": 7, "roles": ["maintainer", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["On by default, or only on a terminal?", "Units: bytes, codepoints or graphemes?", "Detect terminal width?", "Behaviour with replace and context lines?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 128, "comments": 56, "reactionsTotal": 151, "decidedOffPlatform": false, "notableMoves": ["maintainer wrote a minimal spec to cut through scope creep", "contextual elision deferred to a future printer refactor", "a late contributor's count-notice idea reshaped the flag's behaviour", "two competing PRs before the maintainer's own landed"]}, "outcome": {"decided": true, "decision": "Add an off-by-default `-M/--max-columns` flag that measures lines in bytes and, rather than printing an over-long line, shows that it was omitted with a match count; contextual elision is deferred.", "how": "maintainer-decision", "rationale": "Byte counting avoids encoding complexity and slow width checks, keeping the flag off by default makes dropping data deliberate, and the count notice avoids hiding matches silently.", "dissent": "Some wanted truncation on by default or context-aware elision.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/BurntSushi/ripgrep/pull/406"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several display strategies compared on complexity, correctness and data loss.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "build-pr"], "gaps": ["spec iteration in comments: the proposal was restated four times as edited specs, with no versioned draft", "staged acceptance: context-aware display was deferred pending an architecture refactor", "competing implementations: PRs #245, #356 and #406 each embodied a different answer", "coupled decisions: default-on behaviour, units and terminal detection were settled together"]}, "evalUse": "Tests scoping down an over-designed feature to a minimal flag with a deferred richer option.", "notes": "Decider is BurntSushi. The final merged behaviour is inferred from the maintainer's endorsement of the count notice and PR #406's title; the PR itself was not read.", "caseId": "ripgrep-max-columns", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ripgrep-hyperlink-support", "sources": [{"url": "https://github.com/BurntSushi/ripgrep/issues/665", "kind": "issue", "retrievedAt": "2026-10-18T07:34:48.647898+00:00"}], "repo": "BurntSushi/ripgrep", "domain": "product-behaviour", "title": "Whether and how ripgrep emits file hyperlinks", "question": "Should ripgrep emit clickable file hyperlinks, and if so in what form, including whether the URL carries the hostname?", "questionExplicit": false, "context": "Terminals support an escape sequence that makes text a link, and `ls` already uses it. The maintainer first declined, then reopened; the hostname debate pitted SSH workflows against Windows terminals that reject it.", "options": [{"label": "Do nothing; users write a wrapper", "proposedBy": "maintainer (initially)", "fate": "rejected"}, {"label": "Print visible file:// URLs", "proposedBy": "opener", "fate": "rejected"}, {"label": "Emit hyperlink escapes with hostname everywhere", "proposedBy": "kitty author; contributor (Jackenmen)", "fate": "partly"}, {"label": "Omit hostname everywhere / local files only", "proposedBy": "user", "fate": "rejected"}, {"label": "Omit hostname only on Windows", "proposedBy": "contributor (ltrzesniewski)", "fate": "partly"}, {"label": "Configurable `--hyperlink-format` template", "proposedBy": "contributor (ltrzesniewski)", "fate": "chosen"}], "criteria": ["precedent in other tools", "SSH and remote editing", "Windows shell compatibility", "spec conformance", "abstraction cost in printer and termcolor", "output readability", "linking to lines"], "participants": {"count": 20, "roles": ["maintainer", "contributors", "users", "terminal author"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Include hostname in the URL?", "Emit escapes in termcolor or the printer?", "Can line numbers be linked?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 2149, "comments": 51, "reactionsTotal": 110, "decidedOffPlatform": false, "notableMoves": ["closed as won't-do, reopened three years later after a concrete design sketch", "contributor iterated through PRs #2322 and #2483 before the maintainer's #2610", "design debate moved into PR review"]}, "outcome": {"decided": true, "decision": "Add hyperlink output to ripgrep, building on a configurable link format, landed through the maintainer's PR #2610.", "how": "maintainer-decision", "rationale": "Wide terminal support and precedent from `ls`, plus a configurable format that lets users satisfy differing terminal and editor needs.", "dissent": "A user preferred plain file:line output; the hostname question stayed contested across Windows and SSH users.", "confidence": "stated", "reversibility": "unknown", "implementedIn": ["https://github.com/BurntSushi/ripgrep/pull/2610"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A listed set of hostname strategies weighed against SSH, Windows and spec criteria.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "settle", "revisit-reopen", "build-pr"], "gaps": ["reversal after closing: a won't-do decision was reopened years later when a concrete design appeared", "decision moved to another thread: the final design was argued in PR #2483 review, not the issue", "competing implementations: three successive PRs carried the decision before one merged", "external dependency evidence: Windows Terminal and tmux fixes upstream shaped what was viable"]}, "evalUse": "Tests a long-lived feature request with a closure, reopening and a nested hostname trade-off.", "notes": "Decider is BurntSushi. The thread does not state the final default hostname behaviour; details were settled in PR review outside this thread.", "caseId": "ripgrep-file-hyperlinks", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ripgrep-pager-flag", "sources": [{"url": "https://github.com/BurntSushi/ripgrep/issues/86", "kind": "issue", "retrievedAt": "2026-10-18T07:34:37.711589+00:00"}], "repo": "BurntSushi/ripgrep", "domain": "product-behaviour", "title": "Built-in pager support in ripgrep", "question": "Should ripgrep spawn a pager for terminal output, and if so how, or leave paging to user wrappers?", "questionExplicit": true, "context": "Colour is lost when ripgrep output is piped to a pager, so users write aliases. Tools such as git grep, ag and bat page automatically, but the sole maintainer weighs maintenance and cross-platform cost.", "options": [{"label": "Leave paging to user aliases and wrappers (rg -p | less -R)", "proposedBy": "maintainer", "fate": "chosen"}, {"label": "Opt-in --pager flag spawning an external pager when stdout is a tty", "proposedBy": "users; later the maintainer", "fate": "rejected"}, {"label": "Build a full cross-platform pager into ripgrep", "proposedBy": "a user", "fate": "rejected"}, {"label": "Depend on a pager crate (pager, minus)", "proposedBy": "users", "fate": "rejected"}, {"label": "Pipe rg --json into delta as the pager", "proposedBy": "delta author", "fate": "partly"}], "criteria": ["maintenance burden", "Windows support", "user convenience", "scope creep", "dependency risk", "parity with git grep, ag and bat"], "participants": {"count": 28, "roles": ["maintainers", "users", "contributors", "adjacent tool authors"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Which implementation to copy: git grep or bat?", "Should a pager crate be used?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 2618, "comments": 64, "reactionsTotal": 215, "decidedOffPlatform": false, "notableMoves": ["maintainer asks for a research deep-dive before reconsidering", "stance softens in 2020 and the issue is reopened with help wanted", "bat author contributes lessons learned", "final reversal back to not planned after three years", "delta linked from the README as the endorsed alternative"]}, "outcome": {"decided": true, "decision": "ripgrep will not add a pager or --pager flag; users pipe to a pager themselves or use delta.", "how": "maintainer-decision", "rationale": "A --pager flag is scope creep that adds little when users can invoke a pager or alias one themselves.", "dissent": "Many users argued that requiring wrappers is a convenience gap compared with ag and git grep.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several implementation routes weighed against maintenance, Windows and convenience criteria.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "settle", "revisit-reopen", "ask-teammate"], "gaps": ["reversal after decision: settled as no, reopened with a plan and help wanted, then closed again three years later without a build", "votes as evidence: hundreds of reactions and repeated me-too comments were the main pressure but were never weighed explicitly", "duplicates merged: a fresh duplicate request elsewhere triggered the reopen", "external alternative as answer: the outcome leans on a third-party tool (delta) endorsed in the README rather than a built feature"]}, "evalUse": "Tests tracking a decision that flips twice over seven years under a single maintainer.", "notes": "Decider is the owner BurntSushi. Duration measured to the final close in 2023.", "caseId": "ripgrep-built-in-pager", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zoxide-fish-cd-call", "sources": [{"url": "https://github.com/ajeetdsouza/zoxide/issues/145", "kind": "issue", "retrievedAt": "2026-10-18T07:35:06.752010+00:00"}], "repo": "ajeetdsouza/zoxide", "domain": "compatibility", "title": "Fish hook cd call that survives a cd alias", "question": "Which cd should zoxide's generated fish function invoke so that aliasing cd to z does not recurse, without losing fish's own cd features?", "questionExplicit": false, "context": "zoxide's fish template calls cd, so a user alias of cd to z loops forever. A first fix bypassed user functions but was reverted off-thread because it also skipped fish's cd wrapper behaviour.", "options": [{"label": "Call `command cd` / builtin cd directly", "proposedBy": "opener", "fate": "rejected"}, {"label": "Copy fish's cd function with `functions -c` and call the copy", "proposedBy": "contributor (dnlmlr)", "fate": "chosen"}, {"label": "Users use `zoxide init --cmd cd` instead of an alias", "proposedBy": "user", "fate": "partly"}], "criteria": ["no infinite recursion", "keep fish's cd wrapper behaviour", "idempotent init script"], "participants": {"count": 12, "roles": ["maintainer", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Where should the alias go relative to the init line?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 96, "comments": 19, "reactionsTotal": 16, "decidedOffPlatform": false, "notableMoves": ["First fix merged, then silently changed and reverted in commits", "Issue reopened when a contributor noticed the revert", "Users kept reporting after close; most traced to stale releases or alias placement"]}, "outcome": {"decided": true, "decision": "Copy fish's original cd function under a private name in the init script and have zoxide's hook call that copy.", "how": "maintainer-decision", "rationale": "Calling the builtin avoids recursion but loses fish's cd wrapper features; a copied function keeps them and is not affected by a later alias.", "dissent": null, "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/ajeetdsouza/zoxide/pull/146", "https://github.com/ajeetdsouza/zoxide/pull/207"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Two concrete implementation options for one template line, judged on recursion safety and preserved behaviour.", "secondaryShape": "check", "fitsFlows": ["settle", "revisit-reopen", "build-pr"], "gaps": ["reversal after shipping: the first merged fix was changed and reverted in commits with no record in the thread until a contributor noticed", "duplicates merged: later reporters reused the closed issue for stale-version and alias-ordering problems instead of the decision"]}, "evalUse": "Small reopen-after-revert decision where the reason for the reversal lives only in commit history.", "notes": "Decider is the owner ajeetdsouza. PR #146 implemented the rejected option and was later reverted in commits 7b00d5a and acc9059.", "caseId": "zoxide-fish-cd-alias-recursion", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "uv-index-semantics", "sources": [{"url": "https://github.com/astral-sh/uv/pull/7481", "kind": "pr", "retrievedAt": "2026-10-18T07:26:30.340037+00:00"}], "repo": "astral-sh/uv", "domain": "api-design", "title": "Semantics for named and explicit indexes", "question": "How should named indexes be prioritised, pinned and overridden, and which of these semantics belong in the first version?", "questionExplicit": true, "context": "uv only had --index-url and --extra-index-url, so users could not pin a package such as torch to a specific registry. The author asked reviewers to agree on semantics before writing docs.", "options": [{"label": "Table indexes outrank legacy index flags", "proposedBy": "charliermarsh", "fate": "rejected"}, {"label": "Add --index so command-line indexes can override", "proposedBy": "charliermarsh", "fate": "chosen"}, {"label": "Name alone implies explicit-only use", "proposedBy": "zanieb", "fate": "rejected"}, {"label": "Make explicit the default", "proposedBy": "inflation", "fate": "rejected"}, {"label": "Glob-pattern pinning for transitive dependencies", "proposedBy": "smphhh", "fate": "deferred"}, {"label": "Separate table assigning packages to indexes", "proposedBy": "zanieb", "fate": "deferred"}, {"label": "default flag replaces PyPI and lowers priority", "proposedBy": "charliermarsh", "fate": "chosen"}, {"label": "Separate switch to disable PyPI", "proposedBy": "zanieb", "fate": "deferred"}], "criteria": ["command line overrides configuration", "avoid dependency confusion from extra indexes", "single mechanism for package-to-index mapping", "credentials keyed by name", "teachability of the PyPI fallback", "implementation feasibility"], "participants": {"count": 12, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should uv add mark indexes explicit?", "How should transitive dependencies be pinned?", "Should default do two things?", "Should legacy flags be hidden?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 27, "comments": 75, "reactionsTotal": 107, "decidedOffPlatform": true, "notableMoves": ["author asked for agreement on semantics before writing docs", "priority order inverted and --index added after a reviewer objected", "transitive pinning moved to a possible separate table", "early tester found a lockfile bug before merge", "override and uv add behaviour split into follow-up PRs", "some details had been discussed on Discord"]}, "outcome": {"decided": true, "decision": "Ship [[tool.uv.index]] with definition-order priority, --index and --default-index flags, opt-in explicit and default flags, and pinning only for direct dependencies; transitive pinning, PyPI disabling and uv add integration were left for later.", "how": "maintainer-decision", "rationale": "The command line must be able to override files, names are needed for credentials so explicit stays separate, and transitive pinning is hard to get right.", "dissent": "Users wanted explicit by default and pattern-based transitive pinning; a reviewer found the dual meaning of default odd.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/astral-sh/uv/pull/7481"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "Several linked semantic choices (priority, explicit default, transitive pinning) were settled together in review.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["coupled decisions: priority, explicit default, default flag and pinning scope were decided as one bundle in a single PR", "edited source of truth: the PR description was rewritten as semantics changed, so the earlier proposal survives only in a quote", "deferred follow-ups: several sub-questions were explicitly pushed to later PRs without a tracked record", "off-platform decision: some semantics such as naming for uv add were discussed on Discord"]}, "evalUse": "Tests reconstructing how a PR's semantics shifted in review when the description was edited in place.", "notes": "Decider is charliermarsh with zanieb as main reviewer. The first summary is known only from zanieb's quote, which differs from the final description.", "caseId": "uv-named-explicit-indexes", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "atuin-classic-up-arrow", "sources": [{"url": "https://github.com/atuinsh/atuin/issues/798", "kind": "issue", "retrievedAt": "2026-10-18T07:35:19.304519+00:00"}], "repo": "atuinsh/atuin", "domain": "product-behaviour", "title": "Native-style up arrow using Atuin history", "question": "Should Atuin offer a classic in-place up-arrow mode that cycles its own database, and if so as docs, an opt-in config, or a new default?", "questionExplicit": true, "context": "Atuin binds the up arrow to its full-screen search; disabling it falls back to the shell's own history file. Users want native stepping but with Atuin's synced history, and each shell needs its own script.", "options": [{"label": "Document community scripts as a 'custom integrations' page", "proposedBy": "contributor (arcuru); maintainer (ellie)", "fate": "partly"}, {"label": "Built-in opt-in config such as `classic_inline`", "proposedBy": "opener; maintainer (ellie)", "fate": "deferred"}, {"label": "Trigger classic mode when `inline_height = 1`", "proposedBy": "maintainer (ellie)", "fate": "deferred"}, {"label": "Make classic mode the new default", "proposedBy": "maintainer (ellie)", "fate": "deferred"}, {"label": "Inline compact search view (#648)", "proposedBy": "maintainer (conradludgate)", "fate": "deferred"}, {"label": "Negative offsets in the CLI to simplify shell scripts", "proposedBy": "contributor (mentalisttraceur)", "fate": "deferred"}], "criteria": ["muscle memory and speed", "consistency across shells", "option sprawl", "Nushell feasibility", "where integration code lives"], "participants": {"count": 25, "roles": ["maintainers", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Explicit option vs reusing inline_height", "Same shell script with a switched binding vs a separate inline script", "Prefix search from the current buffer"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1272, "comments": 40, "reactionsTotal": 224, "decidedOffPlatform": false, "notableMoves": ["Community kept posting per-shell gists instead of a PR", "Maintainer accepted in principle and asked for contributions in Oct 2023", "help wanted label removed in 2026 as a TUI rewrite was linked"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": "A maintainer personally prefers the interactive search; one contributor drifted back to the full-screen mode.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several delivery options (docs, opt-in config, default, inline view) for one behaviour, with sub-choices on config naming.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "research-or-spike"], "gaps": ["staged acceptance: the maintainer agreed in principle and asked for scripts, but no owner or follow-up was recorded and the issue stalled for years", "votes as evidence: 99 reactions on the opening post signal demand but carry no weight in any recorded decision", "duplicates merged: per-shell gists from many users accumulate as competing prototypes with no way to compare or adopt one"]}, "evalUse": "Long-running accepted-in-principle request with many prototypes and no settling event.", "notes": "Quota changed from small-team because Atuin has well over five regular contributors. Decider would be maintainer ellie.", "caseId": "atuin-classic-up-arrow-from-db", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "just-telemetry-mechanism", "sources": [{"url": "https://github.com/casey/just/discussions/2934", "kind": "discussion", "retrievedAt": "2026-10-18T07:34:37.015790+00:00"}], "repo": "casey/just", "domain": "product-behaviour", "title": "Telemetry support in just", "question": "Should just gain built-in support for team-run telemetry, and if so through what mechanism?", "questionExplicit": true, "context": "A user wants to trace recipe runs across a multi-contributor project and sees just as the natural place to instrument. Maintainers worry that any telemetry code would be read as a privacy problem.", "options": [{"label": "Built-in exporter configured by an env var (e.g. Sentry DSN)", "proposedBy": "opener", "fate": "deferred"}, {"label": "Opt-in logging users upload themselves", "proposedBy": "casey", "fate": "deferred"}, {"label": "Cargo feature off by default", "proposedBy": "laniakea64", "fate": "deferred"}, {"label": "Instrument individual recipes, no change to just", "proposedBy": "laniakea64", "fate": "deferred"}, {"label": "Pre-invocation hook", "proposedBy": "thePanz", "fate": "deferred"}, {"label": "Stream run events to a file or socket", "proposedBy": "mlavrinenko", "fate": "deferred"}], "criteria": ["user privacy and perception", "opt-in per user", "setup effort for collaborators", "vendor neutrality", "instrumentation noise in recipes", "demand beyond one user"], "participants": {"count": 5, "roles": ["maintainer", "contributor", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["What data would a hook need to expose?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 310, "comments": 11, "reactionsTotal": 7, "decidedOffPlatform": false, "notableMoves": ["opener reframes telemetry as team-owned rather than vendor-owned", "discussion drifts from telemetry toward generic hooks and event streams"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": null, "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "An open idea where the option set kept growing and no comparison was ever made.", "secondaryShape": "choice", "fitsFlows": ["find", "ask-teammate"], "gaps": ["reframing: the question shifted from 'add telemetry' to 'add a generic event hook', which needs the question itself to be renamed rather than answered", "demand signal: whether anyone besides the opener wants the feature was the deciding criterion, but there is no way to gather that interest", "stalled question: a maintainer gave an early lean and then went silent for ten months, with no owner or next step recorded"]}, "evalUse": "Tests whether a model can list the competing mechanisms and recognise the thread is undecided.", "notes": "Open Ideas discussion, no maintainer ruling. casey is the owner; laniakea64 is a frequent contributor. The prototype is the opener's external time-like wrapper tool.", "caseId": "just-telemetry-hooks", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "just-f-string-syntax", "sources": [{"url": "https://github.com/casey/just/issues/11", "kind": "issue", "retrievedAt": "2026-10-18T07:34:33.121135+00:00"}], "repo": "casey/just", "domain": "language-design", "title": "How to add string interpolation to just", "question": "How should just let variables be interpolated inside string literals and backticks without breaking existing justfiles?", "questionExplicit": true, "context": "Interpolation worked in recipe bodies but not in strings or backticks, blocking Makefile migrations. Backward compatibility ruled out changing plain strings, and recursive nesting made a full version hard.", "options": [{"label": "f-prefixed strings with interpolation", "proposedBy": "casey", "fate": "chosen"}, {"label": "Interpolation inside backticks", "proposedBy": "casey", "fate": "deferred"}, {"label": "printf-style formatting function", "proposedBy": "kallangerard", "fate": "rejected"}, {"label": "eval or resolve function on a string", "proposedBy": "akiross", "fate": "rejected"}, {"label": "Breaking change in a v2", "proposedBy": "NickLarsenNZ", "fate": "rejected"}, {"label": "Disallow or cap nesting at first", "proposedBy": "laniakea64", "fate": "merged"}, {"label": "Single-brace delimiters", "proposedBy": "casey", "fate": "rejected"}, {"label": "Double-brace delimiters", "proposedBy": "laniakea64", "fate": "chosen"}], "criteria": ["backward compatibility", "implementation complexity in the lexer", "consistency with recipe interpolation", "ease of typing", "escaping shell code", "editor highlighting support"], "participants": {"count": 19, "roles": ["owner", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should nested interpolations be allowed?", "Single or double braces?", "Should backticks be included?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 3323, "comments": 42, "reactionsTotal": 94, "decidedOffPlatform": false, "notableMoves": ["owner closed then reopened within weeks", "mislabelled as a good first issue, then unlabelled", "two community implementation attempts stalled", "owner shipped single-brace f-strings, then switched to double braces before release after a contributor's case", "backtick interpolation split into a new issue"]}, "outcome": {"decided": true, "decision": "Add f-prefixed strings with interpolation using double braces, released in 1.44.0; backtick interpolation was split into a separate issue.", "how": "maintainer-decision", "rationale": "The f prefix keeps existing strings unchanged; double braces match recipe interpolation, read better around shell code and reuse highlighting.", "dissent": null, "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/casey/just/pull/2985", "https://github.com/casey/just/pull/2991"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing syntaxes and function-based alternatives were weighed against compatibility and complexity.", "secondaryShape": "tune", "fitsFlows": ["settle", "revisit-reopen", "build-pr", "reshape", "ask-teammate"], "gaps": ["reversal after merge: the brace choice was flipped in-thread after the implementing PR landed but before release", "split scope: settling one part (strings) spun the remainder (backticks) into a new issue", "years-long dormancy: a nine-year-old question with stalled community PRs and no record of why it waited", "coupled decisions: the brace choice was tied to relaxing a separate rule in recipe interpolations"]}, "evalUse": "Tests a long-lived single-maintainer language decision with a late post-merge syntax flip and a scope split.", "notes": "Decider is the owner casey. PR #2991 is cited as tests for conditionals in format strings; the URL is inferred from its number in this repo.", "caseId": "just-format-string-interpolation", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "just-parallel-mechanism", "sources": [{"url": "https://github.com/casey/just/issues/626", "kind": "issue", "retrievedAt": "2026-10-18T07:34:26.346426+00:00"}], "repo": "casey/just", "domain": "language-design", "title": "Selective attribute versus universal flag for parallel recipes", "question": "Should parallel execution be opted into per recipe with an attribute, globally with a CLI flag or setting, or through new dependency syntax?", "questionExplicit": true, "context": "just runs a recipe's dependencies in order. Users want concurrency for builds, dev servers and local CI; the maintainer worried that turning it on globally could break justfiles that rely on implicit ordering.", "options": [{"label": "`[parallel]` attribute so a recipe's dependencies run concurrently (selective)", "proposedBy": "casey", "fate": "chosen"}, {"label": "`--parallel` CLI flag for universal parallelism", "proposedBy": "casey", "fate": "deferred"}, {"label": "Justfile setting enabling universal parallelism", "proposedBy": "casey", "fate": "rejected"}, {"label": "Make-style `-j` job count", "proposedBy": "hartmannr76", "fate": "deferred"}, {"label": "Dependency operators marking serial versus parallel groups", "proposedBy": "jrop / W1M0R", "fate": "rejected"}, {"label": "Parallel by default with declared conflicts", "proposedBy": "hauleth", "fate": "rejected"}], "criteria": ["backward compatibility with implicit dependency order", "intent remembered in the justfile vs on the command line", "cross-platform behaviour vs shell `&` workarounds", "output readability", "implementation complexity in Rust"], "participants": {"count": 33, "roles": ["maintainer", "users", "external PR author"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should command-line recipes also run in parallel?", "How is the number of concurrent jobs capped?", "How should interleaved output be labelled?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 1874, "comments": 64, "reactionsTotal": 326, "decidedOffPlatform": false, "notableMoves": ["maintainer reframed the request as selective vs universal parallelism", "community draft PR #1562 sat without maintainer review", "maintainer later shipped his own narrower PR #2803", "concurrency cap and CLI flag split off as follow-ups"]}, "outcome": {"decided": true, "decision": "Add a `[parallel]` recipe attribute that runs that recipe's dependencies concurrently; running command-line recipes in parallel and a job limit are left for later.", "how": "maintainer-decision", "rationale": null, "dissent": "A user noted that justfiles using the new attribute fail on older just versions, which limits adoption.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/casey/just/pull/2803"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete mechanisms (attribute, flag, setting, syntax) weighed against compatibility and ergonomics.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "settle", "build-pr"], "gaps": ["staged acceptance: the attribute shipped while the CLI flag and job cap were explicitly deferred to new issues", "competing implementations: a community draft PR implementing both options went unreviewed while the maintainer later shipped a different, narrower PR", "votes as evidence: 83 reactions on the opener and many +1 use cases signalled demand without a structured tally", "long dormancy: five years between framing and decision, with the maintainer's capacity as the real blocker"]}, "evalUse": "Tests whether a model can recover the selective-vs-universal framing from a long thread of use cases and workarounds and predict the narrower attribute-first outcome.", "notes": "Named maintainer: casey. No explicit rationale is given for choosing the attribute over the flag at merge time; the maintainer's 2020 concern about breaking implicit ordering is the closest stated reason.", "caseId": "just-parallel-dependencies", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "crystal-io-first", "sources": [{"url": "https://github.com/crystal-lang/crystal/issues/5916", "kind": "issue", "retrievedAt": "2026-10-18T07:28:49.050097+00:00"}], "repo": "crystal-lang/crystal", "domain": "api-design", "title": "io argument position convention", "question": "Where should the io argument go in stdlib methods that have both a String-returning and an IO-writing overload?", "questionExplicit": true, "context": "Crystal stdlib pairs to_s-style methods with IO-writing overloads, but placed io first, last or in the middle inconsistently. Standardising is a breaking change across many methods.", "options": [{"label": "io always first", "proposedBy": "opener (straight-shoota)", "fate": "chosen"}, {"label": "io always last, rare options keyword-only", "proposedBy": "collaborator (ysbaddaden)", "fate": "rejected"}, {"label": "io as a named argument", "proposedBy": "maintainer (bcardiff), later the creator", "fate": "rejected"}, {"label": "Keep per-method status quo", "proposedBy": "maintainer (jhass)", "fate": "rejected"}, {"label": "Exempt source-to-sink class methods like Base64.encode", "proposedBy": "opener", "fate": "chosen"}], "criteria": ["consistency and predictability", "number of overloads with optional positional args", "splat compatibility", "readability at call sites", "breaking-change cost", "interpolation optimisation potential"], "participants": {"count": 8, "roles": ["maintainers", "language creator", "collaborator", "contributor"], "decider": "consensus"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should Base64-style class methods with a source argument follow the same rule?", "Should rarely used options be keyword-only?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 770, "comments": 43, "reactionsTotal": 43, "decidedOffPlatform": false, "notableMoves": ["Creator flipped from calling it bikeshedding to endorsing it after the join overload example", "Two-year dormancy then a proposed close revived the debate", "First PR #5925 closed unmerged; a second PR #9134 landed"]}, "outcome": {"decided": true, "decision": "Standardise on io as the first argument for instance methods with String/IO overload pairs; methods that take both a source and a sink keep source before sink.", "how": "consensus", "rationale": "io first needs fewer overloads when optional positional arguments exist and works with splats, while a sink-follows-source reading keeps call sites coherent.", "dissent": "A collaborator held that io last with keyword options gives a better API and that join and encode read wrongly with io first.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/crystal-lang/crystal/pull/9134"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A small set of convention options weighed against explicit criteria like overload count and readability.", "secondaryShape": null, "fitsFlows": ["work-in-place", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["votes or reaction counts as evidence: participants cite thumbs-up totals on the opening post as support", "staged acceptance: an early approval and PR stalled for two years before a second PR landed", "unresolved dissent at settlement: the issue closed on merge while a collaborator's objection stood unanswered"]}, "evalUse": "Classic API-convention debate with a mind change, a dormant period and a recorded dissent.", "notes": "PR #5925 was closed without merging in Feb 2020; PR #9134 merged 2020-05-13, closing the issue. The breaking-change label and the creator's wish to finish before 1.0 support stated-hard reversibility.", "caseId": "crystal-io-argument-position", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "delta-light-dark-detection", "sources": [{"url": "https://github.com/dandavison/delta/issues/447", "kind": "issue", "retrievedAt": "2026-10-18T07:35:10.590404+00:00"}], "repo": "dandavison/delta", "domain": "product-behaviour", "title": "Who detects light or dark mode for delta", "question": "Should delta detect the terminal's light or dark background itself, or leave detection to users who pass the mode in through configuration?", "questionExplicit": true, "context": "delta assumes a dark background unless told otherwise. Users who switch system or terminal themes wanted delta to follow along without editing config.", "options": [{"label": "User-side detection feeding a DELTA_FEATURES variable", "proposedBy": "dandavison", "fate": "partly"}, {"label": "Built-in detection via the termbg library", "proposedBy": "ulwlu", "fate": "rejected"}, {"label": "Configurable external command to report the mode", "proposedBy": "sscherfke", "fate": "rejected"}, {"label": "Adaptive ansi syntax theme like bat", "proposedBy": "skyfaller", "fate": "partly"}, {"label": "Palette-only ANSI colours so the terminal adapts", "proposedBy": "chtenb", "fate": "partly"}, {"label": "Read the COLORFGBG variable", "proposedBy": "aykevl", "fate": "rejected"}, {"label": "Built-in terminal background query with a detect-dark-light option", "proposedBy": "bash", "fate": "chosen"}], "criteria": ["works in tmux and editor terminals", "responds to live theme changes", "coexists with stdin input and the less pager", "covers background colours, not just syntax", "little setup for users"], "participants": {"count": 17, "roles": ["maintainer", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should light and dark feature names be fixed or user-chosen?", "Can delta query the terminal while reading stdin?"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 1187, "comments": 44, "reactionsTotal": 152, "decidedOffPlatform": false, "notableMoves": ["maintainer shifted from user-side detection to built-in detection within a day", "termbg tried and found blocked by stdin", "a race with less identified as the real obstacle", "issue closed by mistake and reopened", "solution arrived years later through a separate PR"]}, "outcome": {"decided": true, "decision": "delta gained built-in light or dark detection, released in 0.17.0, contributed through a separate PR.", "how": "maintainer-decision", "rationale": "The maintainer judged terminal colour detection important enough for delta to own, once a working approach existed.", "dissent": null, "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/dandavison/delta/pull/1615"]}, "chopinFit": {"shape": "check", "shapeWhy": "The core question became whether detection was technically feasible, settled by spikes rather than preference.", "secondaryShape": "choice", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["community workarounds as interim answers: many user snippets served as de facto solutions for years without being recorded as partial outcomes", "long dormancy: the question sat for three years between feasibility findings and the fix", "implementation elsewhere: the deciding work happened in a separate PR thread", "residual limits after settling: tmux and lazygit cases stayed unsolved after closing"]}, "evalUse": "Tests tracking a feasibility-driven decision whose options were eliminated by spikes over years.", "notes": "Named maintainer: dandavison. PR 1615 was not fetched; its author is only identified by handle bash in the thread.", "caseId": "delta-auto-light-dark-detection", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "deno-config-permissions", "sources": [{"url": "https://github.com/denoland/deno/issues/12763", "kind": "issue", "retrievedAt": "2026-10-18T07:28:14.989356+00:00"}, {"url": "https://github.com/denoland/deno/pull/30330", "kind": "pr", "retrievedAt": "2026-10-18T07:48:04.851384+00:00"}], "repo": "denoland/deno", "domain": "security", "title": "Config-file permissions and their activation", "question": "Should Deno let projects declare runtime permissions in deno.json, and in what shape and with what opt-in so a tampered config cannot silently escalate?", "questionExplicit": true, "context": "Permissions could only be passed as CLI flags or baked into task strings. Users wanted reusable declarations; the core team worried that auto-discovered config permissions let malicious code grant itself more access.", "options": [{"label": "Single top-level `permissions` section applied automatically", "proposedBy": "opener (kitsonk)", "fate": "rejected"}, {"label": "Per-permission keys with object form for allow/block lists", "proposedBy": "maintainer (crowlKats)", "fate": "partly"}, {"label": "Reuse the test/worker permission object shape", "proposedBy": "maintainer (bartlomieju)", "fate": "chosen"}, {"label": "Permissions only on task definitions", "proposedBy": "contributor (oscarotero)", "fate": "rejected"}, {"label": "Separate permissions script file outside the project", "proposedBy": "contributor (sigmaSd)", "fate": "rejected"}, {"label": "Named permission profiles selected by flag, opt-in via -P", "proposedBy": "users (brianpeiris, DerZade)", "fate": "chosen"}, {"label": "Support remote config files", "proposedBy": "opener", "fate": "deferred"}], "criteria": ["security against config tampering", "explicit granting", "parity with CLI flags", "multiple entry points", "ergonomics vs tasks", "standard `deno test` experience"], "participants": {"count": 25, "roles": ["maintainers", "core contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Remote config support", "Relative path base", "Per-subcommand permissions for test/bench/compile"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1388, "comments": 50, "reactionsTotal": 219, "decidedOffPlatform": true, "notableMoves": ["Early PR #12767 and WIP PR #14520 both closed; the latter for lack of core-team consensus", "Creator added it to a milestone, then it stalled for three years", "Security concern reframed the feature from automatic to explicit opt-in", "Final design arrived in a PR without prior discussion in the thread"]}, "outcome": {"decided": true, "decision": "Add named permission sets (plus a `default` set) in deno.json, applied only when the user passes `-P`, with optional permissions for test, bench and compile that require the flag.", "how": "maintainer-decision", "rationale": "Requiring an explicit opt-in keeps the threat model close to tasks, since a script could otherwise edit the config to raise its own permissions.", "dissent": "Some users wanted `deno test` to apply config permissions with no extra flag.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/denoland/deno/pull/30330"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "An explore-shaped security framing question that later resolved into a choice among config shapes and activation modes.", "secondaryShape": "choice", "fitsFlows": ["find", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["off-platform decision: the core team's lack of consensus and later direction were reached internally and only reported in passing", "decider not in thread: the team that blocked #14520 never stated its threat model in the issue despite a user asking", "reversal after shipping: two implementation PRs were opened and abandoned before the final design, with the reason recorded only on a closed PR", "duplicates merged: several parallel proposals (#17177, #26372, a discussion) were folded in as links rather than compared"]}, "evalUse": "Multi-year security-sensitive design where the deciding shape appears only in the closing PR.", "notes": "dsherret is labelled CONTRIBUTOR but acts as a core maintainer. Remote config support was deferred in 2022 and does not appear in the final design.", "caseId": "deno-permissions-in-config", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "deno-rust-type-checker", "sources": [{"url": "https://github.com/denoland/deno/issues/5432", "kind": "issue", "retrievedAt": "2026-10-18T07:28:06.778259+00:00"}], "repo": "denoland/deno", "domain": "architecture", "title": "Rust TypeScript compiler versus incremental offloading from tsc", "question": "Should Deno rewrite TypeScript type checking in Rust to close the TS startup gap, or keep tsc for checking and move everything else into Rust?", "questionExplicit": true, "context": "The Deno 1.0 announcement mentioned a TypeScript compiler in Rust, and TS startup cost roughly ten times JS. A core collaborator laid out a staged plan in which a Rust type checker is the last and least likely step.", "options": [{"label": "Port the type checker to Rust", "proposedBy": "Deno v1 announcement / users", "fate": "rejected"}, {"label": "Move dependency analysis and emit to Rust (swc), keep tsc only for checking", "proposedBy": "kitsonk", "fate": "chosen"}, {"label": "No-check type stripping mode, later default", "proposedBy": "kitsonk", "fate": "chosen"}, {"label": "Feed tsc a pre-parsed AST converted from swc", "proposedBy": "kitsonk", "fate": "deferred"}, {"label": "Compile tsc to WebAssembly via AssemblyScript", "proposedBy": "HKhademian", "fate": "rejected"}, {"label": "Adopt esbuild or Sucrase for stripping", "proposedBy": "znck / elektronik2k5", "fate": "rejected"}, {"label": "Pluggable user-chosen transpiler", "proposedBy": "apiel", "fate": "rejected"}], "criteria": ["startup and check performance", "parity with upstream TypeScript", "maintenance burden", "ecosystem compatibility", "embeddability in Rust"], "participants": {"count": 29, "roles": ["maintainers", "core collaborator", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "benchmarks", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should no-check become the default?", "Should isolatedModules be enforced?", "Should emit leave tsc entirely?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1488, "comments": 59, "reactionsTotal": 1396, "decidedOffPlatform": false, "notableMoves": ["opener published an ordered plan with checkboxes", "progress updates with benchmarks replaced debate", "isolatedModules made default as a breaking change", "closed years later as too hard, with a retrospective of what solved the problem instead"]}, "outcome": {"decided": true, "decision": "Deno will not build a Rust type checker; it keeps tsc for type checking while dependency analysis and emit moved to Rust and type checking became opt-in and cached.", "how": "maintainer-decision", "rationale": "A separate implementation would need a large full-time team, and the incremental changes removed type checking as the bottleneck; aligning with official TypeScript is preferred.", "dissent": "Some users wanted a stricter or faster independent checker and saw Rust as a big speed win.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing architectural routes to faster TypeScript startup, weighed on speed, parity and cost.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "settle", "revisit-reopen"], "gaps": ["coupled decisions: the umbrella question bundled several staged sub-decisions (no-check default, isolatedModules, emit via swc) each settled in other issues", "progress tracking: a checklist plan with benchmark updates over months, which a single settle event does not capture", "superseded by ecosystem: external events (swc checker going proprietary, stc, ezno, tsc ported to Go) changed the option landscape mid-thread", "decider not in thread: the creator closed it in one line years later after most discussion had moved elsewhere"]}, "evalUse": "Tests whether a model distinguishes the headline proposal from the incremental path actually taken, and predicts a 'won't do' close grounded in other shipped work.", "notes": "Named maintainer: ry closed it; dsherret supplied the rationale. kitsonk is labelled CONTRIBUTOR but acts as the core architect of the plan. Implementation PRs are referenced only by issue numbers in the thread, so implementedIn is left empty.", "caseId": "deno-typescript-checker-in-rust", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "deno-deny-flags-strict-check", "sources": [{"url": "https://github.com/denoland/deno/pull/19070", "kind": "pr", "retrievedAt": "2026-10-18T07:26:37.376617+00:00"}], "repo": "denoland/deno", "domain": "security", "title": "Strictness of permission checks under deny flags", "question": "Once --deny flags can carve out parts of a granted scope, should permission checks pass on a partial grant by default, or require a full grant?", "questionExplicit": false, "context": "The PR lets users combine allow and deny flags, so a scope can be only partly granted. Recursive operations such as directory reads, watches, renames and links could bypass a denied subpath if they only checked the parent.", "options": [{"label": "Add opt-in non-partial checks to recursive APIs", "proposedBy": "nayeemrmn", "fate": "rejected"}, {"label": "Make the default check strict and rename the lenient one check_partial", "proposedBy": "iuioiua", "fate": "chosen"}, {"label": "Report partial grants as granted with a partial flag", "proposedBy": "nayeemrmn", "fate": "chosen"}, {"label": "Add --deny-all as an alias of --no-prompt", "proposedBy": "iuioiua", "fate": "rejected"}], "criteria": ["no bypass of denied paths", "safe default against regressions", "API compatibility of permission status", "minimal new global flags"], "participants": {"count": 5, "roles": ["maintainers", "contributors"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["How should partial grants appear in the status API?", "Should revoke recurse upward or downward?", "Is --deny-all needed?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 85, "comments": 74, "reactionsTotal": 21, "decidedOffPlatform": true, "notableMoves": ["a reviewer co-implements the core design in commits", "the strictness default is flipped after an offline conversation", "--deny-all dropped after semantics differ from --no-prompt", "a reviewer defers final approval to the lead maintainer"]}, "outcome": {"decided": true, "decision": "The default permission check requires a full grant, with a separate check_partial for callers that accept partial grants; partial status is a granted state with a partial flag; --deny-all was not added.", "how": "consensus", "rationale": "A strict default means any recursive API overlooked in the audit fails safe instead of ignoring a deny flag.", "dissent": null, "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/denoland/deno/pull/19070"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Reviewers weigh opt-in versus default strictness and status representations against safety and compatibility.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "settle", "build-pr"], "gaps": ["off-platform decision: the switch to a strict default was agreed in an offline talk and only reported in the PR", "coupled decisions decided together: strictness, status shape, revoke semantics and a deny-all flag were settled inside one long review", "decider not in thread: a reviewer approved but waited on the lead maintainer, who appeared only at review checkpoints"]}, "evalUse": "Tests whether a model can extract design sub-decisions buried in code review of a feature PR.", "notes": "Lead maintainer bartlomieju merged; nayeemrmn, labelled contributor, acts as the design reviewer.", "caseId": "deno-deny-flags-strict-check", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "deno-jupyter-display-hook", "sources": [{"url": "https://github.com/denoland/deno/pull/20337", "kind": "pr", "retrievedAt": "2026-10-18T07:26:44.582099+00:00"}], "repo": "denoland/deno", "domain": "api-design", "title": "How notebook objects render rich output", "question": "How should the first Deno Jupyter kernel let code and libraries produce rich outputs such as HTML or images?", "questionExplicit": true, "context": "A maintainer revived a community Jupyter kernel PR and cut its Deno.jupyter display API as too risky for a first pass. A Jupyter maintainer pushed for a way for libraries to supply rich representations without depending on Deno.", "options": [{"label": "Deno.jupyter JavaScript API with display helpers", "proposedBy": "original PR author", "fate": "deferred"}, {"label": "Reuse Deno.inspect custom formatting", "proposedBy": "bartlomieju", "fate": "rejected"}, {"label": "Raw media-bundle display plus a library hook, as in IPython", "proposedBy": "rgbkrk", "fate": "merged"}, {"label": "Well-known Symbol.for(\"Jupyter.display\") returning a media bundle", "proposedBy": "bartlomieju", "fate": "chosen"}], "criteria": ["libraries should not need to depend on Deno", "minimal new runtime API surface", "parity with IPython conventions", "support for images and other media types"], "participants": {"count": 8, "roles": ["maintainers", "contributors", "external experts", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should the kernel run with all permissions by default?", "Should installation shell out to jupyter kernelspec?", "How should the subcommand and install flag be shaped?", "How should stdout be attributed to cells?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 16, "comments": 75, "reactionsTotal": 69, "decidedOffPlatform": true, "notableMoves": ["display API cut from the first pass before review", "design talked through on Discord and reported back", "prototype posted for the reviewer to try in notebooks", "reviewer tested the hook against an npm library and found limits", "landing target set by a team agreement for 1.37"]}, "outcome": {"decided": true, "decision": "Ship the kernel without a Deno.jupyter namespace and let any object provide rich output through a Symbol.for(\"Jupyter.display\") method returning a media-type bundle.", "how": "maintainer-decision", "rationale": "A well-known symbol lets libraries add notebook representations without importing Deno, while keeping new runtime APIs out of the first release.", "dissent": "The reviewer found the hook did not apply through a library's read-only prototype, and another reviewer wanted buffer support for images.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/denoland/deno/pull/20337"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A few concrete display mechanisms were weighed against a clear criterion about library dependencies.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["off-platform decision: the display plan was worked out on Discord and only its outcome reached the PR", "staged acceptance: the Deno.jupyter API was set aside for a first pass with richer display left to later issues", "coupled decisions: permissions defaults, install mechanism and subcommand shape were settled in the same checklist without separate records", "external expert input: a Jupyter maintainer from outside the project steered the design, a role the design does not distinguish"]}, "evalUse": "Tests recognising a design choice settled off-platform and confirmed through a prototype inside a large feature PR.", "notes": "Decider: bartlomieju. Permission defaults and subcommand outcome are not stated in the thread beyond a ticked checklist item.", "caseId": "deno-jupyter-rich-display", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "aspnetcore-mvc-in-shared-framework", "sources": [{"url": "https://github.com/dotnet/aspnetcore/issues/3755", "kind": "issue", "retrievedAt": "2026-10-18T07:35:31.975782+00:00"}], "repo": "dotnet/aspnetcore", "domain": "architecture", "title": "MVC in the ASP.NET Core shared framework", "question": "While trimming Microsoft.AspNetCore.App for 3.0, should MVC (and SignalR) also leave the shared framework, or should a minimal base framework be offered?", "questionExplicit": true, "context": "The team announced a list of assemblies leaving the shared framework in 3.0 under published inclusion criteria. Users of alternative frameworks asked for MVC to be removed too, for leaner deployments and a fairer ecosystem.", "options": [{"label": "Keep MVC and SignalR in Microsoft.AspNetCore.App", "proposedBy": "team", "fate": "chosen"}, {"label": "Ship MVC and SignalR as separate packages", "proposedBy": "dustinmoris", "fate": "rejected"}, {"label": "Official minimal base framework beneath the App framework", "proposedBy": "mythz", "fate": "deferred"}, {"label": "Community-built custom shared framework", "proposedBy": "davidfowl", "fate": "deferred"}, {"label": "Project flag disabling MVC tooling", "proposedBy": "mythz", "fate": "deferred"}, {"label": "Rely on trimming and the linker for small deployments", "proposedBy": "davidfowl", "fate": "partly"}], "criteria": ["useful by default", "deployment and container size", "startup via precompiled framework", "engineering and packaging overhead", "ecosystem fairness for alternative frameworks", "upgrade cost from 2.x"], "participants": {"count": 21, "roles": ["maintainers", "contributors", "users", "framework authors"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Which assemblies leave the framework (living list)?", "Should auth templates restore offline?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 10, "comments": 73, "reactionsTotal": 279, "decidedOffPlatform": false, "notableMoves": ["issue doubles as a living removal list updated by later PRs", "team cites private customer app inspections as evidence", "maintainer offers a lower base framework as compromise but never confirms it", "maintainer says GitHub voices are not representative of customers"]}, "outcome": {"decided": true, "decision": "MVC and SignalR stay in Microsoft.AspNetCore.App; other listed assemblies move to NuGet packages. A lower base framework was offered as a compromise but not committed.", "how": "maintainer-decision", "rationale": "MVC is central to the offering and used by almost every customer app the team inspected; splitting adds build and packaging overhead while costing non-users only disk space.", "dissent": "Alternative framework authors and users argued it bloats deployments and disadvantages other frameworks.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/dotnet/aspnetcore/pull/4004", "https://github.com/dotnet/aspnetcore/pull/6035", "https://github.com/dotnet/aspnetcore/pull/6552", "https://github.com/dotnet/aspnetcore/pull/6867"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Packaging options are weighed against size, startup, overhead and ecosystem criteria.", "secondaryShape": "explore", "fitsFlows": ["settle", "build-pr", "find"], "gaps": ["private evidence: the deciders cited customer app inspections and other feedback channels that the thread never saw", "dangling compromise: a base framework was offered as a middle path but nothing tracked whether it was accepted or built", "living decision list: the issue served as a running list of removals, each settled in a separate PR, rather than one decision"]}, "evalUse": "Tests whether a model separates the firm keep-MVC ruling from the floated compromise and the evolving removal list.", "notes": "natemcmaster is labelled contributor but acts as a team member. Removal PR merge states are not shown in the thread; they are listed as cross-referenced implementations.", "caseId": "aspnetcore-mvc-in-shared-framework", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "eslint-formatting-rule-deprecation", "sources": [{"url": "https://github.com/eslint/eslint/issues/17522", "kind": "issue", "retrievedAt": "2026-10-18T07:28:20.045468+00:00"}], "repo": "eslint/eslint", "domain": "process-governance", "title": "Which formatting rules to deprecate, and when", "question": "Should ESLint deprecate its formatting rules in favour of source formatters, and which rules does that cover?", "questionExplicit": true, "context": "Whitespace rules need constant exceptions for new syntax and have long-open bugs few want to fix. typescript-eslint carried extension copies of many of them.", "options": [{"label": "Deprecate whitespace-only rules", "proposedBy": "nzakas", "fate": "merged"}, {"label": "Deprecate every rule that can conflict with Prettier", "proposedBy": "bradzacher", "fate": "chosen"}, {"label": "Move rules to a community-maintained plugin", "proposedBy": "bradzacher", "fate": "chosen"}, {"label": "Keep error-preventing rules (no-unexpected-multiline, curly)", "proposedBy": "nzakas", "fate": "chosen"}, {"label": "Keep no-mixed-operators", "proposedBy": "mdjermanovic", "fate": "rejected"}, {"label": "Formatter cooperation API", "proposedBy": "Mlocik97", "fate": "rejected"}, {"label": "Deprecate in v9 as a breaking change", "proposedBy": "nzakas", "fate": "rejected"}, {"label": "Deprecate in a minor release before v9", "proposedBy": "nzakas", "fate": "chosen"}], "criteria": ["maintenance burden", "overlap with Prettier and dprint", "error prevention versus pure style", "continuity for users via a community plugin", "release timing"], "participants": {"count": 14, "roles": ["maintainers", "typescript-eslint maintainers", "community plugin maintainer", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Include non-whitespace rules like semi and quotes?", "Keep curly, no-unexpected-multiline and no-mixed-operators?", "Deprecate in v9 or an earlier minor?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 47, "comments": 49, "reactionsTotal": 158, "decidedOffPlatform": true, "notableMoves": ["accepted early with the rule list still open", "thread locked to stop scope debate, then unlocked", "scope widened after a Discord conversation with the fork maintainer", "community fork eslint-stylistic created in parallel to absorb the rules", "timing moved from v9 to a minor after a team discussion off-thread", "further rule additions pushed to new issues"]}, "outcome": {"decided": true, "decision": "Deprecate about seventy formatting rules (everything that can conflict with Prettier, minus error-preventing rules) in a minor release before v9, with eslint-stylistic maintaining them going forward.", "how": "consensus", "rationale": "Formatters handle these better, the rules are costly to maintain, and a community plugin preserves access for those who want them.", "dissent": "Some users preferred formatting with ESLint and planned to stay on older versions; Prettier lacks a check for needless template literals.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/eslint/eslint/pull/17696"]}, "chopinFit": {"shape": "choice", "shapeWhy": "The core work was settling a list of rules, each kept or deprecated against overlap and error-prevention criteria.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["off-platform decision: the scope widening came from a Discord conversation and the timing from an unrecorded team discussion", "per-item settlement: the answer was a list of about seventy rules each with its own keep-or-drop call", "staged acceptance: the accepted label went on before the rule list was settled", "external dependency: the decision waited on a separate community project being ready", "thread moderation: locking and unlocking to steer scope has no equivalent"]}, "evalUse": "Tests settling a multi-item scope list where an early acceptance is widened by off-platform talks.", "notes": "Decider is the ESLint team, led by nzakas and mdjermanovic.", "caseId": "eslint-deprecate-formatting-rules", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "eslint-native-ts-config-flag", "sources": [{"url": "https://github.com/eslint/eslint/issues/19985", "kind": "issue", "retrievedAt": "2026-10-18T07:28:27.741960+00:00"}], "repo": "eslint/eslint", "domain": "compatibility", "title": "Unflagging native TypeScript config loading", "question": "Should ESLint load TypeScript config files with Node's native type stripping without the unstable flag, and if so, how should that interact with jiti?", "questionExplicit": true, "context": "ESLint loads eslint.config.ts through jiti, or natively only with the unstable_native_nodejs_ts_config flag. Node later enabled type stripping by default, but it supports only erasable syntax and real import paths.", "options": [{"label": "Drop the flag on Node versions with type stripping", "proposedBy": "karlhorky", "fate": "rejected"}, {"label": "Keep the flag until native support matches jiti", "proposedBy": "nzakas", "fate": "chosen"}, {"label": "Use --experimental-transform-types for TypeScript-only syntax", "proposedBy": "karlhorky", "fate": "rejected"}, {"label": "Jiti first, then native loading, then error", "proposedBy": "darksabrefr", "fate": "deferred"}, {"label": "Native first, then jiti, then error", "proposedBy": "silverwind", "fate": "deferred"}], "criteria": ["no breakage for jiti users", "consistent behaviour across Node versions", "non-erasable syntax support", "module resolution without extensions", "zero-dependency TypeScript configs"], "participants": {"count": 10, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Which loader should be tried first in a fallback chain?", "Does Node removing transform-types change the rationale?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 1, "comments": 35, "reactionsTotal": 144, "decidedOffPlatform": false, "notableMoves": ["closed as not planned one day after opening", "community converges on a non-breaking fallback after closure", "premise of the rejection changes when Node drops transform-types and Node 20 nears end of life", "repeated reopen requests get no maintainer reply before the lock"]}, "outcome": {"decided": true, "decision": "Keep native TypeScript config loading behind the unstable flag; the issue was closed as not planned.", "how": "maintainer-decision", "rationale": "Native stripping is not a full replacement for jiti, and having one ESLint version behave differently by Node version would confuse users.", "dissent": "Many contributors argue the parity condition can never be met, and that a jiti-first or native-first fallback would avoid breakage; they repeatedly ask for a reopen.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several loading strategies are compared against compatibility and breakage criteria.", "secondaryShape": "check", "fitsFlows": ["settle", "revisit-reopen", "research-or-spike"], "gaps": ["stale rationale: the stated condition for revisiting depended on external Node behaviour that later changed, with nothing prompting the decider to re-check", "reopen request unanswered: contributors asked to revisit a closed decision many times but there was no path to put it back before the decider", "decided too fast: closure came within a day, before key stakeholders could weigh in"]}, "evalUse": "Tests whether a model separates the maintainer's closure from later community consensus that never got a ruling.", "notes": "Decider is nzakas. The thread was locked in April 2026 without a maintainer reply to the reopen requests.", "caseId": "eslint-native-ts-config-flag", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "eslint-adopt-codemod", "sources": [{"url": "https://github.com/eslint/eslint/issues/20442", "kind": "issue", "retrievedAt": "2026-10-18T07:28:24.652611+00:00"}], "repo": "eslint/eslint", "domain": "tooling", "title": "Adopt Codemod recipes in place of ESLint's own migrators", "question": "Are the donated Codemod recipes good enough to replace @eslint/config-migrator and eslint-transforms in ESLint's docs, and when should they be announced?", "questionExplicit": true, "context": "ESLint maintains two migration tools that get little attention. The OpenJS Foundation's partner Codemod donated recipes that can open PRs on repositories directly.", "options": [{"label": "Replace the existing migrators with Codemod recipes", "proposedBy": "nzakas", "fate": "chosen"}, {"label": "Document the codemod now with known issues", "proposedBy": "alexbit-codemod", "fate": "rejected"}, {"label": "Wait until the codemod matches config-migrator behaviour", "proposedBy": "nzakas", "fate": "chosen"}, {"label": "Public beta via an ESLint blog post", "proposedBy": "DMartens", "fate": "merged"}, {"label": "Guest blog post by Codemod announcing availability", "proposedBy": "ESLint TSC", "fate": "chosen"}, {"label": "Include v10 changes before announcing", "proposedBy": "DMartens", "fate": "deferred"}], "criteria": ["parity with existing migrator fixtures", "correctness on real-world configs and rules", "maintenance burden on the team", "announcement timing and relevance to users"], "participants": {"count": 8, "roles": ["maintainers", "contributors", "vendor engineers"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "implementation-pr", "poll": false, "escalation": "tsc", "subQuestions": ["Should v10 changes be in scope before announcing?", "What happens to @eslint/migrate-config?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 129, "comments": 46, "reactionsTotal": 37, "decidedOffPlatform": true, "notableMoves": ["maintainer delegated the readiness judgement to a contributor", "five rounds of evaluate-fix-verify between contributor and vendor", "vendor proposed shipping with known issues and was declined", "TSC meeting settled the announcement form", "deprecation of the old tools agreed in a private chat"]}, "outcome": {"decided": true, "decision": "The TSC invited Codemod to announce the v8-to-v9 recipes in a guest post on the ESLint blog, and the existing migration tools are to be deprecated in favour of the codemods.", "how": "maintainer-decision", "rationale": "After repeated evaluation rounds the recipes matched or exceeded the existing tools on fixtures and real-world files.", "dissent": "The maintainer expected little interest in a v8-to-v9 tool and preferred a v8-to-v10 announcement.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "check", "shapeWhy": "The question was a readiness claim verified through repeated evaluation against fixtures.", "secondaryShape": "choice", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["off-platform decision: the outcome was settled in a TSC meeting and a private chat, then reported here", "delegated decider: the maintainer handed the readiness verdict to a contributor, then the TSC made the final call", "repeated checks: the same readiness claim was re-verified across five fix rounds, each with its own bug list", "staged acceptance: deprecation of the old tools was agreed but not yet carried out"]}, "evalUse": "Tests modelling an iterative readiness check that ends in a committee decision made elsewhere.", "notes": "Fixes landed in the separate eslint/codemods repo; no implementing PR URL is given in this thread. Decider team is the ESLint TSC; nzakas reported the outcome.", "caseId": "eslint-codemod-replace-migrators", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-chart-type-selection", "sources": [{"url": "https://github.com/excalidraw/excalidraw/discussions/2533", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:16.073854+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Chart type selection on paste", "question": "Should Excalidraw add more chart types from pasted spreadsheet data, and if so how should the user pick the type without overcomplicating the app?", "questionExplicit": true, "context": "Pasting tabular data already produced a bar chart built from ordinary elements. The thread weighed adding line and pie charts and where the type choice should live.", "options": [{"label": "Store the raw data on the chart so its type can be switched later", "proposedBy": "opener", "fate": "rejected"}, {"label": "Ask for the chart type before inserting (dialog)", "proposedBy": "opener; backed by contributor petehunt", "fate": "chosen"}, {"label": "'Paste special' context-menu submenu per chart type", "proposedBy": "maintainer (dwelle)", "fate": "rejected"}, {"label": "Fading post-paste notice to swap the just-pasted chart", "proposedBy": "maintainer (lipis)", "fate": "rejected"}, {"label": "Pie/donut charts", "proposedBy": "opener; contributor petehunt", "fate": "deferred"}], "criteria": ["implementation and UI complexity", "elements stay freely editable after insert", "clipboard permission and browser support", "discoverability"], "participants": {"count": 7, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Which extra chart types are worth it (line, pie, donut)?", "Should chart metadata be stored at all?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 14, "comments": 13, "reactionsTotal": 15, "decidedOffPlatform": false, "notableMoves": ["Experimental 'paste twice fast' PR #2658 tried and closed in favour of a selection dialog", "Release announced as the discussion answer"]}, "outcome": {"decided": true, "decision": "Ship a line chart alongside bar charts, chosen through a preview selection at paste time, without storing chart metadata.", "how": "maintainer-decision", "rationale": "Stored metadata would go stale after manual edits and add complexity; choosing at paste time keeps the elements plain and editable.", "dissent": "One user preferred storing raw data so charts could be switched later.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/2670"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete UI mechanisms for one choice, weighed on complexity, editability and permissions.", "secondaryShape": "tune", "fitsFlows": ["ask-teammate", "research-or-spike", "settle", "build-pr"], "gaps": ["off-platform decision: the switch from the fast-paste experiment to a preview dialog was made in linked PRs, and the thread only reports the release", "coupled decisions: which chart types to add and how to select them were settled together", "staged acceptance: pie and donut charts were left for later as a 'foundation for more'"]}, "evalUse": "Small UI-mechanism choice where the decisive prototype and pivot live in PRs outside the thread.", "notes": "PR #2670 is inferred as the shipping PR from cross-references on #2658 and the 'preview selection' remark; it was not fetched. #2658 (fast double-paste toggle) was closed unmerged.", "caseId": "excalidraw-paste-chart-type-choice", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-wheel-zoom", "sources": [{"url": "https://github.com/excalidraw/excalidraw/discussions/5515", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:15.285799+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Plain scroll wheel: zoom or scroll the canvas?", "question": "Should Excalidraw let the plain mouse wheel zoom (and right-drag pan), as a default or a mouse-mode setting, instead of requiring a modifier key?", "questionExplicit": true, "context": "Excalidraw scrolls the canvas with the wheel and zooms with Ctrl or Cmd plus wheel, matching trackpad habits. Mouse users ask for map-style navigation.", "options": [{"label": "Keep current wheel-scroll, modifier-zoom behaviour", "proposedBy": "users (Alchete, juhasuni)", "fate": "deferred"}, {"label": "Make plain wheel zoom the default", "proposedBy": "opener", "fate": "deferred"}, {"label": "Add a mouse-mode or toggle setting", "proposedBy": "opener and several users", "fate": "deferred"}, {"label": "Right-drag to pan, click for menu", "proposedBy": "opener, papucho", "fate": "deferred"}, {"label": "Userland script or extension", "proposedBy": "sricks", "fate": "deferred"}], "criteria": ["conventions in comparable apps", "trackpad versus mouse users", "one-handed navigation", "preserving the right-click menu"], "participants": {"count": 11, "roles": ["users"], "decider": "unclear"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should right-drag pan the canvas?", "Should middle-click paste be blocked on Linux?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1527, "comments": 11, "reactionsTotal": 81, "decidedOffPlatform": false, "notableMoves": ["Competing appeals to what Figma, Miro and tldraw do", "A user shipped a userscript as a workaround", "An embedding (the Obsidian plugin) already offers the setting"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": null, "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "tune", "shapeWhy": "The core of it is an input-behaviour setting best judged by trying modes live.", "secondaryShape": "check", "fitsFlows": ["find", "ask-teammate"], "gaps": ["decider not in thread: no maintainer ever responds, so there is no one to settle it", "votes as evidence: support is expressed mostly through upvotes and bumps", "experiments as evidence: a community userscript and a downstream plugin setting act as working prototypes outside the project", "check claims about other apps: participants contradict each other on how Figma and Miro behave, which a check could verify"]}, "evalUse": "Tests handling an undecided UI request with no maintainer, conflicting claims about precedent, and community workarounds.", "notes": "Undecided; the discussion remains open and unanswered. durationDays runs to the last event.", "caseId": "excalidraw-wheel-zoom-mode", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-new-drawing-button", "sources": [{"url": "https://github.com/excalidraw/excalidraw/issues/1957", "kind": "issue", "retrievedAt": "2026-10-18T07:02:48.939729+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "New drawing button versus clear canvas", "question": "Should Excalidraw add a separate New drawing action, or keep the trash-icon clear canvas as the way to start fresh?", "questionExplicit": false, "context": "The open-source editor holds one scene at a time, so starting fresh means erasing the current scene. Users repeatedly fail to find that this lives behind a trash icon labelled reset.", "options": [{"label": "Keep the clear canvas button only", "proposedBy": "lipis", "fate": "chosen"}, {"label": "Add a Ctrl/Cmd+N shortcut", "proposedBy": "cor-rine", "fate": "rejected"}, {"label": "Swap the trash icon for a 'new' icon", "proposedBy": "ReneCode", "fate": "deferred"}, {"label": "Rename the reset action", "proposedBy": "ad1992", "fate": "deferred"}, {"label": "Dedicated New button with save-or-discard prompt", "proposedBy": "users", "fate": "rejected"}], "criteria": ["discoverability", "risk of accidental data loss", "honesty about single-scene model", "browser shortcut conflicts", "avoiding duplicate controls"], "participants": {"count": 28, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should the action be renamed?", "Wait for multi-scene support (#1543)?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 27, "comments": 39, "reactionsTotal": 252, "decidedOffPlatform": false, "notableMoves": ["closed after a month pending a related multi-scene issue", "users kept arguing on the closed issue for six years", "a maintainer floated renaming in 2023 without follow-through"]}, "outcome": {"decided": true, "decision": "Maintainers declined to add a second button for the same action and closed the issue, leaving clear canvas as the route to a fresh drawing.", "how": "maintainer-decision", "rationale": "A duplicate control adds nothing, a 'new' label would falsely imply the old scene is kept, and undo can recover a mistaken clear.", "dissent": "Dozens of later users say the model is undiscoverable and risky, and ask for a conventional New action.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A few concrete UI options (keep, rename, new button, shortcut) weighed against clear criteria.", "secondaryShape": "check", "fitsFlows": ["find", "ask-teammate", "settle", "revisit-reopen"], "gaps": ["contested settled decision: users kept challenging a closed decision for years with no formal reopen path", "votes as evidence: repeated 'same in 2025' replies and reactions accumulate without being counted", "coupled decisions: the answer depended on a separate multi-scene issue that was never resolved here", "user research as evidence: real data-loss reports were the main evidence but have no structured place"]}, "evalUse": "Tests whether a model recognises a closed decision under sustained pushback and summarises both the rationale and the dissent.", "notes": "Decider: maintainer lipis closed it; dwelle and ad1992 also spoke for the team.", "caseId": "excalidraw-new-drawing-button", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-handwritten-font", "sources": [{"url": "https://github.com/excalidraw/excalidraw/issues/2945", "kind": "issue", "retrievedAt": "2026-10-18T07:02:46.312371+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Which handwritten font Excalidraw should use", "question": "Should Excalidraw adopt a new, more legible handwritten font alongside or instead of Virgil, and if so which one?", "questionExplicit": true, "context": "Users had repeatedly said the default Virgil font was hard to read. The team opened a time-boxed public hunt for a handwritten font meeting script-coverage and licensing criteria, with a live preview site for candidates.", "options": [{"label": "BLOKLETTERS", "proposedBy": "dwelle (maintainer)", "fate": "rejected"}, {"label": "GelPen", "proposedBy": "dwelle (maintainer)", "fate": "rejected"}, {"label": "Architects Daughter", "proposedBy": "aqandrew (contributor)", "fate": "rejected"}, {"label": "Fewriter", "proposedBy": "iamdyani (user)", "fate": "rejected"}, {"label": "Other candidates (Swagger, Xarrovv, Comic Relief, Caveat, Recursive, Verveine)", "proposedBy": "various", "fate": "rejected"}, {"label": "Commission a custom font with randomised glyphs", "proposedBy": "eddyg (user)", "fate": "deferred"}, {"label": "Phase Virgil out for new drawings", "proposedBy": "rkz (user)", "fate": "rejected"}, {"label": "Keep Virgil and improve its readability", "proposedBy": "wietsevenema (user)", "fate": "chosen"}], "criteria": ["handwritten look", "legibility at small sizes and over hachure fills", "non-Latin script coverage", "license permits hosting, redistribution and commercial use", "fit with Excalidraw's sketchy shapes"], "participants": {"count": 28, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["How would two fonts coexist?", "Is a candidate's license usable?", "Fallback fonts for CJK and other scripts"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 21, "comments": 42, "reactionsTotal": 87, "decidedOffPlatform": true, "notableMoves": ["a preview site and test PR let people try fonts on real diagrams", "license checks eliminated several popular candidates", "a user asked for the underlying readability complaints before choosing", "the custom-font idea was split into a separate discussion", "the team contacted Virgil's creator, who agreed to open-source it"]}, "outcome": {"decided": true, "decision": "Keep Virgil as the font, open-source it under OFL in its own repository, and improve its readability there; other fonts may be offered later.", "how": "maintainer-decision", "rationale": "Many commenters asked not to abandon Virgil and suggested fixing it; no candidate cleanly met legibility, style and licensing together.", "dissent": "Several users preferred switching to Fewriter, GelPen or Architects Daughter.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A set of candidate fonts compared against explicit criteria such as script coverage and license.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle"], "gaps": ["votes as evidence: dozens of users cast informal per-font votes in comments with no tally", "off-platform decision: the outcome hinged on private contact with Virgil's creator, reported only in the closing comment", "reframed question: the final answer (improve the incumbent) was not one of the options in the original framing", "visual evidence: options were judged from rendered samples and a live preview site rather than text"]}, "evalUse": "Tests whether a model notices a choice question being reframed to keep the status quo after criteria such as licensing knock out candidates.", "notes": "Opener vjeux is labelled CONTRIBUTOR but is an Excalidraw creator; lipis and dwelle are maintainers. No implementing PR in this repo; Virgil moved to excalidraw/virgil.", "caseId": "excalidraw-handwritten-font-search", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-zen-mode-entry-exit", "sources": [{"url": "https://github.com/excalidraw/excalidraw/pull/1450", "kind": "pr", "retrievedAt": "2026-10-18T07:21:25.214665+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Zen mode entry, exit and hidden UI", "question": "How should users enter and leave Zen mode, and which UI should it hide, given the mode persists across reloads?", "questionExplicit": false, "context": "A PR added a distraction-free mode stored in local storage. Reviewers worried users could get stuck if they forgot the shortcut, and debated which controls to hide and how.", "options": [{"label": "Shortcut-only toggle", "proposedBy": "author (ad1992)", "fate": "partly"}, {"label": "Dialog on reload offering to leave Zen mode", "proposedBy": "author (ad1992)", "fate": "rejected"}, {"label": "Brief fading hint after load", "proposedBy": "maintainer (dwelle)", "fate": "rejected"}, {"label": "Small visible exit button", "proposedBy": "creator (vjeux)", "fate": "chosen"}, {"label": "Visible button to enter Zen mode", "proposedBy": "author (ad1992)", "fate": "rejected"}, {"label": "Keep only the shortcuts help icon as the way out", "proposedBy": "maintainer (lipis)", "fate": "rejected"}, {"label": "Hide the shape lock in Zen mode", "proposedBy": "author (ad1992)", "fate": "chosen"}], "criteria": ["users never get stuck", "calm, distraction-free feel", "minimal new buttons", "smooth animated transitions", "keyboard layout quirks"], "participants": {"count": 6, "roles": ["maintainers", "creator", "contributors"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Shortcut key choice (K, Z, Alt+Z)", "Hide or keep the shape lock", "Remove elements vs animate them off-screen", "State naming"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 7, "comments": 62, "reactionsTotal": 19, "decidedOffPlatform": false, "notableMoves": ["Reload dialog built, then dropped after the creator objected", "Maintainer admitted miscommunicating what kind of 'dialog' he meant", "Enter button removed in favour of keeping the UI lean"]}, "outcome": {"decided": true, "decision": "Ship Zen mode toggled by Alt+Z with animated hiding of UI and the lock, plus a small exit button at bottom right, with no enter button or reload dialog.", "how": "maintainer-decision", "rationale": "A visible exit prevents users getting stuck without breaking the calm a blocking dialog would; new buttons are added sparingly to keep the app simple.", "dissent": "The creator and a contributor would have kept the lock visible; another maintainer thought the help icon was enough to exit.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/1450"]}, "chopinFit": {"shape": "tune", "shapeWhy": "Reviewers compared live preview builds of animation and visibility variants and tuned the result.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["coupled decisions: shortcut key, lock visibility, animation style and exit affordance were settled together in one review", "decider not in thread: the team had no written design philosophy, so the author built a dialog that reviewers then rejected", "experiments as evidence: preview deployments of competing variants were the evidence, but comparison happened outside the thread"]}, "evalUse": "PR review where the exit-affordance approach changed twice before merge.", "notes": "Decider is maintainer dwelle, who merged. vjeux is labelled CONTRIBUTOR but is the project's creator.", "caseId": "excalidraw-zen-mode-exit", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-binding-default", "sources": [{"url": "https://github.com/excalidraw/excalidraw/pull/1899", "kind": "pr", "retrievedAt": "2026-10-18T07:21:08.980203+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Should linear elements bind to shapes by default", "question": "Should arrows and lines bind to nearby shapes automatically, and how should users opt out or in?", "questionExplicit": true, "context": "Binding makes diagrams easier to rearrange but couples elements while sketching. The project creator wanted binding on by default; two maintainers worried it would erode the free drawing feel.", "options": [{"label": "Bind all linear elements by default", "proposedBy": "vjeux", "fate": "rejected"}, {"label": "Bind arrows only by default", "proposedBy": "dai-shi", "fate": "chosen"}, {"label": "Modifier key to enable binding", "proposedBy": "dwelle", "fate": "rejected"}, {"label": "Modifier key to disable binding", "proposedBy": "vjeux", "fate": "chosen"}, {"label": "Toggle mode like grid mode", "proposedBy": "HerbCaudill", "fate": "deferred"}, {"label": "Toolbar toggle such as a magnet button", "proposedBy": "xixixao", "fate": "deferred"}, {"label": "Submenu or separate tools for bound and unbound arrows", "proposedBy": "dai-shi", "fate": "deferred"}], "criteria": ["hand-drawn feel and freedom to sketch", "diagramming convenience", "discoverability", "mobile support", "frustration of unwanted binding", "hard to change after shipping"], "participants": {"count": 7, "roles": ["maintainers", "contributors", "users"], "decider": "consensus"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should creating a shape bind nearby arrows?", "Should arrow creation end on connect?", "How should focus points be computed?", "How should bindings be shown?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 30, "comments": 103, "reactionsTotal": 36, "decidedOffPlatform": false, "notableMoves": ["creator insisted on trying the default on a live preview before judging", "maintainers answered with screen recordings from the preview branch", "opener laid out six numbered options", "line binding dropped two days before merge", "opener merged to stop merge-conflict churn and promised to fix forward", "a toggle UI was explicitly left for later"]}, "outcome": {"decided": true, "decision": "Ship binding on by default for arrows only, with CMD or CTRL to suppress it, and leave a toggle UI for later.", "how": "consensus", "rationale": "Arrows are rarely used in freehand drawings, so binding them limits harm to sketching while keeping diagram convenience; a better toggle needed more design time.", "dissent": "Two maintainers still preferred intentional binding via a modifier to enable or a mode, and noted the disable key fails on mobile; one maintainer disagreed that lines lack use cases.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/1899", "https://github.com/excalidraw/excalidraw/pull/2010"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A numbered list of six interaction options weighed on feel, mobile support and discoverability.", "secondaryShape": "tune", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["experiments as evidence: the debate hinged on trying a live preview build and sharing screen recordings", "interim decision: arrows-only was chosen explicitly as a stopgap with the toggle question left open", "decider authority unclear: the project creator held a strong default preference while maintainers pushed back, and the author merged to end the churn"]}, "evalUse": "Tests recovering a contested UX default and its interim compromise from a long feature PR.", "notes": "vjeux is the project creator though labelled CONTRIBUTOR. Some comments were later hidden as resolved but are on-topic.", "caseId": "excalidraw-arrow-binding-default", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-export-split-labels", "sources": [{"url": "https://github.com/excalidraw/excalidraw/pull/3613", "kind": "pr", "retrievedAt": "2026-10-18T07:21:33.632923+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Export dialog structure and labels", "question": "How should the redesigned export flow be split, titled and laid out so users can tell saving a scene from exporting an image?", "questionExplicit": false, "context": "Excalidraw had one export dialog mixing image formats with shareable links. The PR splits it into JSON and image dialogs, and review debated titles, icons, scale controls and styling choices.", "options": [{"label": "Two dialogs: JSON/save and image export", "proposedBy": "author (dwelle)", "fate": "chosen"}, {"label": "Title the JSON dialog Save", "proposedBy": "maintainer (ad1992)", "fate": "rejected"}, {"label": "Title image dialog Save as image, keep Export for JSON", "proposedBy": "maintainer (ad1992)", "fate": "chosen"}, {"label": "Labelled Scale radio group", "proposedBy": "maintainer (ad1992)", "fate": "rejected"}, {"label": "Move scale onto the same row when nothing is selected", "proposedBy": "maintainer (ad1992)", "fate": "rejected"}, {"label": "Separate Share and Save buttons, SVG with scene as default", "proposedBy": "user (sebasjm)", "fate": "deferred"}], "criteria": ["discoverability of formats", "dialog clutter", "stable control positions", "consistency of terminology", "host CSS customisability", "accessibility"], "participants": {"count": 4, "roles": ["maintainers", "co-creator", "user"], "decider": "consensus"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Inline CSS variables versus class-defined colours", "Native checkbox versus custom button with ARIA", "Whether to translate format labels", "Where to put save-to-current-file"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 4, "comments": 61, "reactionsTotal": 4, "decidedOffPlatform": false, "notableMoves": ["Export-selected checkbox removed from the JSON dialog mid-review", "Several reviewer points deferred to follow-up PRs", "Post-merge user feedback questioned discoverability of SVG with scene"]}, "outcome": {"decided": true, "decision": "Merge the split into a JSON export dialog titled Export and an image dialog titled Save as image, keeping arrowed icons and an uncluttered scale control.", "how": "consensus", "rationale": "Grouping related formats and making export actions prominent was judged clearer than the old mixed dialog, while avoiding clutter and jumping controls.", "dissent": "A user found SVG with embedded scene harder to discover after merge.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/3613"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "Many small label and layout choices settled through screenshots and review threads rather than one table.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["coupled decisions decided together: titles, icons and dialog split were settled jointly through a single PR", "decisions taken off-platform: one agreement is noted as 'as discussed', implying a conversation outside the thread", "staged acceptance: several reviewer points were explicitly deferred to follow-up PRs with no tracked record", "reversal after shipping: post-merge user feedback about discoverability arrived on the closed PR"]}, "evalUse": "PR-review design debate with many micro-decisions on labels and layout, settled by two maintainers.", "notes": "Reversibility marked easy because the maintainer agreed to keep the icon and improve it later. The co-creator is vjeux.", "caseId": "excalidraw-export-dialog-redesign", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-embed-validator-api", "sources": [{"url": "https://github.com/excalidraw/excalidraw/pull/6691", "kind": "pr", "retrievedAt": "2026-10-18T07:21:16.768228+00:00"}], "repo": "excalidraw/excalidraw", "domain": "api-design", "title": "How hosts validate embeddable URLs", "question": "How should host apps customise which sites may be embedded, and where should that validation live?", "questionExplicit": true, "context": "The PR shipped a global singleton validator with a built-in list of sites that a custom list could only extend. A maintainer pointed out that hosts could not disable defaults and that the singleton broke for multiple instances and server-side restore.", "options": [{"label": "Global singleton validator set from props", "proposedBy": "zsviczian", "fate": "rejected"}, {"label": "Custom validator replaces the default list entirely", "proposedBy": "dwelle", "fate": "rejected"}, {"label": "Validator returns undefined to defer to defaults", "proposedBy": "dwelle", "fate": "chosen"}, {"label": "Array mixing regexes and booleans as stop markers", "proposedBy": "zsviczian", "fate": "rejected"}, {"label": "Restore with undefined flag and validate outside restore", "proposedBy": "zsviczian", "fate": "chosen"}], "criteria": ["hosts can disable defaults", "works with multiple instances", "restore stays pure and usable on a server", "intuitive API convention", "rendering stays pure"], "participants": {"count": 3, "roles": ["maintainers", "contributors"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should the element flag be named whitelisted or validated?", "Should validation run in render, componentDidUpdate or outside rendering?", "Should SVG export skip the validation check?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 36, "comments": 80, "reactionsTotal": 5, "decidedOffPlatform": false, "notableMoves": ["contributor pushed the mixed-array design before the maintainer rejected it", "contributor's deferred-validation idea removed the singleton", "maintainer pushed the final API commit himself"]}, "outcome": {"decided": true, "decision": "Elements restore with an unset validation flag, a validator prop may return true, false or undefined to fall back to defaults, and validation runs outside rendering.", "how": "maintainer-decision", "rationale": "The API must not depend on global state because restore can run before an instance exists or on a server, and returning undefined for default behaviour is a common convention.", "dissent": "The contributor initially preferred deferring the multi-instance case and proposed the array design, then accepted either.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/6691"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete API shapes were compared against criteria such as purity and multi-instance support.", "secondaryShape": null, "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["reviewer implements the answer: the maintainer settled the API by pushing commits to the contributor's branch rather than recording a choice", "coupled decisions: validator semantics, flag naming and where validation runs were settled together"]}, "evalUse": "Tests extracting an API design choice from a long feature PR with many unrelated UX threads.", "notes": "Decider is dwelle. ad1992 appears once with a Safari bug report.", "caseId": "excalidraw-web-embeds-design", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "excalidraw-embed-alt-text", "sources": [{"url": "https://github.com/excalidraw/excalidraw/pull/6691", "kind": "pr", "retrievedAt": "2026-10-18T07:21:16.768228+00:00"}], "repo": "excalidraw/excalidraw", "domain": "ui-ux", "title": "Alt text for embeds via bound text", "question": "Should embeds keep bound text as export alt text, and if so through what UI?", "questionExplicit": true, "context": "The contributor let text bind to embeds so it could serve as a placeholder label in PNG and SVG exports. A maintainer questioned the value and the binding maintenance cost.", "options": [{"label": "Keep bound text as alt text", "proposedBy": "zsviczian", "fate": "rejected"}, {"label": "Alt text field in the link editor", "proposedBy": "dwelle", "fate": "rejected"}, {"label": "CommonMark link-title syntax in the URL input", "proposedBy": "dwelle", "fate": "rejected"}, {"label": "Drop alt text support", "proposedBy": "dwelle", "fate": "chosen"}], "criteria": ["discoverability", "user value", "maintenance cost of binding logic", "unintended side effects"], "participants": {"count": 3, "roles": ["maintainers", "contributors"], "decider": "consensus"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": [], "deferred": false, "reopened": false, "superseded": false, "durationDays": 27, "comments": 80, "reactionsTotal": 5, "decidedOffPlatform": false, "notableMoves": ["maintainer offered two fallback designs while stating a preference to drop", "contributor conceded within a day"]}, "outcome": {"decided": true, "decision": "Bound text support for embeds was removed and no alt text feature shipped.", "how": "consensus", "rationale": "The feature was niche and undiscoverable, forced odd workflows, and would require maintaining binding logic for embeds.", "dissent": null, "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/excalidraw/excalidraw/pull/6691"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A keep-or-drop choice with two alternative UIs weighed on cost and discoverability.", "secondaryShape": null, "fitsFlows": ["work-in-place", "ask-teammate", "settle"], "gaps": ["review-comment threads: the decision lived in an inline code review thread on one file, not on the feature as a whole"]}, "evalUse": "Tests spotting a scoped feature cut inside a code review thread.", "notes": "durationDays counts from PR opening to the agreement on 2023-07-14.", "caseId": "excalidraw-web-embeds-design", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ghostty-broadcast-groups-design", "sources": [{"url": "https://github.com/ghostty-org/ghostty/pull/13745", "kind": "pr", "retrievedAt": "2026-10-18T07:26:22.165954+00:00"}], "repo": "ghostty-org/ghostty", "domain": "architecture", "title": "Design of pane input broadcast groups", "question": "Where should broadcast group logic live and how should groups be represented, configured and triggered?", "questionExplicit": false, "context": "A contributor proposed colour-coded broadcast groups across panes, initially with per-runtime logic, hard-coded shortcuts, a heavyweight group structure and fixed colours. Three maintainers reshaped it in review.", "options": [{"label": "Group logic in core shared by runtimes", "proposedBy": "jcollie", "fate": "chosen"}, {"label": "Logic in each runtime (original)", "proposedBy": "dave92082", "fate": "rejected"}, {"label": "Split into core, GTK and macOS PRs", "proposedBy": "bo2themax", "fate": "rejected"}, {"label": "Nullable four-bit group on each surface, 16 groups", "proposedBy": "jcollie", "fate": "chosen"}, {"label": "Configurable colour list allowing up to 64 groups", "proposedBy": "dave92082", "fate": "rejected"}, {"label": "Configurable click modifiers instead of hard-coded shortcuts", "proposedBy": "bo2themax", "fate": "chosen"}, {"label": "Implicit all-panes-in-tab group", "proposedBy": "ryenus", "fate": "deferred"}], "criteria": ["consistency across runtimes", "libghostty exposure", "simplicity and performance", "configurability", "reviewability", "string freeze"], "participants": {"count": 8, "roles": ["maintainers", "contributor", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["How many groups?", "Zero- or one-based numbering?", "Action naming?", "Should the PR be split?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 6, "comments": 63, "reactionsTotal": 14, "decidedOffPlatform": false, "notableMoves": ["architecture moved from runtimes to core after review", "maintainer posted dozens of suggestion blocks as a design rewrite", "merge held for a release string freeze", "follow-up feature parked"]}, "outcome": {"decided": true, "decision": "Approve a core-managed design with a nullable zero-based four-bit group per surface, 16 configurable colours, toggle and sync action names, configurable click modifiers and a clear-all action; merge after the 1.4 release.", "how": "maintainer-decision", "rationale": "Centralising in core avoids duplication, keeps behaviour identical across runtimes and exposes groups to libghostty; a simple per-surface field avoids allocations and quadratic work.", "dissent": null, "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "Design emerged through review comments and code suggestions rather than an explicit option comparison.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["decisions as code suggestions: many design choices were made via suggestion blocks, so the record lives in diffs, not prose", "coupled decisions: core placement, group representation, numbering and naming were settled together in one review pass", "settled but not shipped: approved yet held for a release string freeze, so settled and merged diverge", "multiple approvers per platform: GTK and macOS maintainers each signed off on their area"]}, "evalUse": "Tests whether an agent reports the final zero-based 16-group core design rather than the 64-group per-runtime original.", "notes": "PR was approved but still open at retrieval, so implementedIn is empty. durationDays counts to the final approval.", "caseId": "ghostty-broadcast-groups", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ghostty-official-snap", "sources": [{"url": "https://github.com/ghostty-org/ghostty/pull/3931", "kind": "pr", "retrievedAt": "2026-10-18T07:26:16.175633+00:00"}], "repo": "ghostty-org/ghostty", "domain": "infra", "title": "Official snap packaging for Ghostty", "question": "Should Ghostty maintain an official in-repo snap package, and if so how should it be laid out and behave?", "questionExplicit": false, "context": "A Canonical engineer contributed snapcraft packaging with a launcher script and CI job. The project lead was unsure about taking on another package format, and reviewers raised layout, XDG path and environment leakage concerns.", "options": [{"label": "Ship an official snap built from source in the repo", "proposedBy": "kenvandine", "fate": "chosen"}, {"label": "Do not maintain a project snap", "proposedBy": "mitchellh", "fate": "rejected"}, {"label": "Build from the documented pre-built packaging route instead", "proposedBy": "matifali", "fate": "rejected"}, {"label": "Place packaging under dist/ rather than top-level snap/", "proposedBy": "mitchellh", "fate": "rejected"}, {"label": "Strip only snap-added path entries rather than whole variables", "proposedBy": "tristan957", "fate": "rejected"}, {"label": "Environment cleanup in termio (later moved to apprt)", "proposedBy": "kenvandine", "fate": "merged"}], "criteria": ["maintenance burden", "official cross-distro Linux channel", "simple automated builds", "respect user XDG settings", "no snap environment leaking into user shells", "CI reliability"], "participants": {"count": 7, "roles": ["maintainers", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Where should the snap directory live?", "Should shells be bundled as stage packages?", "How should XDG exports behave when users set their own paths?", "Where should launch variables be stripped?", "How do support files for vim and bat get found?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 48, "comments": 72, "reactionsTotal": 22, "decidedOffPlatform": false, "notableMoves": ["lead accepted in principle conditional on the author helping maintain it", "store name dispute and classic confinement request handled outside GitHub", "merge blocked for weeks on an upstream snap bug in CI", "lead moved environment cleanup to apprt himself before merging", "documentation for snap users deferred to the website repo"]}, "outcome": {"decided": true, "decision": "Merge the in-repo snap with classic confinement, keeping snap/ at the top level, conditional XDG exports and launch-variable cleanup in the apprt layer, with the author helping maintain it.", "how": "maintainer-decision", "rationale": "A universal package gives the project an official Linux channel when downstreams package poorly, and an experienced snap maintainer volunteered to look after it.", "dissent": "The lead stayed unsure about maintaining a snap; a reviewer kept questioning XDG path handling.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/ghostty-org/ghostty/pull/3931"]}, "chopinFit": {"shape": "explore", "shapeWhy": "The yes/no on maintaining a snap was settled implicitly through review of a working implementation rather than as a framed choice.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["implicit question: whether to own a snap at all was never asked as a question, only voiced as doubt inside a change-request review", "conditional acceptance: the yes depended on the contributor committing to future maintenance, a people commitment the record cannot capture", "external blocker: merge waited on an upstream snapcraft fix and a CI vendor, with no way to mark the decision as settled but blocked", "off-platform steps: the store name dispute and classic-confinement approval happened on Snapcraft's store and forum", "decider edits the build: the lead moved code between layers himself just before merging, a late change not reflected in review"]}, "evalUse": "Tests whether an agent recognises an unstated keep-or-reject packaging decision inside a long review and its condition of ongoing maintenance.", "notes": "decider: mitchellh (labelled CONTRIBUTOR but is the project lead who decides and merges). The snap directory location was a quick sub-decision folded into this record.", "caseId": "ghostty-official-snap", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "godot-object-metadata", "sources": [{"url": "https://github.com/godotengine/godot/issues/18591", "kind": "issue", "retrievedAt": "2026-10-18T07:28:42.623422+00:00"}], "repo": "godotengine/godot", "domain": "api-design", "title": "Future of Object metadata", "question": "Should Godot deprecate object metadata, keep it and make it editable in the inspector, or keep it as is while moving the editor's own uses away?", "questionExplicit": true, "context": "Every Object has a serialised metadata dictionary accessed by set_meta/get_meta. The editor used it for a few internal flags and core developers were unsure anyone else did.", "options": [{"label": "Deprecate metadata", "proposedBy": "lead developer (reduz)", "fate": "rejected"}, {"label": "Keep it and expose it for editing in the inspector", "proposedBy": "lead developer (reduz)", "fate": "deferred"}, {"label": "Keep it as is, editor stops using it", "proposedBy": "lead developer (reduz)", "fate": "chosen"}, {"label": "Replace the Dictionary with a lazily allocated StringName-to-Variant map", "proposedBy": "contributor (neikeq); lead developer", "fate": "partly"}, {"label": "Keep it only for UI objects", "proposedBy": "user (legione)", "fate": "rejected"}], "criteria": ["real-world usage by importers and plugins", "per-object memory and speed", "clarity vs script variables", "discoverability"], "participants": {"count": 44, "roles": ["lead developer", "maintainers", "contributors", "users"], "decider": "consensus"}, "process": {"research": "none", "spike": "none", "poll": true, "escalation": "none", "subQuestions": ["Should inspector editing be added (split to #29081)", "Should the storage structure change"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 383, "comments": 80, "reactionsTotal": 154, "decidedOffPlatform": false, "notableMoves": ["Numbered options turned the thread into an informal vote", "Inspector editing split into a new issue at close", "Inspector PRs #22642 and #30765 linked during and after"]}, "outcome": {"decided": true, "decision": "Keep object metadata; inspector editing moves to a separate issue.", "how": "consensus", "rationale": "Many users, importers and plugins rely on it and alternatives via scripts are clumsier and slower.", "dissent": "A few users considered it a hacky pattern that should be deprecated.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Three numbered options put to the community and tallied informally.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["votes as evidence: dozens of numbered replies acted as a poll with no tally or weighting", "staged acceptance: keeping was settled while inspector exposure was split into #29081 for later", "off-platform decision: the opening question came from an internal developer discussion that is only summarised"]}, "evalUse": "Community poll-style decision with a split-off follow-up question.", "notes": "reduz is Godot's lead developer. Closure by maintainer mhilbrunner citing consensus.", "caseId": "godot-object-metadata-fate", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-remove-binary-only-packages", "sources": [{"url": "https://github.com/golang/go/issues/28152", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:31.465919+00:00"}], "repo": "golang/go", "domain": "compatibility", "title": "Remove binary-only packages", "question": "Should the go command stop supporting binary-only packages, and if not, what do people still need them for?", "questionExplicit": true, "context": "Binary-only packages can be compiled against different dependency versions than the final link uses, risking silent memory corruption as the compiler grows more sophisticated. The feature was thought to exist mainly for teaching.", "options": [{"label": "Remove binary-only packages, pointing users to plugins", "proposedBy": "rsc", "fate": "chosen"}, {"label": "Keep binary-only packages", "proposedBy": "triztian", "fate": "rejected"}, {"label": "Tie binary packages to go.mod-pinned dependency versions", "proposedBy": "fbnz156", "fate": "rejected"}, {"label": "Delay removal until plugins support Windows and exported types", "proposedBy": "fbnz156", "fate": "rejected"}, {"label": "Source obfuscation tool", "proposedBy": "bradfitz", "fate": "deferred"}, {"label": "Generator for plugin wrapper code", "proposedBy": "gen0cide", "fate": "deferred"}, {"label": "Prebuilt .syso object files for cgo", "proposedBy": "ianlancetaylor", "fate": "partly"}], "criteria": ["memory safety and correctness", "toolchain simplicity", "IP protection for commercial SDKs", "availability of a working replacement", "platform coverage", "migration cost for existing users"], "participants": {"count": 25, "roles": ["Go team", "proposal review", "users", "commercial vendors"], "decider": "team"}, "process": {"research": "survey", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Can plugins replace binary-only packages?", "Should removal wait for plugin Windows support and exported types?", "Would obfuscated source satisfy IP needs?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 20, "comments": 76, "reactionsTotal": 225, "decidedOffPlatform": false, "notableMoves": ["proposer pinged past users and cross-posted to golang-nuts for use cases", "accepted after a week with no objections", "deprecation announced in 1.12 release notes with removal in 1.13", "affected vendors surfaced only after the release notes, prompting a stated re-evaluation", "proposer reaffirmed removal and named obfuscation and better plugins as follow-ups", "removal CL closed the issue"]}, "outcome": {"decided": true, "decision": "Drop binary-only packages: announce it in Go 1.12 and remove support in Go 1.13, with plugins as the suggested route for shipping compiled code.", "how": "maintainer-decision", "rationale": "The feature is unreliable and can silently corrupt memory, plugins already check API mismatches, and one mechanism is better than two.", "dissent": "Commercial SDK vendors said plugins lack Windows support and exported types, and at least one company moved its product to C++.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://golang.org/cl/165746", "https://golang.org/cl/152918", "https://golang.org/cl/159557"]}, "chopinFit": {"shape": "check", "shapeWhy": "The core move was testing a claim (nobody needs this that plugins cannot serve) by soliciting use cases.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["silence as consent: acceptance rested on a week passing with no objections rather than an explicit check of affected users", "stakeholders outside the thread: affected vendors only learned of it from release notes months after acceptance", "re-evaluation without reopening: the team said it would revisit after acceptance but the record never formally reopened", "staged rollout: deprecate in one release and remove in the next was part of the decision", "off-platform input: use cases were gathered on golang-nuts and the decision came from a proposal review meeting"]}, "evalUse": "Tests a formal proposal that is accepted, then challenged by late stakeholders, and reaffirmed without a formal reopen.", "notes": "Decider is the Go proposal review group (andybons recorded acceptance, rsc proposed and reaffirmed). durationDays counts to the Proposal-Accepted label; the removal CL landed 2019-03-06. reopened is true in the sense of the stated re-evaluation in Feb 2019, not a GitHub reopen.", "caseId": "go-drop-binary-only-packages", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-try-builtin", "sources": [{"url": "https://github.com/golang/go/issues/32437", "kind": "proposal", "retrievedAt": "2026-10-18T06:59:58.759699+00:00"}, {"url": "https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md", "kind": "design-doc", "retrievedAt": "2026-10-18T06:59:58.759699+00:00"}], "repo": "golang/go", "domain": "language-design", "title": "Built-in try for Go error checks", "question": "Should Go add a `try` built-in that returns early on a non-nil error to cut error-check boilerplate, and is that boilerplate a problem worth solving at all?", "questionExplicit": true, "context": "After the 2018 check/handle draft drew feedback, the Go team narrowed it to a single `try` built-in, with error decoration left to `defer` and helper functions. The issue was the feedback stage of the Go 2 proposal process.", "options": [{"label": "`try` built-in function as proposed", "proposedBy": "griesemer", "fate": "rejected"}, {"label": "Leave `if err != nil` as is", "proposedBy": "community commenters", "fate": "chosen"}, {"label": "Postfix `?` operator", "proposedBy": "rasky", "fate": "rejected"}, {"label": "`try` as a keyword or statement, one per line", "proposedBy": "thepudds and others", "fate": "rejected"}, {"label": "`try` with an optional handler argument", "proposedBy": "users; discussed by griesemer", "fate": "deferred"}, {"label": "Earlier check/handle draft", "proposedBy": "Go team (2018)", "fate": "rejected"}, {"label": "Assignment-side marker such as `#` or named handlers", "proposedBy": "networkimprov, klaidliadon", "fate": "rejected"}, {"label": "Compact single-line `if err return` form", "proposedBy": "eug48", "fate": "deferred"}], "criteria": ["boilerplate reduction", "visibility of control flow and exit points", "encouraging error context and wrapping", "reliance on named results and defer", "readability of nested expressions", "debuggability and code coverage", "backward compatibility", "whether the problem is worth solving"], "participants": {"count": 209, "roles": ["Go team", "proposal review committee", "maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "prototype", "poll": false, "escalation": "core-team", "subQuestions": ["Is error-check verbosity a problem worth solving?", "Built-in function versus keyword or statement?", "Should `try` accept an error handler argument?", "How would `try` interact with debugging and coverage?", "Could compiler flags or vet disable the feature?", "How would older toolchains treat code using `try`?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 42, "comments": 815, "reactionsTotal": 7955, "decidedOffPlatform": true, "notableMoves": ["issue filed before the full design doc was published, prompting retracted early reactions", "proposer posted rolling summaries of feedback themes", "proposer asked to stop drafting alternative syntaxes in the thread", "Go team lead built an external page to navigate the thread", "`tryhard` tool released and run by users on their own codebases to gather statistics", "Go team asked for experience reports on a wiki page instead of more opinion", "a user cited upvote counts on a separate 'leave it alone' issue as a community vote", "declined ahead of the planned Go 2 schedule by the Proposal Review Committee", "follow-up error-handling work deprioritised behind generics"]}, "outcome": {"decided": true, "decision": "The `try` proposal was declined and error-check syntax left unchanged, with the problem statement to be revisited through experience reports.", "how": "maintainer-decision", "rationale": "Overwhelming community response, missed issues with debug prints and code coverage, and many people arguing the targeted verbosity was not a problem worth solving; the team said the problem statement had not been agreed first.", "dissent": "Some users and contributors supported `try` as the most sensible design, one asked for it to be reopened, and one argued the feedback was skewed by self-selection of developers who tolerate verbose errors.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "check", "shapeWhy": "The pivotal question became whether a claim (error-check boilerplate is a real, worthwhile problem) held up, tested with `tryhard` data and experience reports.", "secondaryShape": "choice", "fitsFlows": ["find", "research-or-spike", "ask-teammate", "settle", "reshape"], "gaps": ["votes or reactions as evidence: emoji counts on this issue and a rival 'leave it alone' issue were cited as a community vote, and the decline cited the overwhelming response without counting it", "problem before solution: the team conceded the problem statement was never agreed, so a question about whether to solve anything was hidden inside a question about one design", "off-platform discussion: feedback came via an external thread viewer, social media, other forums and a wiki page of experience reports, and the decline thanks people 'here and elsewhere'", "off-platform decision: the Proposal Review Committee deliberated outside the thread on its own schedule and only posted the outcome", "unmanageable volume: over 800 comments forced hand-written rolling summaries and requests to react instead of repeating points", "decentralised evidence: users ran a prototype tool on private codebases and posted statistics with no shared place to aggregate them", "coupled decisions: sequencing against generics and the error wrapping work shaped both the objections and the deferral"]}, "evalUse": "Tests whether an agent can separate signal from a huge, emotive thread and recognise that a decline rested on contested problem framing, not a technical flaw.", "notes": "The skeleton lacks the close event; the issue closed one second after the decline comment by griesemer, signed for the Proposal Review Committee. The thread was locked as resolved. decidedOffPlatform is true because the committee review happened outside the issue; only the outcome was posted. Research is coded data-analysis for `tryhard` statistics; spike is prototype for the tool and the CLs applying it. No formal poll was run, but reaction counts were cited as one. Some summaries rely on clipped text in the capped digest. 666 low-signal comments omitted by the 150-event cap.", "caseId": "go-try-builtin", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": true}} +{"id": "go-slice-to-array", "sources": [{"url": "https://github.com/golang/go/issues/46505", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:18.642093+00:00"}], "repo": "golang/go", "domain": "language-design", "title": "Slice-to-array conversion", "question": "Should Go allow converting a slice directly to an array type, in addition to the existing slice-to-array-pointer conversion?", "questionExplicit": true, "context": "Go had just added conversion from slice to array pointer, so an array copy needed a dereference of that pointer. The proposal asks for the direct form, which copies and panics on short slices.", "options": [{"label": "Allow direct slice-to-array conversion", "proposedBy": "opener (bradfitz)", "fate": "chosen"}, {"label": "Keep status quo: use pointer conversion plus dereference", "proposedBy": "Go team members (mdempsky, randall77)", "fate": "rejected"}, {"label": "Optimise copy instead of adding a conversion", "proposedBy": "Go team member (katiehockman)", "fate": "rejected"}, {"label": "Also allow string to byte-array conversion", "proposedBy": "Go team member (bcmills)", "fate": "deferred"}, {"label": "Make the conversion assignable", "proposedBy": "contributor (zigo101)", "fate": "rejected"}, {"label": "Pad with zeros instead of panicking", "proposedBy": "contributor (zigo101)", "fate": "rejected"}], "criteria": ["readability", "beginner discoverability", "visibility of copy cost", "compiler and tooling burden", "consistency with existing conversions"], "participants": {"count": 20, "roles": ["Go team", "proposal review group", "contributors", "users"], "decider": "team"}, "process": {"research": "benchmarks", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Zero-length arrays from nil slices", "Assignability of the conversion", "Panic versus zero padding on short slices"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 78, "comments": 79, "reactionsTotal": 127, "decidedOffPlatform": true, "notableMoves": ["Proposal lead explicitly solicited arguments in favour", "Discoverability argument flipped the lead toward accepting", "Zero-length edge case ruled during FCP", "Implementation slipped two releases; issue reopened for x/tools support"]}, "outcome": {"decided": true, "decision": "Accept direct slice-to-array conversion, panicking on short slices and succeeding for zero-length arrays even from nil slices; it was implemented during the Go 1.20 cycle.", "how": "fcp", "rationale": "Copying from slices into fixed arrays is common, the direct form is what people naturally try, and Go has removed gratuitous stars before.", "dissent": "A Go team member held that tooling cost outweighed saving a few characters and that the beginner argument was flawed, but accepted being outvoted.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://go.dev/cl/428938", "https://go.dev/cl/430415", "https://go.dev/cl/430475", "https://go.dev/cl/433816", "https://go.dev/cl/452936"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Add-or-not language choice with explicit trade-offs and a named alternative (optimise copy).", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["a decider who isn't in the thread: the proposal review group decides in weekly meetings and posts the status here", "staged acceptance: accepted in 2021 but implemented over 1.18, 1.19 and 1.20, with tooling follow-up reopening the issue", "unresolved dissent at settlement: a team member's objection is recorded but the outcome is consensus by review group", "sub-decisions after acceptance: the zero-length and assignability rulings were made inside the same thread without their own records"]}, "evalUse": "Formal Go proposal process with FCP, a recorded dissent, edge-case rulings and slow staged implementation.", "notes": "Decider is the proposal review group, spoken for by rsc. Reversibility is implied by Go compatibility guarantees.", "caseId": "go-slice-to-array-conversion", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-tb-output", "sources": [{"url": "https://github.com/golang/go/issues/59928", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:35.939718+00:00"}], "repo": "golang/go", "domain": "api-design", "title": "t.Slog logger or TB.Output io.Writer", "question": "Should the testing package integrate with log/slog directly through a `t.Slog()` logger, or expose a generic `Output() io.Writer` that behaves like t.Log without the source prefix?", "questionExplicit": true, "context": "Tests want logs from code under test to appear with the right test, hidden on success. Adapters built on t.Log add a misleading file:line prefix, and plain stdout misbehaves with parallel tests.", "options": [{"label": "`t.Slog()` returning a fixed slog.Logger", "proposedBy": "earthboundkid", "fate": "rejected"}, {"label": "`t.Slog()` emitting JSON log events under -json (also serving test metadata)", "proposedBy": "jba / rsc", "fate": "rejected"}, {"label": "`t.Slog(opts)` taking handler options", "proposedBy": "jba", "fate": "rejected"}, {"label": "`TB.Output() io.Writer` without source prefix, line-buffered", "proposedBy": "dnephin", "fate": "chosen"}, {"label": "Output plus a `SlogHandlerOptions()` helper", "proposedBy": "dnephin", "fate": "rejected"}, {"label": "No new API; users write their own writer", "proposedBy": "rsc", "fate": "rejected"}, {"label": "Context-carried test source locations", "proposedBy": "apparentlymart", "fate": "deferred"}], "criteria": ["flexibility and composability", "correct source attribution", "test2json compatibility", "parallel and subtest correctness", "API surface size"], "participants": {"count": 17, "roles": ["Go team", "proposal review committee", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Name: Output vs Writer vs Stdout", "Add to the TB interface?", "Behaviour of writes after the test ends", "Interleaving with Log partial lines"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 680, "comments": 77, "reactionsTotal": 201, "decidedOffPlatform": true, "notableMoves": ["retitled mid-thread from slog support to T.Output", "a committee member reopened the slog option months after apparent agreement", "a contributor's three-option summary reset the discussion", "likely-accept then accept by the proposal review group", "TB interface addition missed and fixed after landing"]}, "outcome": {"decided": true, "decision": "Add `Output() io.Writer` to testing.TB: it writes to the same stream as Log, indented, with no source prefix or added newline, line-buffered and flushed by Log or test end, and panics if used after the test and its parents finish.", "how": "fcp", "rationale": "A writer is the more flexible primitive: slog and other loggers or subprocesses can wrap it, but a slog logger cannot provide a writer, and it adds no new test2json event types.", "dissent": "Some wanted test-side source locations in log output; that was split into a separate proposal.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/golang/go/pull/71575", "https://github.com/golang/go/pull/73703"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete API shapes compared against flexibility and compatibility criteria.", "secondaryShape": null, "fitsFlows": ["find", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["decider not in thread: the proposal review group decided in weekly meetings and posted status comments", "coupled decisions: a related metadata proposal was pulled in and later explicitly separated", "reversal after apparent consensus: a committee member reopened the slog option months after agreement on Output, with no record of why consensus lapsed", "staged acceptance: the accepted TB interface method was missed in the first landing and needed a follow-up change"]}, "evalUse": "Tests whether a model can follow a long proposal through a reversal and recover the final accepted API and its rationale.", "notes": "Go team members active: rsc, aclements (proposal committee), jba (slog author, labelled CONTRIBUTOR), seankhliao. decidedOffPlatform reflects weekly proposal review meetings. implementedIn lists GitHub mirror PRs; the Gerrit CLs are 646956, 672395 and 677875.", "caseId": "go-testing-output-writer", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-loopvar-per-iteration", "sources": [{"url": "https://github.com/golang/go/issues/60078", "kind": "proposal", "retrievedAt": "2026-10-18T07:00:45.118123+00:00"}, {"url": "https://github.com/golang/go/discussions/56010", "kind": "discussion", "retrievedAt": "2026-10-18T07:00:45.118123+00:00"}, {"url": "https://go.googlesource.com/proposal/+/master/design/60078-loopvar.md", "kind": "design-doc", "retrievedAt": "2026-10-18T07:00:45.118123+00:00"}], "repo": "golang/go", "domain": "language-design", "title": "Per-iteration loop variables in Go", "question": "Should Go loop variables declared with := get a fresh instance on every iteration, for both range and three-clause loops, keyed on the module's go.mod version?", "questionExplicit": true, "context": "Closures and goroutines that capture a shared loop variable are a long-standing source of Go bugs, usually patched with a redundant copy line. After a pre-proposal discussion and an experiment-flag issue, two Go team members filed a formal proposal backed by a compiler experiment, a bisection tool and results from converting Google's internal code.", "options": [{"label": "Per-iteration semantics for range and three-clause loops, gated by the go line in go.mod", "proposedBy": "rsc and dr2chase (Go team)", "fate": "chosen"}, {"label": "Change range loops only and leave three-clause loops per-loop", "proposedBy": "contributors and users (zigo101, LukasGelbmann, danieljl)", "fate": "rejected"}, {"label": "Allow an explicit redeclaration in the post clause to mark per-iteration variables", "proposedBy": "a contributor (zigo101)", "fate": "rejected"}, {"label": "Rely on stronger vet checks such as loopclosure instead of a language change", "proposedBy": "a user (markusheukelom)", "fate": "rejected"}, {"label": "Official rewrite tool that preserves old semantics as a migration backstop", "proposedBy": "a user (mbyio)", "fate": "deferred"}, {"label": "Per-loop compiler directive to opt out", "proposedBy": "a user (AndrewHarrisSPU)", "fate": "merged"}, {"label": "New keyword or loop syntax for the new behaviour", "proposedBy": "a user (entonio)", "fate": "rejected"}, {"label": "Split the three-clause change into a separate proposal or reserve it for a Go 2", "proposedBy": "users (danieljl, iBug)", "fate": "rejected"}], "criteria": ["real-world bugs fixed versus correct code broken", "Go 1 compatibility promise and go.mod gating", "consistency between range and three-clause loops", "intuitiveness and explicitness", "allocation and performance cost", "migration tooling and ease of upgrade"], "participants": {"count": 37, "roles": ["Go team", "proposal review group", "contributors", "users"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "experiment", "poll": false, "escalation": "core-team", "subQuestions": ["Should three-clause loops change as well as range loops?", "How should reviewers treat a bumped go line in go.mod?", "Should an official rewrite tool preserve old semantics?", "Is static analysis an adequate alternative?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 71, "comments": 138, "reactionsTotal": 1524, "decidedOffPlatform": true, "notableMoves": ["opening post updated on day two to clarify three-clause loops that modify their variable are unaffected", "proposal moved to the active column for weekly review", "opener declared that only real-world breakage, not intuition, would sway the decision", "GOEXPERIMENT=loopvar runs on Kubernetes, go-ethereum and Let's Encrypt CI posted as evidence", "bisect tool used to pinpoint the failing loops", "experiment shipped in Go 1.21 release notes to invite feedback", "likely accept, final comment period, then accepted", "older toolchains changed to refuse building Go 1.22 code"]}, "outcome": {"decided": true, "decision": "Accepted: loop variables declared with := in both range and three-clause for loops become per-iteration for packages whose module declares a new enough Go version (shipped in Go 1.22).", "how": "fcp", "rationale": "Running the new semantics over Google's code and other large codebases broke very few tests, nearly all of them already buggy, while fixing many latent bugs; no correct three-clause loop was found to break, and keying on the go line keeps existing modules unchanged.", "dissent": "A few participants held that three-clause loops should keep per-loop semantics, that the evidence was biased toward public and Google code, and that version-gated semantic changes undermine the compatibility promise.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://go.dev/cl/518675", "https://go.dev/cl/518815", "https://go.dev/cl/532580"]}, "chopinFit": {"shape": "check", "shapeWhy": "The team framed the decision as verifying a claim, that the change fixes far more code than it breaks, and settled it with an experiment on real codebases.", "secondaryShape": "choice", "fitsFlows": ["find", "research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["experiments or feature flags as evidence: a GOEXPERIMENT compiler flag and a bisect tool produced breakage rates per codebase that were posted as free-text comments", "off-platform decision: acceptance came from weekly proposal review meetings, and the strongest evidence came from Google's private code that could not be shared", "coupled decisions: range and three-clause scoping were decided together although critics asked for a separate vote on three-clause loops", "votes or thumbs as evidence: participants argued over emoji tallies on the issue and on single comments as signals of support", "cross-thread history: the deciding debate continued from a pre-proposal discussion and an experiment-flag issue", "staged acceptance: likely accept, final comment period and acceptance, with the change shipping as an experiment one release before it became default"]}, "evalUse": "Tests capturing an evidence-driven language change where an experiment flag and codebase data settled a contested scope question.", "notes": "Decider is the Go proposal review group; rsc posted the accept. rsc is labelled CONTRIBUTOR but is the Go team lead, and dr2chase is the co-author. Pre-proposal discussion golang/go#56010 is cited, not fetched: it is very large and this issue restates its evidence. The main compiler CLs are not linked in this thread; implementedIn lists only the bot-linked CLs for older-toolchain refusal and go/ssa. Duration runs to the accept comment.", "caseId": "go-loopvar-per-iteration", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-first-non-zero-helper", "sources": [{"url": "https://github.com/golang/go/issues/60204", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:08.433067+00:00"}], "repo": "golang/go", "domain": "api-design", "title": "First-non-zero helper in the standard library", "question": "Should Go add a helper that picks the earliest argument that is not its type's zero value, and if so with what name, package and type constraint?", "questionExplicit": true, "context": "Code often replaces an empty value with a default using an if block, and many projects carry their own copy. An earlier similar request was closed before the formal proposal process existed.", "options": [{"label": "strings.First", "proposedBy": "earthboundkid", "fate": "rejected"}, {"label": "cmp.Or[T comparable]", "proposedBy": "rsc", "fate": "chosen"}, {"label": "Generic over any via a zero test", "proposedBy": "jimmyfrasche", "fate": "deferred"}, {"label": "slices.Coalesce or FirstNonZero", "proposedBy": "cespare", "fate": "rejected"}, {"label": "Default with two arguments", "proposedBy": "golightlyb", "fate": "rejected"}, {"label": "Coalesce builtin", "proposedBy": "jimmyfrasche", "fate": "rejected"}, {"label": "Extend || as an operator", "proposedBy": "ianlancetaylor", "fate": "rejected"}, {"label": "Leave it out of the standard library", "proposedBy": "jarrodhroberson", "fate": "rejected"}], "criteria": ["evidence of real-world use", "clarity of the name", "package fit", "type generality", "future compatibility of loosening constraints", "typed-nil interface pitfalls", "risk of a backdoor ternary"], "participants": {"count": 21, "roles": ["Go team", "proposal review", "contributors", "users"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Is an old pre-process rejection binding?", "Name: First, Or, Coalesce or Default?", "comparable now or any later?", "Does type inference with interfaces make it unsafe?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 44, "comments": 80, "reactionsTotal": 238, "decidedOffPlatform": false, "notableMoves": ["closed as duplicate within hours, then reopened", "opener gathered usage data from public code search", "review lead reframed strings.First into generic cmp.Or", "compatibility argument resolved the comparable-versus-any dispute", "late type-inference bug spun into a separate issue during final comment", "a late commenter cited the thumbs-down count as why they had not engaged"]}, "outcome": {"decided": true, "decision": "Add cmp.Or[T comparable](...T) T returning the first non-zero argument, with the constraint possibly loosened later.", "how": "fcp", "rationale": "The pattern is common across many codebases; or is a familiar name from other languages; loosening the constraint later is non-breaking.", "dissent": "Some found Or unclear, some wanted support for funcs and maps, and some felt it did not belong in the standard library or invited ternary-style code.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://go.dev/cl/504883", "https://github.com/golang/go/pull/60931"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Many name, package and constraint combinations were weighed against evidence and compatibility.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "settle", "revisit-reopen", "build-pr", "reshape", "ask-teammate"], "gaps": ["duplicates merged: the thread began closed as a duplicate of a pre-process issue and had to argue its way back open", "coupled decisions: name, package and type constraint were settled together as one bundle", "votes as evidence: a late participant read the opening reactions as a signal the proposal would fail", "spawned sub-issue: a type-inference concern found during final comment was split into its own issue without blocking acceptance", "off-platform decision: likely-accept and accept came from a weekly review meeting not recorded in the thread"]}, "evalUse": "Tests a proposal reframed mid-thread (strings.First to cmp.Or) and accepted through the Go final comment cycle.", "notes": "Decider is the Go proposal review group, announced by rsc. Quota left as formal-process.", "caseId": "go-cmp-or", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-unique-generic-handle", "sources": [{"url": "https://github.com/golang/go/issues/62483", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:12.620768+00:00"}], "repo": "golang/go", "domain": "api-design", "title": "Generic handle package versus string interning", "question": "Should Go expose value interning as an explicit generic handle package, or as transparent string-only interning?", "questionExplicit": true, "context": "A copy of go4.org/intern already sits inside the standard library for net/netip, and it relies on runtime assumptions. The runtime team proposed a generic, runtime-integrated public API instead.", "options": [{"label": "Explicit generic Handle[T] for any comparable type", "proposedBy": "proposer (runtime team)", "fate": "chosen"}, {"label": "Transparent string-only interning (strings.Intern or runtime.Intern)", "proposedBy": "contributors and users", "fate": "rejected"}, {"label": "Separate memory region for interned strings", "proposedBy": "a Go team member", "fate": "rejected"}, {"label": "Best-effort string helper layered on Handle", "proposedBy": "a maintainer", "fate": "deferred"}, {"label": "Weak-keyed or namespaced maps exposed in the API", "proposedBy": "users", "fate": "rejected"}], "criteria": ["preserving the GC abstraction", "cheap comparisons", "overhead for code that does not intern", "usefulness beyond strings", "API clarity"], "participants": {"count": 26, "roles": ["Go team", "proposal review group", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Should handles be global or namespaced?", "Is deduplication tied to the handle or the allocation?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 57, "comments": 79, "reactionsTotal": 133, "decidedOffPlatform": true, "notableMoves": ["proposal added to weekly review", "likely accept then final comment period", "proposal text edited after acceptance to match the implementation", "weak pointers split out as an internal package"]}, "outcome": {"decided": true, "decision": "Add package unique with a generic Handle[T], Make and Value; string interning is treated as a separate problem.", "how": "fcp", "rationale": "An explicit handle is clearer to reason about, keeps the GC abstraction, avoids overhead on all strings, and serves non-string types such as hashes.", "dissent": "Some wanted transparent string interning for json-style use and found keeping handles awkward.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://go.dev/cl/574355"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several API shapes weighed against clear criteria by the review group.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "settle", "build-pr"], "gaps": ["off-platform decision: acceptance came from weekly proposal review meetings and is only reported here", "staged acceptance: likely accept and final comment period stages before acceptance", "coupled decisions: naming, scope and string interning were settled together in one thread", "record drift: the opening proposal text was rewritten after acceptance to describe the implementation"]}, "evalUse": "Tests capturing a formal proposal process with a scope decision and a coupled naming bikeshed.", "notes": "Decided by the Go proposal review group; implementation CL linked by a bot. Duration to the accept comment.", "caseId": "go-unique-handle", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "go-unique-naming", "sources": [{"url": "https://github.com/golang/go/issues/62483", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:12.620768+00:00"}], "repo": "golang/go", "domain": "naming", "title": "Naming the unique package, type and constructor", "question": "What should the package, handle type and constructor be called?", "questionExplicit": true, "context": "The proposal began as package intern with type Symbol and constructor New. Reviewers felt those names carried Lisp and Java meanings.", "options": [{"label": "package unique, type Handle, constructor Make", "proposedBy": "Go team member and a contributor", "fate": "chosen"}, {"label": "package intern with Symbol", "proposedBy": "proposer", "fate": "rejected"}, {"label": "constructor New", "proposedBy": "proposer", "fate": "rejected"}, {"label": "MakeHandle", "proposedBy": "a contributor", "fate": "rejected"}, {"label": "Get, Obtain, For, Intern, Identity, atom", "proposedBy": "contributors and users", "fate": "rejected"}], "criteria": ["familiarity without Lisp background", "call-site readability", "room for future additions", "alignment with cgo.Handle"], "participants": {"count": 26, "roles": ["Go team", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": [], "deferred": false, "reopened": false, "superseded": false, "durationDays": 57, "comments": 79, "reactionsTotal": 133, "decidedOffPlatform": true, "notableMoves": ["issue renamed twice to track the naming", "late renaming requests turned away after acceptance"]}, "outcome": {"decided": true, "decision": "unique.Handle with unique.Make and Handle.Value.", "how": "fcp", "rationale": "Unique describes creating identities, Handle aligns with cgo.Handle, and Make avoids implying a pointer; MakeHandle is redundant in a single-type package.", "dissent": "A contributor felt Make reads as incomplete at call sites; later users preferred Intern.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://go.dev/cl/574355"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A naming bikeshed over a list of candidate names.", "secondaryShape": null, "fitsFlows": ["ask-teammate", "settle"], "gaps": ["votes as evidence: name support was gauged informally from comments and reactions"]}, "evalUse": "Tests separating a naming sub-decision from the main API decision.", "notes": "Decided alongside the main proposal by the review group.", "caseId": "go-unique-handle", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "xterm-history-api-shape", "sources": [{"url": "https://github.com/golang/go/issues/68780", "kind": "proposal", "retrievedAt": "2026-10-18T07:30:44.388568+00:00"}], "repo": "golang/go", "domain": "api-design", "title": "Shape of the x/term history API", "question": "How should x/term let callers read, persist and control the terminal's input history: extra methods on Terminal, a slice get/set, a deque type, or a pluggable History interface?", "questionExplicit": false, "context": "x/term keeps a private 100-entry ring buffer of input lines. Users of REPLs wanted to save, restore, filter and resize it, and the opener had a working PR and fork with a set of new methods.", "options": [{"label": "Add methods to Terminal (History, AddToHistory, NewHistory, ReplaceLatest, AutoHistory)", "proposedBy": "ldemailly", "fate": "rejected"}, {"label": "Expose history as a slice field or History()/SetHistory() copy API", "proposedBy": "rsc, aclements, earthboundkid", "fate": "rejected"}, {"label": "Bounded deque type, possibly generic container/deque", "proposedBy": "aclements, jimmyfrasche", "fate": "rejected"}, {"label": "Pluggable History interface field on Terminal", "proposedBy": "rsc, seankhliao", "fate": "chosen"}, {"label": "Export the internal ring buffer as a concrete type", "proposedBy": "aclements", "fate": "rejected"}, {"label": "At panics when out of range (vs returning ok or empty string)", "proposedBy": "aclements", "fate": "chosen"}], "criteria": ["minimal API surface", "generality for callers", "efficiency of copying", "concurrency and locking safety", "consistency with standard sequence types", "backward compatibility of the 100-line default", "ease of implementing correctly"], "participants": {"count": 8, "roles": ["Go proposal review group", "maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Should Len be part of the interface?", "Should At panic or return ok/empty when out of range?", "Should method names follow deque conventions?", "Is extra locking needed?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 251, "comments": 79, "reactionsTotal": 39, "decidedOffPlatform": true, "notableMoves": ["Proposal sat unreviewed for six months before entering the active column", "Review group reframed from adding methods to a pluggable interface", "Opener rewrote his PR as an interface spike mid-discussion", "Late change to a panicking At during the final comment period", "Contributor survey of deque libraries cited as evidence"]}, "outcome": {"decided": true, "decision": "Add a History interface (Add, Len, panicking At) as a Terminal field that NewTerminal sets to a 100-line default buffer; callers must not use it concurrently with ReadLine.", "how": "fcp", "rationale": "An interface is the smallest API that still lets callers do anything with their history, and a panicking At matches built-in sequences; locking is unnecessary given the documented ReadLine rule.", "dissent": "The opener and another user preferred the original methods or a non-panicking At, felt the interface pushes complexity onto callers, and said they yielded only to make progress.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/golang/term/pull/20"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete API shapes were compared against explicit criteria such as surface size, generality and safety.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "build-pr"], "gaps": ["off-platform decision: the proposal review group decided in weekly meetings and posted only the verdicts", "staged acceptance: a likely-accept stage and a final comment period preceded acceptance, and the API changed during that window", "coupled decisions: the interface choice and the At panic behaviour were settled together in one verdict", "dissent recorded as reluctant consent: the main contributor stated he yielded for progress, which a single settled answer hides", "long idle wait: six months passed with no reviewer before the question entered triage"]}, "evalUse": "Tests tracking an API design through rival shapes to a formal review verdict with a late sub-decision and lingering dissent.", "notes": "Decider is the Go proposal review group (aclements announced likely accept and accept). The question was never stated as a single explicit question in the thread.", "caseId": "go-xterm-pluggable-history", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "helix-terminal-in-core", "sources": [{"url": "https://github.com/helix-editor/helix/issues/1976", "kind": "issue", "retrievedAt": "2026-10-18T07:29:24.405468+00:00"}], "repo": "helix-editor/helix", "domain": "architecture", "title": "Built-in terminal versus external tools", "question": "Should Helix embed a terminal emulator in core, or leave terminals to plugins, a client-server mode or external multiplexers?", "questionExplicit": true, "context": "Helix is a batteries-included modal editor without plugins. Users coming from VS Code and Neovim want a terminal pane, while others see it as bloat that multiplexers already cover.", "options": [{"label": "Built-in terminal emulator in core", "proposedBy": "opener", "fate": "deferred"}, {"label": "Terminal as a plugin once plugins exist", "proposedBy": "a contributor", "fate": "deferred"}, {"label": "Client-server architecture so external panes act as clients", "proposedBy": "opener", "fate": "deferred"}, {"label": "Rely on tmux, Zellij or terminal splits plus glue scripts", "proposedBy": "maintainers and users", "fate": "partly"}, {"label": "Run :sh output into a scratch buffer", "proposedBy": "a user", "fate": "deferred"}], "criteria": ["implementation and maintenance cost", "core bloat", "editor integration such as jumping to files", "Windows portability", "consistent key bindings"], "participants": {"count": 49, "roles": ["maintainers", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should it be compiled optionally?", "Which PTY library to use?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1661, "comments": 70, "reactionsTotal": 1055, "decidedOffPlatform": false, "notableMoves": ["earlier Matrix discussion referenced", "maintainers split: one welcomes experiments, another says it does not belong in core", "a prototype draft PR is said to settle the case for it", "many users post workaround scripts", "a new WIP PR revives the prototype in 2025"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": "Maintainers and users disagree on whether a terminal belongs in core at all.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Distinct architectural routes weighed against cost, bloat and integration criteria.", "secondaryShape": "explore", "fitsFlows": ["find", "research-or-spike", "ask-teammate", "build-pr"], "gaps": ["off-platform decision: prior discussion happened on Matrix and is only mentioned here", "staged acceptance: a maintainer treats a draft prototype as ending the debate without any formal acceptance", "votes as evidence: over a thousand reactions are the main signal of demand", "decider not in thread: maintainers disagree and no one is named to settle it", "coupled decisions: the terminal depends on unbuilt plugin and client-server work"]}, "evalUse": "Tests representing a long-open, unresolved architecture debate with split maintainers and live prototypes.", "notes": "Undecided; issue still open. Duration measured to the last event.", "caseId": "helix-integrated-terminal", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "helix-file-explorer-shape", "sources": [{"url": "https://github.com/helix-editor/helix/pull/11285", "kind": "pr", "retrievedAt": "2026-10-18T07:25:13.469782+00:00"}], "repo": "helix-editor/helix", "domain": "ui-ux", "title": "Shape and defaults of a picker-based file explorer", "question": "Should Helix ship a minimal file browser built on its picker in core, and if so where should it open and how should it be bound and named?", "questionExplicit": false, "context": "An earlier issue had concluded a file tree was too hard for core and should wait for plugins. A first-time contributor offered a small picker-based browser and reviewers debated its starting directory, default keys and scope.", "options": [{"label": "Minimal picker-based browser in core", "proposedBy": "drybalka", "fate": "chosen"}, {"label": "oil.nvim-style buffer editing of the file system", "proposedBy": "daedroza", "fate": "rejected"}, {"label": "Open at the current buffer's directory by default", "proposedBy": "zegervdv", "fate": "partly"}, {"label": "Three commands mirroring the file picker variants", "proposedBy": "irh", "fate": "chosen"}, {"label": "Default binding on space and period", "proposedBy": "the-mikedavis", "fate": "rejected"}, {"label": "Default binding on space e", "proposedBy": "nik-rev", "fate": "chosen"}, {"label": "Depth-limited tree listing", "proposedBy": "cgahr", "fate": "deferred"}, {"label": "File operations such as create and delete", "proposedBy": "DoctorRyner", "fate": "deferred"}, {"label": "Rename the command to explorer", "proposedBy": "nik-rev", "fate": "partly"}], "criteria": ["small maintenance burden", "reuse of existing picker UI", "consistency with file_picker variants", "usefulness of buffer directory versus project root", "avoiding extra syscalls", "symlink correctness"], "participants": {"count": 26, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Which directory should the browser open in?", "Which default keys should it use?", "Should errors show for a scratch buffer?", "Should it be called browser or explorer?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 184, "comments": 81, "reactionsTotal": 664, "decidedOffPlatform": false, "notableMoves": ["opener argued against the plugin-only conclusion of #200", "starting directory flipped to buffer directory, then split into three commands after user requests", "opener left key bindings to core maintainers", "a contributor sent mappings as a PR against the opener's branch", "PR renamed to explorer after merge"]}, "outcome": {"decided": true, "decision": "Merge the picker-based browser with variants for the working directory, project root and buffer directory, directory styling and a parent entry, with a default space e binding; the PR was retitled to file explorer.", "how": "maintainer-decision", "rationale": "The change is small and reuses existing UI components, while richer features can follow in later PRs.", "dissent": "Some wanted an oil.nvim-style editor or a real tree, and users disagreed on which scope belongs on the lowercase key.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/helix-editor/helix/pull/11285"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "A yes-or-no on core scope was coupled with choices about starting directory, key bindings and naming.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["coupled decisions: core inclusion, starting directory, default keys and naming were settled together in one PR", "decider not in thread: the opener explicitly waited for core maintainers to pick key bindings while users debated them", "votes as evidence: many testers' reactions and reports drove the starting-directory change without a tally", "reversal after shipping: naming changed to explorer only after the merge"]}, "evalUse": "Tests tracking several small coupled UI decisions spread across a long PR, including a late rename.", "notes": "Decider: the-mikedavis approved and merged. The final default binding is inferred from a post-merge comment; the exact keymap was not checked in the diff.", "caseId": "helix-picker-file-explorer", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "helix-explorer-design", "sources": [{"url": "https://github.com/helix-editor/helix/pull/2377", "kind": "pr", "retrievedAt": "2026-10-18T07:24:57.765035+00:00"}], "repo": "helix-editor/helix", "domain": "ui-ux", "title": "Four explorer modes, one overlay tree, or a picker-style find file", "question": "What form should a built-in file explorer take in Helix: four configurable tree/list and embed/overlay modes, a single overlay tree, or a picker-like find-file flow?", "questionExplicit": false, "context": "Helix has no plugin system, so a file tree must live in core. A community PR shipped four display styles with a separate key set; reviewers questioned the scope, key design and destructive actions.", "options": [{"label": "Four styles (embed/overlay x tree/list)", "proposedBy": "PR author", "fate": "rejected"}, {"label": "Single overlay tree view", "proposedBy": "sudormrfbin", "fate": "deferred"}, {"label": "Picker-style find file with no separate key set", "proposedBy": "pickfire", "fate": "deferred"}, {"label": "Generic tree component reusable for debugger and symbols", "proposedBy": "archseer", "fate": "partly"}, {"label": "File type icons in the explorer", "proposedBy": "users", "fate": "rejected"}], "criteria": ["maintenance cost", "discoverable keybindings consistent with pickers", "safety of destructive file actions", "screen space and focus clarity", "reuse for other tree views"], "participants": {"count": 42, "roles": ["maintainers", "contributors", "users", "PR author"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should icons be in core?", "User-facing name: file explorer or tree explorer?", "Should git status or diagnostics appear in the tree?"], "deferred": true, "reopened": false, "superseded": true, "durationDays": 310, "comments": 77, "reactionsTotal": 868, "decidedOffPlatform": false, "notableMoves": ["competing picker-style PR opened for comparison", "maintainers froze scope: feature requests after the base lands", "author went inactive and community forks rebased it", "closed as replaced by a v3 PR from another contributor"]}, "outcome": {"decided": false, "decision": null, "how": "abandoned", "rationale": null, "dissent": "Several users and a maintainer preferred one view over four; the author held that four modes were cheap.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Concrete UI variants (modes, picker vs tree) weighed on maintenance, discoverability and safety.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "research-or-spike", "reshape"], "gaps": ["superseded by successor PR: the design question moved to PR #5768 by a different author, and the record must link across PRs", "absent author: the proposer went inactive, so review feedback was never folded in and forks carried it", "scope freeze: maintainers deferred a growing list of feature asks until a base lands, a staging decision with no explicit record", "coupled decisions: icon support was split into a separate editor-wide proposal that blocked part of this one"]}, "evalUse": "Tests whether a model can extract the contested design points from a PR review thread full of feature requests and recognise that nothing was decided here.", "notes": "Named maintainer: archseer closed it as replaced by #5768. The final outcome of #5768 was not fetched. The PR author's account shows as ghost (deleted).", "caseId": "helix-file-explorer-pr", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "helix-state-file-layout", "sources": [{"url": "https://github.com/helix-editor/helix/pull/9143", "kind": "pr", "retrievedAt": "2026-10-18T07:24:49.680534+00:00"}], "repo": "helix-editor/helix", "domain": "data-model", "title": "Single session file or per-kind files", "question": "Should persisted session state live in one merged ShaDa-style file or in separate per-kind files, and in what serialization format?", "questionExplicit": true, "context": "The opener studied Neovim's single ShaDa file. A maintainer wanted streaming, append-only writes and disliked serde's lack of streaming support.", "options": [{"label": "Single merged file like Neovim ShaDa", "proposedBy": "intarga", "fate": "rejected"}, {"label": "Separate files per state kind, append-only where suitable", "proposedBy": "pascalkuthe", "fate": "chosen"}, {"label": "MessagePack encoding", "proposedBy": "intarga", "fate": "rejected"}, {"label": "bincode with simple self-describing headers", "proposedBy": "pascalkuthe", "fate": "chosen"}, {"label": "Keep undo history in the same store", "proposedBy": "kirawi", "fate": "rejected"}], "criteria": ["background disk writes", "trimming and per-type limits", "merging concurrent sessions", "streaming deserialization", "implementation simplicity"], "participants": {"count": 23, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "deferred": false, "reopened": false, "superseded": false, "comments": 86, "reactionsTotal": 281, "decidedOffPlatform": false, "subQuestions": ["Should undo history share the store?", "Which crate owns session types?", "Should restored files centre or keep the saved offset?"], "durationDays": 6, "notableMoves": ["opener argued six benefits of a single file before conceding", "crate ownership settled in inline review", "Windows state directory picked after a user crash report"]}, "outcome": {"decided": true, "decision": "Use separate files per state kind, appending where it fits, serialized with bincode; undo history stays separate.", "how": "maintainer-decision", "rationale": "Separate files avoid Neovim's complex merging and reduce large background writes, much like shell history.", "dissent": "The opener initially argued a single file eases trimming, per-type limits and chronological ordering.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Two storage layouts and two encodings were compared against write cost and trimming.", "secondaryShape": null, "fitsFlows": ["research-or-spike", "ask-teammate", "settle"], "gaps": ["decision without delivery: the agreed design was built but the PR was closed unmerged after maintainers never reviewed it", "prior art as evidence: the debate leaned on Neovim's ShaDa design and docs rather than local measurements"]}, "evalUse": "Tests recognising a settled design inside a PR that was ultimately abandoned.", "notes": "Decider is pascalkuthe; the opener agreed the same day. implementedIn is empty because the PR never merged.", "caseId": "helix-persistent-state", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "helix-state-scope", "sources": [{"url": "https://github.com/helix-editor/helix/pull/9143", "kind": "pr", "retrievedAt": "2026-10-18T07:24:49.680534+00:00"}], "repo": "helix-editor/helix", "domain": "product-behaviour", "title": "Global or per-workspace persisted state", "question": "Should persisted history and clipboard be shared across all Helix instances or scoped per workspace, and how should that be configured?", "questionExplicit": true, "context": "A contributor running many instances worried unrelated projects would overwrite each other's clipboard and history. The opener preferred a global default.", "options": [{"label": "Global store for all instances", "proposedBy": "intarga", "fate": "chosen"}, {"label": "Store state in each workspace's .helix folder", "proposedBy": "useche", "fate": "rejected"}, {"label": "Optional per-workspace mode under the user state directory", "proposedBy": "useche", "fate": "partly"}, {"label": "Per-kind global, workspace or off values", "proposedBy": "intarga", "fate": "deferred"}, {"label": "An all section with defaults overridable per kind", "proposedBy": "useche", "fate": "deferred"}], "criteria": ["predictable state per project", "files opened outside the workspace", "not creating unexpected folders", "config simplicity", "split restore later"], "participants": {"count": 23, "roles": ["contributors", "users"], "decider": "unclear"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "deferred": true, "reopened": false, "superseded": false, "comments": 86, "reactionsTotal": 281, "decidedOffPlatform": false, "subQuestions": ["Should splits be persisted in this PR?", "How should per-kind options be shaped?"], "durationDays": 503, "notableMoves": ["opener explicitly deferred the final call to absent maintainers", "contributor built prototypes on a personal fork and sent patches by email", "PR closed by its author after users kept asking for a merge"]}, "outcome": {"decided": false, "decision": null, "how": "abandoned", "rationale": null, "dissent": "The contributor felt a global default makes split restore awkward; the opener felt workspace defaults would surprise most users.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several scoping and config shapes were weighed between two contributors.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate"], "gaps": ["decider not in thread: both contributors agreed the call belonged to maintainers who never appeared", "work on forks: the alternative design lived in another person's fork and emailed patches, outside the PR", "stalled decision: no mechanism to escalate or time out when the decider is absent, so the author closed the PR"]}, "evalUse": "Tests handling an open design question that dies for lack of a decider.", "notes": "Undecided; durationDays runs to the PR close on 2025-05-08.", "caseId": "helix-persistent-state", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-floors-vs-nested-areas", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/1021", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:02.025609+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "Floors versus nested areas", "question": "Should Home Assistant group areas with a dedicated floor concept, or with nested areas, area classes or labels?", "questionExplicit": true, "context": "Home Assistant has areas, devices and entities. The founder proposed a floor registry as the next level up; many users wanted a more general, possibly overlapping, grouping.", "options": [{"label": "Floor registry referenced by areas", "proposedBy": "balloob", "fate": "chosen"}, {"label": "Nested areas", "proposedBy": "cgarwood", "fate": "rejected"}, {"label": "Area classes", "proposedBy": "tdejneka", "fate": "deferred"}, {"label": "Labels or tags with many-to-many membership", "proposedBy": "zyberzero", "fate": "partly"}, {"label": "Devices in multiple areas", "proposedBy": "shbatm", "fate": "rejected"}, {"label": "Rename to level or area group", "proposedBy": "cvroque", "fate": "rejected"}], "criteria": ["predictability and simplicity", "fit for apartments and outdoor spaces", "usefulness for dashboards, voice and robots", "implementation complexity", "flexibility for overlapping spaces"], "participants": {"count": 32, "roles": ["maintainers", "designers", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should floors hold devices?", "Name: floor, level or area group?", "How to handle outdoor areas?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 69, "comments": 104, "reactionsTotal": 343, "decidedOffPlatform": false, "notableMoves": ["proposal already stated its decision", "implementation PRs opened before most feedback, which drew participants in", "long maintainer essay marked as answer to reframe scope", "flexible grouping deferred to separate labels work"]}, "outcome": {"decided": true, "decision": "Floors were added as a registry that areas reference, merged in core; flexible non-physical grouping was split off to labels and categories.", "how": "maintainer-decision", "rationale": "Floors are a precise physical abstraction HA can reason about for dashboards, voice and targeting; logical grouping is a separate problem.", "dissent": "Many users saw floors as too narrow and wanted nested areas or many-to-many grouping, calling the outcome an impasse.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/home-assistant/core/pull/110741"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Distinct data-model options weighed on simplicity, coverage and reasoning power.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["decided before discussed: the proposal named its decision and PRs were open before feedback arrived", "scope splitting: the team separated physical from logical grouping mid-thread, spinning off labels as a different decision without a link", "coupled decisions: depended on proposal #1017 about device impact levels", "answer marking: a long personal essay was marked as the answer though it was a position, not a ruling"]}, "evalUse": "Tests whether a model distinguishes the shipped floor model from the deferred flexible grouping and captures heavy dissent.", "notes": "Proposer balloob; frenck wrote the marked answer and closed it. Decider recorded as team.", "caseId": "homeassistant-floors-vs-nested-areas", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-entity-name-editing", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/1185", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:03.921825+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "Compose friendly names from registry names", "question": "Should user renames edit the entity's registry name so friendly names are always composed from device and entity names, and should users keep a way to opt out?", "questionExplicit": true, "context": "Integrations name entities as device plus entity name, but a user rename overwrites friendly_name and drops the device context, causing inconsistency and frontend string hacks. The frontend team wanted structured names it could show differently by context.", "options": [{"label": "Edit entity name; always compose friendly name with device name", "proposedBy": "piitaya (maintainer)", "fate": "chosen"}, {"label": "Add a 'use as full name' flag to opt out of composition", "proposedBy": "piitaya, after abmantis (maintainers)", "fate": "rejected"}, {"label": "name_context registry field (device, area, none)", "proposedBy": "arturpragacz (maintainer)", "fate": "rejected"}, {"label": "Token-based name composition UI", "proposedBy": "parautenbach (user)", "fate": "rejected"}, {"label": "Inheritable include/exclude-device-name options on dashboards and cards", "proposedBy": "Petro31 (user)", "fate": "partly"}, {"label": "Keep friendly_name as a full override", "proposedBy": "parautenbach (user)", "fate": "rejected"}], "criteria": ["consistency between integration and user names", "user control over displayed names", "backward compatibility for dashboards, voice and custom cards", "simplicity of the model", "multi-language support"], "participants": {"count": 15, "roles": ["maintainers", "designer", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should an opt-out flag exist?", "How do sub-devices name their entities?", "Migration of existing custom names"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 432, "comments": 56, "reactionsTotal": 125, "decidedOffPlatform": true, "notableMoves": ["the opt-out flag was added after early feedback and silently removed a year later", "the change shipped across several releases before formal approval", "a maintainer retroactively approved the proposal on release", "post-decision objections were redirected to the forum", "a user reports the change was then pulled from the release"]}, "outcome": {"decided": true, "decision": "Accepted retroactively: renames edit the entity name, friendly_name always includes the device name, existing names migrate with voice aliases, and no opt-out flag is provided.", "how": "maintainer-decision", "rationale": "Ends the inconsistency between integration and user names and aligns the backend with structured naming the frontend already used; card-level name controls serve as the override.", "dissent": "Several users strongly objected to losing a full-name override, citing switches that control other devices and the extra per-card work.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/home-assistant/core/pull/162763"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "A core choice about naming semantics bundled with a tunable sub-question about whether an opt-out exists.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "revisit-reopen"], "gaps": ["retroactive approval: the change was built and shipped before the question was settled, then marked approved after the fact", "silent option removal: an option added in response to feedback was later dropped by editing the proposal, with no recorded reasoning", "reversal after shipping: a user reports the change was pulled from the release after backlash, but the thread never records it", "decider outside the thread: the deciding maintainer appears only at the end to announce the outcome", "off-platform decision: implementation and roadmap tracking happened in other repos and a forum the record cannot see"]}, "evalUse": "Tests tracking how options were added and removed from a living proposal, and spotting a retroactive approval and an unrecorded rollback.", "notes": "Decider: frenck. Answer posted 2026-03-24; the later report that the change was pulled from 2026.4 is a user claim not verified here. Some long comments were clipped in the digest.", "caseId": "home-assistant-entity-name-editing", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-addons-to-apps", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/1287", "kind": "discussion", "retrievedAt": "2026-10-18T07:18:59.823484+00:00"}], "repo": "home-assistant/architecture", "domain": "naming", "title": "Rename Add-ons to Apps", "question": "Should the user-facing term 'Add-ons' be renamed, and if so to Apps, Applications or another name?", "questionExplicit": true, "context": "Add-ons are separate containerised programs managed by the Supervisor, but newcomers confuse them with integrations. The proposal limited the change to UI and docs.", "options": [{"label": "Apps", "proposedBy": "marcelveldt", "fate": "chosen"}, {"label": "Applications", "proposedBy": "frenck", "fate": "rejected"}, {"label": "Keep Add-ons with better in-UI explanation", "proposedBy": "BenPhilippi", "fate": "rejected"}, {"label": "Add-on Apps", "proposedBy": "parautenbach", "fate": "rejected"}, {"label": "Hosted Apps", "proposedBy": "TimoPtr", "fate": "rejected"}, {"label": "Containers", "proposedBy": "farmio", "fate": "rejected"}, {"label": "Modules", "proposedBy": "AD8-sven", "fate": "rejected"}], "criteria": ["newcomer mental model", "distinction from integrations", "clash with Companion App", "searchability of existing content", "technical accuracy", "change fatigue"], "participants": {"count": 45, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Apps or Applications?", "How to avoid confusion with the Companion App?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 107, "comments": 85, "reactionsTotal": 407, "decidedOffPlatform": false, "notableMoves": ["proposal edited mid-thread from Applications to Apps", "second wave of feedback after a video and forum post", "late users asked for the data behind the decision"]}, "outcome": {"decided": true, "decision": "Add-ons are renamed to Apps in the UI and docs, with redirects so old terms still find them.", "how": "maintainer-decision", "rationale": "Apps are a familiar concept on many devices, a compound name would split in use, and a clean change lowers the barrier for newcomers.", "dissent": "Many users preferred keeping Add-ons, a compound name, or better in-UI explanation, and doubted it addressed the real confusion.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A naming choice among many candidates against a clear set of criteria.", "secondaryShape": null, "fitsFlows": ["find", "ask-teammate", "reshape", "settle"], "gaps": ["edited proposal: the opening post was revised to adopt a commenter's option, so history lives inside one edited text", "user research as evidence: participants asked for newcomer data that never appeared", "off-platform input: feedback also came through a video, blog and forum thread", "reframing: many replies argued the real problem was a different menu, which the design cannot split off"]}, "evalUse": "Tests tracking a naming choice through many candidates to a maintainer decision with rationale and dissent.", "notes": "Decider: frenck. Shipped in release 2026.2 per a linked announcement.", "caseId": "homeassistant-addons-to-apps", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-template-binary-sensor-delays-ui", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/1340", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:41.465649+00:00"}], "repo": "home-assistant/architecture", "domain": "ui-ux", "title": "Template binary sensor delay options in the helper UI", "question": "Should the template binary sensor helper UI expose delay_on and delay_off, and if so as advanced fields or via a YAML editing mode?", "questionExplicit": true, "context": "The options existed only in YAML, and at least five core PRs adding them to the helper UI had been closed over screen clutter. Users asked the project to reverse that stance.", "options": [{"label": "Add delay fields under an advanced options section", "proposedBy": "suaveolent", "fate": "chosen"}, {"label": "Add an Edit in YAML toggle for helpers", "proposedBy": "suaveolent", "fate": "deferred"}, {"label": "Keep the options YAML-only", "proposedBy": "maintainers (earlier PR reviews)", "fate": "rejected"}], "criteria": ["UI clutter", "avoiding forced YAML migration", "parity with YAML", "preview support in the helper"], "participants": {"count": 13, "roles": ["users", "maintainers", "contributors"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Which of several competing PRs implements it?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 199, "comments": 17, "reactionsTotal": 113, "decidedOffPlatform": true, "notableMoves": ["users asked to reverse a decision made across earlier closed PRs", "decided at a core architecture meeting and reported here two months later", "approval note did not say which variant was approved"]}, "outcome": {"decided": true, "decision": "The core architecture meeting approved the proposal; follow-up points to a complete core PR exposing the delay options in the helper.", "how": "maintainer-decision", "rationale": null, "dissent": null, "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Two concrete UI routes (advanced fields vs YAML toggle) against keeping the status quo.", "secondaryShape": null, "fitsFlows": ["find", "revisit-reopen", "settle", "build-pr"], "gaps": ["off-platform decision: approval came from a core architecture meeting, posted here without rationale over two months later", "ambiguous settlement: the approval did not name which option won, so a user had to ask", "votes as evidence: 62 reactions on the opening served as the main demand signal", "reopening a decision scattered across PRs: the prior refusal lived in five closed PRs rather than one record", "competing implementations: several PRs targeted the same decision and a commenter had to say which was complete"]}, "evalUse": "Tests whether an agent notices that the approval leaves unstated which of the two proposals was accepted.", "notes": "Rationale is null because the meeting outcome was posted with no reasoning. The implementing PR is home-assistant/core#181203 per a commenter, not confirmed merged in the thread, so implementedIn is empty.", "caseId": "homeassistant-template-delay-ui", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "home-assistant-network-interface-policy", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/509", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:06.290479+00:00"}], "repo": "home-assistant/architecture", "domain": "architecture", "title": "Network interface selection for discovery and broadcast listeners", "question": "Should integrations be barred from listening on all network interfaces, and how should multi-interface hosts be supported?", "questionExplicit": true, "context": "Integrations that bound to every interface hit failures on loopback and virtual interfaces, while some users deliberately run Home Assistant across separate home and IoT networks. Each integration handled interface choice differently.", "options": [{"label": "Ban all-interface listening; default interface only", "proposedBy": "project lead", "fate": "rejected"}, {"label": "Do not support multiple interfaces; fix at network or host level", "proposedBy": "project lead", "fate": "rejected"}, {"label": "Keep per-integration behaviour, fix individual bugs", "proposedBy": "users", "fate": "rejected"}, {"label": "Core-provided interface list with filtering", "proposedBy": "users and maintainers", "fate": "merged"}, {"label": "Central setting: auto detect, default, specific, or all interfaces", "proposedBy": "maintainer (bdraco)", "fate": "chosen"}, {"label": "YAML-only configuration", "proposedBy": "maintainer", "fate": "rejected"}], "criteria": ["reliability on loopback and virtual interfaces", "support for multi-homed setups", "consistency across integrations", "user-friendliness", "backwards compatibility"], "participants": {"count": 12, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Is the problem multicast or broadcast?", "Should the setting live in YAML or the UI?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 103, "comments": 55, "reactionsTotal": 63, "decidedOffPlatform": false, "notableMoves": ["proposer hardened the proposal, then the thread pushed back", "participants disputed what problem was being solved and called for restart", "a shipped zeroconf default change supplied evidence", "proposal reshaped into a central configurable setting", "discussion left open for four years and closed as stale"]}, "outcome": {"decided": true, "decision": "Instead of a ban, add a core `network` integration with one central setting that defaults to auto detection and lets users pick the default interface, specific interfaces, or all.", "how": "maintainer-decision", "rationale": "Defaulting zeroconf to the default interface fixed loopback trouble but broke multi-interface users, and divergent per-integration settings were confusing, so a single central choice avoids both.", "dissent": "Some participants felt the problem was never clearly defined and that the thread should have been restarted.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/home-assistant/core/pull/50874", "https://github.com/home-assistant/frontend/pull/9210"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A ban versus several configuration models, weighed on reliability and multi-network support.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "reshape", "build-pr"], "gaps": ["problem statement disputed: participants disagreed on whether the issue was multicast, broadcast or one bug, and no step pinned it down", "shipped change as evidence: a zeroconf default change released meanwhile showed both benefits and breakage", "reshaped proposal: the original ban turned into a configuration feature without an explicit settle step", "stale closure: the thread was closed four years later with only a note that most of it had been applied"]}, "evalUse": "Tests whether a model sees that a proposed ban was replaced by a configurable central setting.", "notes": "Decider is bdraco, who proposed and built the central setting. Merge status of PRs #50874 and #9210 was not checked.", "caseId": "home-assistant-network-interface-binding", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-numeric-state-unavailable", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/668", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:05.302738+00:00"}, {"url": "https://github.com/home-assistant/core/pull/71374", "kind": "pr", "retrievedAt": "2026-10-18T07:19:05.302738+00:00"}], "repo": "home-assistant/architecture", "domain": "product-behaviour", "title": "Should numeric_state fire after unavailable", "question": "Should a numeric_state trigger fire when its entity returns from unavailable to a value that matches the threshold?", "questionExplicit": true, "context": "A numeric_state trigger currently fires when an entity goes unavailable and comes back matching, even if the value never crossed the threshold, causing spurious automations after device reboots. The architecture repo is where such behaviour changes are proposed and approved.", "options": [{"label": "Fire only when both from and to states are numeric", "proposedBy": "amelchio (opener)", "fate": "rejected"}, {"label": "Opt-in flag to ignore unavailable transitions, default unchanged", "proposedBy": "Adminiuga (user)", "fate": "rejected"}, {"label": "Keep current behaviour", "proposedBy": "frenck (maintainer)", "fate": "chosen"}, {"label": "Treat comparisons with unavailable as invalid", "proposedBy": "elupus (user)", "fate": "deferred"}, {"label": "Compare against the last valid numeric state", "proposedBy": "balloob (project lead)", "fate": "rejected"}], "criteria": ["matches documented threshold-crossing semantics", "backward compatibility for existing automations", "consistency with other triggers and conditions", "behaviour at startup and for polling devices"], "participants": {"count": 6, "roles": ["maintainers", "core contributor", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Consistency between numeric_state triggers and conditions", "Whether other triggers refire after unavailable"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 200, "comments": 48, "reactionsTotal": 35, "decidedOffPlatform": false, "notableMoves": ["the project lead endorsed the proposal early while another maintainer objected", "the opener opened a PR, and review there sent it back for discussion", "the opener split each objection into its own reply thread, which the maintainer found hard to follow", "the project lead floated a compromise variant and called it pre-approved", "the opener withdrew the proposal the same day"]}, "outcome": {"decided": true, "decision": "The proposal was withdrawn by its author, leaving current behaviour in place.", "how": "abandoned", "rationale": "Not stated in the withdrawal; years later the author said the bug and proposal were still valid and he had stepped away from the process.", "dissent": "The author and the project lead both saw a change as warranted; a later user still hits the bug.", "confidence": "none", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete trigger semantics were compared against compatibility and consistency criteria.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "ask-teammate", "settle"], "gaps": ["unexplained withdrawal: the question ended by the proposer walking away, so the record has no decider or rationale", "split venue: objections were raised in a PR review and copied back into the discussion", "structured rebuttal: the opener needed one sub-thread per objection, which flattened discussion threads handled poorly", "ambiguous approval: the lead's 'pre-approved' remark left unclear whether a variant had been accepted"]}, "evalUse": "Tests whether a model reads an abandoned proposal as unresolved rather than as a decision to keep the status quo on its merits.", "notes": "amelchio is a long-time core developer though labelled NONE; frenck and balloob are maintainers. Duration runs to the withdrawal.", "caseId": "home-assistant-numeric-state-unavailable", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-device-ip-display", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/717", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:45.574165+00:00"}], "repo": "home-assistant/architecture", "domain": "ui-ux", "title": "Device IP and MAC visibility", "question": "Where should Home Assistant store and display a device's IP and hardware address so users can find them?", "questionExplicit": true, "context": "Integrations often know a device's IP and MAC but users cannot see them, which hampers DHCP reservations and support. Maintainers disagreed whether this belongs in device info, entities, the config entry or a separate dialog.", "options": [{"label": "New last-known IP field in device info", "proposedBy": "proposing maintainer", "fate": "deferred"}, {"label": "Expose as entities or diagnostic sensors", "proposedBy": "opposing maintainer", "fate": "rejected"}, {"label": "Technical info dialog opened from the device page", "proposedBy": "project founder", "fate": "deferred"}, {"label": "Show connection details from the config entry", "proposedBy": "proposing maintainer", "fate": "deferred"}, {"label": "Show MAC from connections on the device card", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Add IP and hardware addresses to `connections` tuples", "proposedBy": "user", "fate": "deferred"}], "criteria": ["findability for users", "device page clutter", "data duplication", "runtime freshness", "automatability", "support burden"], "participants": {"count": 16, "roles": ["maintainers", "project founder", "contributors", "users"], "decider": "unclear"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should non-network identifiers like VINs be shown", "Is IP a device or config entry property"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 1187, "comments": 50, "reactionsTotal": 92, "decidedOffPlatform": false, "notableMoves": ["MAC display shipped somewhere outside the thread", "Thread revived after two years to ask if IP is still needed", "Founder repeated the technical info dialog idea, with maintainer support, but no follow-through recorded", "UX designer suggested as reviewer but never appears"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": "One maintainer prefers entities and diagnostics; others want IP visible for support.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several placements for the same data weighed on clutter, freshness and automation.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "revisit-reopen"], "gaps": ["partial shipping outside thread: MAC display landed elsewhere and the thread only learns of it two years later", "decider not in thread: the founder and a UX designer were the natural deciders but no one settled it", "stalled question: broad support from maintainers in 2024 never became a decision or task, with no owner recorded", "coupled decisions: data model placement and UI placement were argued together"]}, "evalUse": "Tests whether an agent reports an open question as undecided despite wide agreement and a partial ship.", "notes": "No decision recorded; durationDays runs to the last event. MAC display shipped but no PR is linked.", "caseId": "home-assistant-device-ip-mac-display", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "home-assistant-lawn-mower-entity-model", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/894", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:08.491708+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "Lawn mower entity model", "question": "Should robotic mowers get their own lawn_mower entity rather than reusing or generalising vacuum, and what minimal states and services should it have?", "questionExplicit": true, "context": "Mower integrations were shipping on the vacuum entity because no mower domain existed. Brands use different terms and features for docking, pausing and schedules.", "options": [{"label": "New lawn_mower entity domain", "proposedBy": "opener", "fate": "chosen"}, {"label": "Rename vacuum to a generic robot domain", "proposedBy": "opener", "fate": "rejected"}, {"label": "Keep using vacuum for mowers", "proposedBy": "status quo", "fate": "rejected"}, {"label": "Schedule enable/disable as entity services", "proposedBy": "Gardena library maintainer", "fate": "rejected"}, {"label": "Schedule enable/disable as a separate switch entity", "proposedBy": "core team", "fate": "chosen"}, {"label": "Add a returning-to-dock activity state", "proposedBy": "implementer", "fate": "deferred"}], "criteria": ["consistency with other entity domains", "actuator-only scope with measurements as sensors", "support across brands", "states easy to add but hard to remove"], "participants": {"count": 20, "roles": ["maintainers", "integration authors", "users", "core team"], "decider": "named maintainer"}, "process": {"research": "survey", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Which activity states to include", "How schedules are represented", "Whether to add a returning state"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 1789, "comments": 52, "reactionsTotal": 73, "decidedOffPlatform": true, "notableMoves": ["maintainer asked for a cross-brand survey of features", "summary answer edited after a core team meeting moved schedules to a switch", "new states deferred on add-later-but-never-remove grounds"]}, "outcome": {"decided": true, "decision": "Create a lawn_mower entity whose state is an activity enum (error, paused, mowing, docked) with start_mowing, dock and pause services; everything else becomes separate sensor, switch or calendar entities.", "how": "maintainer-decision", "rationale": "Distinct device types get distinct domains, and the base entity should stay small and actuator-focused, growing only when many integrations share a feature.", "dissent": "Some early users preferred a generic robot domain; the implementer wanted richer schedule and docking states.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/home-assistant/core/pull/93623"]}, "chopinFit": {"shape": "choice", "shapeWhy": "The core fork was new domain versus generic rename, then a list of states and services to include.", "secondaryShape": "explore", "fitsFlows": ["find", "research-or-spike", "settle", "revisit-reopen", "build-pr"], "gaps": ["off-platform decision: the schedule-as-switch change came from a core team meeting and was only reported in the thread", "living answer: the accepted design summary was edited in place two years later rather than recorded as a revision", "coupled decisions: domain choice, state enum, service list and schedule modelling were settled as one bundle", "staged acceptance: direction accepted in 2020 but the spec and implementation took three more years", "cross-repo build: one decision fanned out to core, frontend, brands and two docs PRs"]}, "evalUse": "Long-running entity design with a mid-implementation revision from an off-thread team meeting.", "notes": "Decider: MartinHjelmare. Duration measured to the closing event, when the merged entity made the discussion moot.", "caseId": "home-assistant-lawn-mower-entity", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-event-entity-shape", "sources": [{"url": "https://github.com/home-assistant/architecture/discussions/929", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:07.387256+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "Event entity design and multi-button modelling", "question": "Should Home Assistant add a stateless `event` entity, and how should a device with several buttons be modelled with it?", "questionExplicit": true, "context": "Device events were exposed through raw bus events, misused binary sensors or device triggers, none of which gave users history or easy automation. The proposal adds an entity whose state is the last firing time, which raised how to model multi-button remotes and whether event lists must be fixed.", "options": [{"label": "One event entity per physical button or input endpoint", "proposedBy": "users and maintainers in thread", "fate": "chosen"}, {"label": "Single entity per device with an `event_input` attribute alongside event types", "proposedBy": "core meeting via proposing maintainer", "fate": "rejected"}, {"label": "Single entity with a flat combined event list", "proposedBy": "proposing maintainer (as baseline)", "fate": "rejected"}, {"label": "Group inputs by functional pair, decided per integration", "proposedBy": "user", "fate": "rejected"}, {"label": "Allow event types not declared upfront", "proposedBy": "maintainer working on Matter", "fate": "rejected"}, {"label": "Keep using binary sensors or a sensor device class", "proposedBy": "proposal alternatives", "fate": "rejected"}], "criteria": ["ease of use in UI and automations", "event history", "consistency across integrations", "translatability", "number of entities", "multi-vendor maintenance"], "participants": {"count": 13, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["What to call the event type list (`event_types`)", "Should stateful motion ever be an event", "How to migrate existing device triggers", "Should event data be excluded from the recorder"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 32, "comments": 77, "reactionsTotal": 80, "decidedOffPlatform": false, "notableMoves": ["Weekly core meeting raised the multi-button question and reported it back", "Proposal text edited in place to drop `event_input`", "A heated motion-sensor tangent was cut off by the proposer", "Rename to `event_types` adopted from a reply"]}, "outcome": {"decided": true, "decision": "Add an `event` entity with timestamp state and a fixed list of `event_types`; drop `event_input`, so each physical button gets its own entity, with UI grouping left for later.", "how": "maintainer-decision", "rationale": "Inputs made the entity and its UX harder and had no consensus; declared types enable translations and editor suggestions; looser rules can be added later more easily than stricter ones.", "dissent": "One maintainer preferred one entity per device and open event lists; a user felt motion UX consistency concerns were dismissed.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/home-assistant/core/pull/96797", "https://github.com/home-assistant/frontend/pull/17332"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Per-button entities versus a single entity with inputs or a flat list, weighed on UX, entity count and maintenance.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "reshape", "build-pr"], "gaps": ["off-platform decision: the multi-button question was debated in a weekly core meeting and only summarised in the thread", "coupled decisions: entity adoption, attribute naming, fixed event lists and the multi-button model were all settled together in one edited proposal", "proposal edited in place: the opening post was rewritten to record the outcome, so the original framing is lost without history", "scope fencing: a tangent about stateful motion was ruled out of scope and needed a separate proposal rather than a sub-question", "decider not stated: settlement was the proposer declaring consensus and starting implementation, with no explicit settle step"]}, "evalUse": "Tests whether an agent tracks a choice that drifted from the proposer's inputs idea to per-button entities through threaded replies.", "notes": "Named maintainer: frenck. Threaded discussion; several replies hang off the core-meeting comment.", "caseId": "home-assistant-event-entity", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "home-assistant-fan-speed-model", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/127", "kind": "issue", "retrievedAt": "2026-10-18T07:19:17.229783+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "Fan speed model: extra named speeds vs percentage", "question": "How should the fan entity represent fans with more than the three standard speeds?", "questionExplicit": true, "context": "The fan entity allowed only off, low, medium and high so values could be translated for voice assistants, but many fans have four, six, ten or continuous speeds and some integrations broke the rule.", "options": [{"label": "Add a medium-low speed to the base component", "proposedBy": "opener", "fate": "rejected"}, {"label": "Let platforms define their own speed lists", "proposedBy": "maintainer", "fate": "rejected"}, {"label": "Percentage speed with integrations mapping their steps", "proposedBy": "user, backed by maintainers", "fate": "chosen"}, {"label": "Opt-in SUPPORT_SET_SPEED_PERCENTAGE flag alongside old speeds", "proposedBy": "user", "fate": "merged"}, {"label": "Preset modes for non-speed values like auto", "proposedBy": "maintainer", "fate": "chosen"}, {"label": "Step size for UI snapping", "proposedBy": "maintainer", "fate": "deferred"}], "criteria": ["voice assistant translation", "support for many-speed and continuous fans", "backwards compatibility for automations", "UI usability for three-speed fans", "scalability without per-speed approvals"], "participants": {"count": 19, "roles": ["maintainers", "contributors", "users"], "decider": "consensus"}, "process": {"research": "data-analysis", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Must `off` be in the speed list?", "Should modes become presets?", "How to migrate existing integrations?", "Should step sizes be added?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 600, "comments": 56, "reactionsTotal": 52, "decidedOffPlatform": false, "notableMoves": ["narrow request grew into an entity model redesign", "thread stalled for over a year awaiting core attention", "a first draft PR stalled and a different maintainer later implemented it", "step sizes deferred to a follow-up PR to limit scope", "survey of non-conforming integrations informed the preset split"]}, "outcome": {"decided": true, "decision": "Replace named speeds with a percentage speed, split non-speed values into preset modes like climate entities, and translate old speed calls automatically; step sizes followed later.", "how": "consensus", "rationale": "Percentage scales to any fan while staying meaningful for voice assistants, and presets keep odd modes working without breaking the speed abstraction.", "dissent": "One user later questioned whether the change was still needed now that Alexa understands speed lists; another found percentages less intuitive than an enum.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/home-assistant/core/pull/45407", "https://github.com/home-assistant/core/pull/46512"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing data models judged on translation, compatibility and coverage.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "build-pr", "reshape"], "gaps": ["question reframed: a request for one extra speed became a redesign of the whole fan model", "staged acceptance: percentages were agreed in 2020, built months later, with step sizes deferred to another PR", "coupled decisions: percentage speeds and preset modes had to be decided together to stay backwards compatible", "stalled ownership: the decision waited over a year for a champion and the first prototype was abandoned"]}, "evalUse": "Tests whether a model follows a narrow request through reframing to the eventual entity model change.", "notes": "Consensus formed among maintainers on 2020-08-23; the implementing maintainer bdraco later closed the issue on merging PR #45407.", "caseId": "home-assistant-fan-speed-percentage", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-release-cycle-length", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/192", "kind": "issue", "retrievedAt": "2026-10-18T07:27:45.463455+00:00"}], "repo": "home-assistant/architecture", "domain": "process-governance", "title": "Home Assistant release cycle length", "question": "Should Home Assistant lengthen its two-week release cycle, and if so how should dev and beta periods be arranged?", "questionExplicit": true, "context": "Two lead developers did most of the release work every two weeks, and contributors and users complained about rushed merges, regressions and frequent breaking changes.", "options": [{"label": "Three-week cycle: two weeks dev, one week beta", "proposedBy": "pvizeli", "fate": "rejected"}, {"label": "Overlapping cycles with beta cut on release day", "proposedBy": "balloob", "fate": "merged"}, {"label": "Monthly cycle", "proposedBy": "frenck", "fate": "chosen"}, {"label": "Keep two weeks and improve practices and automation", "proposedBy": "andrewsayre", "fate": "rejected"}, {"label": "Faster weekly releases once integrations split out", "proposedBy": "robbiet480", "fate": "rejected"}, {"label": "Stable and edge channels or LTS releases", "proposedBy": "MarsWarrior", "fate": "rejected"}, {"label": "Volunteer release managers share the work", "proposedBy": "amelchio", "fate": "deferred"}], "criteria": ["release manager workload", "stability", "time to feedback for new features", "breaking changes per upgrade", "ease of backporting fixes"], "participants": {"count": 22, "roles": ["maintainers", "founder", "users"], "decider": "team"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Lengthen dev or beta?", "Which release day?", "Should beta be fix-only?", "Can release work be delegated?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 656, "comments": 41, "reactionsTotal": 61, "decidedOffPlatform": true, "notableMoves": ["founder re-centred the thread on release-manager workload", "survey of users proposed but not run here", "thread went silent for 20 months", "closure pointed to a conference keynote"]}, "outcome": {"decided": true, "decision": "The project moved to a monthly release cycle.", "how": "unclear", "rationale": null, "dissent": "Several participants argued monthly releases would slow feedback and bundle more breaking changes per upgrade.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several cadence options weighed against workload, stability and feedback speed.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["off-platform decision: the move to monthly was announced in a conference keynote and only noted here at closure", "long silent gap: about 20 months passed between the last argument and the outcome, with no record of how it was reached", "reframing mid-thread: the founder restated the real problem as release workload, changing what a good answer looked like", "proposed survey never run: a member asked for user data to decide but no evidence step followed"]}, "evalUse": "Tests whether an agent reports the eventual monthly cycle while noting the thread itself never reached that conclusion.", "notes": "Rationale is null because the closing comment only points to the 2020 conference keynote. How the monthly cycle was agreed is not recorded here, so how is 'unclear'.", "caseId": "homeassistant-release-cycle", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "home-assistant-last-changed-persistence", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/230", "kind": "issue", "retrievedAt": "2026-10-18T07:19:14.186756+00:00"}], "repo": "home-assistant/architecture", "domain": "data-model", "title": "last_changed persistence across restarts", "question": "How should Home Assistant keep an entity's last_changed timestamp meaningful across restarts?", "questionExplicit": true, "context": "Every restart rewrote entity timestamps, so the UI showed all devices as just changed. State restoration existed only for some entity types and the state machine had no loading concept.", "options": [{"label": "Keep last_changed unless the value differs; let last_updated reset", "proposedBy": "maintainer (cgarwood)", "fate": "deferred"}, {"label": "Add a new restart-proof timestamp attribute", "proposedBy": "opener", "fate": "rejected"}, {"label": "State-loading event or unknown prior state in the state machine", "proposedBy": "user (Swamp-Ig)", "fate": "deferred"}, {"label": "Write restored state into the state machine for RestoreEntity", "proposedBy": "member (azogue)", "fate": "deferred"}, {"label": "Null last_changed at startup in history", "proposedBy": "user", "fate": "rejected"}], "criteria": ["truthful timestamps for users", "consistency across integrations", "handling late or unknown device data", "risk of touching the core state machine"], "participants": {"count": 20, "roles": ["maintainers", "members", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Does unknown-to-known count as a change", "Should last_updated also persist"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 668, "comments": 40, "reactionsTotal": 123, "decidedOffPlatform": false, "notableMoves": ["semantic split of last_changed vs last_updated agreed early", "community patch tested by the opener and found partial and buggy", "closed on process grounds because nobody owned implementation", "proof-of-concept PR appeared a year after closure"]}, "outcome": {"decided": false, "decision": null, "how": "abandoned", "rationale": "Maintainers closed it because the architecture repo needs an implementable proposal with an owner, which the thread lacked.", "dissent": "Users felt a widely agreed flaw was being dismissed on procedural grounds and that no core issue tracks it.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several mechanisms for preserving the timestamp were proposed and never chosen between.", "secondaryShape": "check", "fitsFlows": ["find", "research-or-spike", "revisit-reopen"], "gaps": ["staged acceptance: the semantics were agreed early but no mechanism was ever approved", "no owner: the thread closed because nobody committed to implement, not because the idea was rejected", "decider not in thread: participants waited over a year for core leads who did not engage", "spike as evidence: a user-run patch showed partial coverage and a crash, but that result had nowhere to be recorded", "revisit after close: a later proof-of-concept PR linked back to a closed thread with no reopen"]}, "evalUse": "Agreed-in-principle change that died on ownership and process, with a stray later PoC.", "notes": "Decider for closure: frenck. PR #68488 is a proof of concept and was not followed; its fate is unknown from this thread.", "caseId": "home-assistant-last-changed-restart", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-code-owner-required", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/287", "kind": "issue", "retrievedAt": "2026-10-18T07:27:40.229751+00:00"}, {"url": "https://github.com/home-assistant/architecture/pull/290", "kind": "adr", "retrievedAt": "2026-10-18T07:42:03.217020+00:00"}], "repo": "home-assistant/architecture", "domain": "process-governance", "title": "Require code owners on new integrations", "question": "Should contributors of new integrations, and of major features or refactors, be required to list themselves as code owners before their PR is accepted?", "questionExplicit": true, "context": "Many integrations arrive without a code owner, so early bugs go unassigned and the bot cannot notify anyone. Opponents see a mandate as red tape for volunteers.", "options": [{"label": "Mandatory code owner for new integrations only", "proposedBy": "frenck", "fate": "merged"}, {"label": "Mandatory for new integrations, new features and significant refactors, bug fixes exempt", "proposedBy": "frenck", "fate": "chosen"}, {"label": "Anyone who touches an integration owns it", "proposedBy": "Adminiuga", "fate": "rejected"}, {"label": "Trigger ownership by number of submissions", "proposedBy": "dshokouhi", "fate": "rejected"}, {"label": "Reviewer judgement and encouragement, checklist item, no ADR", "proposedBy": "amelchio", "fate": "partly"}, {"label": "PR template questions about willingness to maintain", "proposedBy": "ties", "fate": "rejected"}], "criteria": ["integration maintenance quality", "not discouraging contributors", "measurability of significant contribution", "volunteer goodwill", "value of owner notifications", "risk of narrow ADR readings"], "participants": {"count": 14, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["What counts as a significant contribution?", "Should internal integrations be exempt?", "Can owners step down after release?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 7, "comments": 40, "reactionsTotal": 43, "decidedOffPlatform": false, "notableMoves": ["proposal text widened mid-thread from new integrations to features and refactors", "ADR written to leave room for reviewer and current-owner discretion", "ADR PR approved by three maintainers and merged"]}, "outcome": {"decided": true, "decision": "ADR 0008 was merged: code ownership is required for new integrations and many significant changes, while reviewers and current owners may waive it and small fixes are exempt.", "how": "maintainer-decision", "rationale": "Owners make early bugs get routed and fixed, notifications speed turnaround, and core should hold maintained integrations rather than many unowned ones.", "dissent": "Some users saw the rule as red tape that would force insincere commitments and argued ownership should be encouraged, not mandated.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/home-assistant/architecture/pull/290"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several scopes for the rule were compared against criteria like contributor friction and maintenance quality.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["living proposal text: the opener edited the proposal body mid-thread and marked the change, so the question's options shifted under early voters", "decision artefact elsewhere: the settled wording lives in an ADR PR with its own review, separate from the debate", "unresolved dissent: objectors were never answered on the merits, and the record needs to keep their minority view beside the settled answer"]}, "evalUse": "Tests tracking a proposal whose scope changed mid-thread and identifying the ADR as the settling artefact.", "notes": "Decider is the core team via ADR approvals (pvizeli, MartinHjelmare, balloob). PR #290 was fetched to confirm it merged; its review only polished wording.", "caseId": "home-assistant-require-code-owner", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "home-assistant-choose-action-syntax", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/378", "kind": "issue", "retrievedAt": "2026-10-18T07:19:10.775658+00:00"}, {"url": "https://github.com/home-assistant/core/pull/37818", "kind": "pr", "retrievedAt": "2026-10-18T07:54:11.966482+00:00"}], "repo": "home-assistant/architecture", "domain": "api-design", "title": "Branching syntax for scripts and automations", "question": "What construct and YAML shape should scripts use to run one of several action sequences depending on conditions, including an else case?", "questionExplicit": true, "context": "Users wanted if/else logic in automations without duplicating automations whose conditions might race. Automation actions run on the script engine, so the change landed there.", "options": [{"label": "Per-automation else_action block", "proposedBy": "opener", "fate": "rejected"}, {"label": "else/on_fail option on the condition step", "proposedBy": "contributor (core PR author)", "fate": "rejected"}, {"label": "Multiple guarded sequence blocks", "proposedBy": "maintainer", "fate": "rejected"}, {"label": "branch/choose list of condition+sequence entries, first match wins", "proposedBy": "maintainer (balloob)", "fate": "chosen"}, {"label": "Default as condition-less entry inside the list", "proposedBy": "maintainer (balloob)", "fate": "rejected"}, {"label": "Separate default key outside the list", "proposedBy": "users, then maintainer in PR review", "fate": "chosen"}, {"label": "Single template selecting a named sequence", "proposedBy": "implementer", "fate": "rejected"}, {"label": "Key name `if` vs `conditions`", "proposedBy": "opener vs maintainer in review", "fate": "merged"}], "criteria": ["atomic condition evaluation", "approachability for non-programmers", "consistency with existing condition and sequence keys", "ease of schema validation", "risk of accidental defaults", "implementation feasibility"], "participants": {"count": 14, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Should evaluation be atomic across branches?", "Is an early exit needed?", "Name: branch vs choose vs choose_one", "Should a choice require at least one condition?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 72, "comments": 92, "reactionsTotal": 30, "decidedOffPlatform": true, "notableMoves": ["thread consensus restated by implementer then revised in PR review", "maintainers settled final syntax on Discord and pushed it to the PR", "a mis-typed docs example caused reviewers to misread the agreed syntax", "naming question deferred by keeping room for a future option"]}, "outcome": {"decided": true, "decision": "Add a `choose` script action taking a list of entries, each with `conditions` and `sequence`, where the first match runs, plus an optional separate `default` sequence.", "how": "maintainer-decision", "rationale": "Consistency with other actions that already use `conditions`, and pulling the default out of the list avoids a choice silently becoming the fallback; keeping the name `choose` leaves room to add a selection mode later.", "dissent": "The implementer had defended the architecture-issue syntax as the agreed consensus; an earlier proposal for a single template was set aside as too hard for average users.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/home-assistant/core/pull/37818"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several competing YAML shapes judged against atomicity, readability and consistency.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["decision revised in PR: the consensus recorded in the architecture issue was changed during code review of the implementing PR", "off-platform decision: the final syntax was agreed on Discord and only reported in the PR", "coupled decisions: key naming, default placement and action name were settled together", "artifact drift: a typo in the docs example made reviewers misread what had been agreed"]}, "evalUse": "Tests whether a model tracks a consensus that was later reshaped in PR review and off-platform.", "notes": "Decider is balloob (project lead), who pushed the final syntax. The architecture issue's restated consensus used `if` with an in-list default; the shipped version differs.", "caseId": "home-assistant-choose-branch-syntax", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-zwave-driver-choice", "sources": [{"url": "https://github.com/home-assistant/architecture/issues/483", "kind": "issue", "retrievedAt": "2026-10-18T07:27:34.354470+00:00"}], "repo": "home-assistant/architecture", "domain": "architecture", "title": "Z-Wave driver and transport for Home Assistant", "question": "Should Home Assistant abandon its in-progress OpenZWave-over-MQTT integration and rebuild Z-Wave on Z-Wave JS behind a websocket server?", "questionExplicit": true, "context": "A new OZW 1.6 integration was a year in, but suffered MQTT state issues, daemon crashes and a single upstream C++ maintainer stepping back. Z-Wave JS was a newer, more approachable driver.", "options": [{"label": "Continue OpenZWave 1.6 via the MQTT daemon", "proposedBy": "status quo", "fate": "rejected"}, {"label": "Z-Wave JS behind a dedicated websocket server", "proposedBy": "maintainer (marcelveldt)", "fate": "chosen"}, {"label": "Z-Wave JS via zwavejs2mqtt and an MQTT broker", "proposedBy": "users", "fate": "rejected"}, {"label": "Write a pure Python driver", "proposedBy": "maintainer (marcelveldt)", "fate": "rejected"}, {"label": "Proto-file generated API as in ESPHome", "proposedBy": "users", "fate": "rejected"}], "criteria": ["stability", "upstream maintainability and contributor pool", "setup complexity for users", "security and authentication", "remote controller placement", "migration effort", "device support and features"], "participants": {"count": 28, "roles": ["maintainers", "project lead", "users"], "decider": "team"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Keep MQTT as an optional path?", "Who handles authentication?", "Can the server run on another host?", "How will users migrate?", "Will old integrations be retired?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 6, "comments": 49, "reactionsTotal": 346, "decidedOffPlatform": true, "notableMoves": ["team had already explored and talked with the Z-Wave JS developers before proposing", "issue closed by merging the first implementation PR", "migration planning split into a separate issue"]}, "outcome": {"decided": true, "decision": "Build a new Z-Wave JS integration talking to a Z-Wave JS server over websocket, keeping the old integrations for now.", "how": "consensus", "rationale": "OZW's single-maintainer C++ upstream and MQTT problems blocked a stable integration, while Z-Wave JS was more contributable, featureful and could be shared by other clients.", "dissent": "Some users wanted MQTT retained for security, decoupling and consistency with Zigbee2MQTT, and questioned whether dropping it was worth it.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/home-assistant/core/pull/45020"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A pros-and-cons comparison of driver and transport options against stability, maintainability and setup cost.", "secondaryShape": "explore", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["off-platform decision: the core team had already agreed the switch on Discord and with upstream before posting", "sunk-cost reversal: the decision discards a year of shipped beta work, which the record should capture as a reversal of an earlier choice", "spun-off follow-up: migration and old-integration retirement were deferred to separate issues", "requirements stated by outsiders: user-proposed security requirements were answered but never formally accepted or rejected"]}, "evalUse": "Tests a fast architecture pivot with many user questions and a clear driver comparison.", "notes": "Hidden comments are summarised only by their hidden status. Project lead is balloob.", "caseId": "home-assistant-zwave-js-switch", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "frontend-section-styling", "sources": [{"url": "https://github.com/home-assistant/frontend/discussions/22288", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:46.882772+00:00"}], "repo": "home-assistant/frontend", "domain": "ui-ux", "title": "Section border and background options", "question": "Should sections dashboards offer built-in border and background styling for sections, and in what form: per-section toggles, colour pickers, a generic style attribute, or a dashboard-wide mode?", "questionExplicit": true, "context": "Sections group cards only by spacing, so users rely on custom cards or card-mod to visually box them. Adding backgrounds affects spacing and padding across the layout.", "options": [{"label": "Per-section border and background toggles", "proposedBy": "opener", "fate": "chosen"}, {"label": "Per-section colour pickers", "proposedBy": "opener", "fate": "partly"}, {"label": "Generic `style:` attribute on all dashboard elements", "proposedBy": "user (nagtegaal)", "fate": "rejected"}, {"label": "Dashboard-wide bordered mode for all sections", "proposedBy": "user (vatioz)", "fate": "rejected"}], "criteria": ["ease for non-YAML users", "layout spacing and padding", "removing need for custom cards", "visual consistency"], "participants": {"count": 17, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["How much padding a styled section needs", "Whether inner card borders and backgrounds should be suppressible"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 581, "comments": 29, "reactionsTotal": 148, "decidedOffPlatform": true, "notableMoves": ["Maintainer promised designs in a week; none appeared in-thread", "Topic moved to an organisation-level discussion", "First PR merged to dev then reverted", "Later maintainer PR shipped the feature"]}, "outcome": {"decided": true, "decision": "Add built-in section styling with background and border options, shipped through a maintainer's PR.", "how": "maintainer-decision", "rationale": null, "dissent": "Users asked for further controls, such as disabling inner card borders and shadows.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/home-assistant/frontend/pull/30228"]}, "chopinFit": {"shape": "tune", "shapeWhy": "A visual styling feature whose real questions are padding and colour dials best judged with a preview.", "secondaryShape": "choice", "fitsFlows": ["find", "ask-teammate", "build-pr"], "gaps": ["off-platform decision: designs, the revert of #26369 and the final approach were handled in PRs and another discussion, never in this thread", "reversal after shipping: a first implementation was merged to dev and reverted with no reason recorded here", "votes as evidence: demand was expressed only through +1 comments and reactions", "duplicates merged: the request was moved to an organisation-level discussion while this thread stayed open"]}, "evalUse": "Feature request whose design and reversal happened entirely off-thread; tests reconstructing a decision from fragments.", "notes": "Rationale is null because no reasons for the final design or the revert appear in the thread. The named maintainer is piitaya, author of #30228; neither PR was fetched.", "caseId": "frontend-section-border-background", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ha-toggle-confirmation", "sources": [{"url": "https://github.com/home-assistant/frontend/discussions/8905", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:47.937987+00:00"}], "repo": "home-assistant/frontend", "domain": "ui-ux", "title": "Confirmation for Entities card toggles", "question": "How should the Entities card let users guard a row's interactive control, such as a toggle, against accidental use?", "questionExplicit": true, "context": "Configurable tap, hold and double-tap actions apply only to a row's icon and label, so the rendered toggle or button cannot require confirmation. The opener wanted a config shape for guarding the control without losing row actions.", "options": [{"label": "Per-gesture `interactive_tap_action` keys for the control", "proposedBy": "spacegaier", "fate": "rejected"}, {"label": "Prefixed `interactive_confirmation` key", "proposedBy": "spacegaier", "fate": "rejected"}, {"label": "Plain row-level `confirmation`; toggle keeps toggling", "proposedBy": "bramkragten", "fate": "partly"}, {"label": "Replace guarded toggle with a button opening more-info", "proposedBy": "matthiasdebaat", "fate": "rejected"}, {"label": "Replace guarded toggle with a button plus confirmation dialog", "proposedBy": "matthiasdebaat", "fate": "rejected"}], "criteria": ["toggle should give immediate feedback", "state visible at a glance", "warning text explains the risk", "config clarity in YAML", "consistency with existing action confirmations", "avoid third-party cards"], "participants": {"count": 13, "roles": ["maintainers", "designer", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should the key carry an interactive_ prefix?", "Do toggles get confirmation, or only button, lock and script rows?", "Should tile card features be guarded?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1294, "comments": 33, "reactionsTotal": 103, "decidedOffPlatform": false, "notableMoves": ["designer shared Figma prototypes", "designer and maintainers disagreed on whether a toggle may be guarded", "user demand resurfaced over years", "a later PR shipped confirmation only for non-toggle rows", "follow-up moved to a new discussion"]}, "outcome": {"decided": true, "decision": "Maintainers converged on a plain row-level `confirmation` option, but what shipped (PR #21453, 2024) covers button, lock and script rows only; toggles remain unguarded.", "how": "maintainer-decision", "rationale": "A toggle should still toggle; only a confirmation may precede it, and a warning dialog explains risk better than more-info.", "dissent": "The project designer held that toggles must act instantly and wanted a button instead; users pushed back that requested guards outweigh the guideline.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/home-assistant/frontend/pull/21453"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete config and UI patterns compared against feedback, state visibility and clarity.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["staged acceptance: agreement in principle for toggles in 2021 never shipped; a 2024 PR delivered only the non-toggle subset, so the record is partly settled and partly open", "decider not in thread: the PR that shipped part of the outcome came from a maintainer who never argued the toggle question, and no one declared who settles it", "votes as evidence: users cite request volume and upvoted comments as the argument against the designer's guideline", "external prototypes: the designer's options lived as Figma prototypes outside the thread", "split and migration: the remaining tile-feature question was moved to a new discussion because migrating would reset votes", "unresolved dissent: the designer's objection was never answered or closed, so a dissent field with no response path is needed"]}, "evalUse": "Tests whether an agent separates the in-principle agreement from the narrower shipped outcome and keeps the designer's dissent.", "notes": "Discussion remains open and unanswered. PR #21453 not fetched; its scope is taken from the maintainer's comment. decider set to unclear because two maintainers agreed in 2021 while a third shipped a partial change in 2024.", "caseId": "ha-toggle-confirmation", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "lazygit-worktree-naming-location", "sources": [{"url": "https://github.com/jesseduffield/lazygit/discussions/2803", "kind": "discussion", "retrievedAt": "2026-10-18T07:35:23.230693+00:00"}], "repo": "jesseduffield/lazygit", "domain": "ui-ux", "title": "Worktree creation defaults and bare-repo support", "question": "How should lazygit create and present worktrees: should worktree names and locations be derived from branches automatically, configurable per repo, and should bare-repo layouts be supported?", "questionExplicit": true, "context": "The owner ran a poll-style discussion before releasing worktree support, asking how people organise worktrees because that affects branch labels and how much input creation should need.", "options": [{"label": "Ship base worktree panel with explicit name and path prompts", "proposedBy": "owner", "fate": "chosen"}, {"label": "Single name for branch and worktree pair", "proposedBy": "owner", "fate": "deferred"}, {"label": "Per-repo configurable worktree location", "proposedBy": "williamgoulois", "fate": "deferred"}, {"label": "Open from a bare-repo root and list worktrees", "proposedBy": "williamgoulois, diego898", "fate": "deferred"}, {"label": "Copy ignored files into new worktrees", "proposedBy": "Nikola-Milovic", "fate": "deferred"}], "criteria": ["fit with common worktree layouts", "amount of user input on creation", "compatibility with existing code", "team branch naming conventions"], "participants": {"count": 14, "roles": ["owner", "maintainer", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "survey", "spike": "implementation-pr", "poll": true, "escalation": "none", "subQuestions": ["Should creating from a remote branch create a matching local branch?", "Should ignored files be copied?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 9, "comments": 23, "reactionsTotal": 100, "decidedOffPlatform": false, "notableMoves": ["Owner gathered usage patterns before designing", "Owner deferred the richer options to later iterations", "Users kept asking for name derivation for two years after the deferral"]}, "outcome": {"decided": true, "decision": "Ship worktree support without automatic name/path derivation, location config or bare-repo root support, leaving those for a future iteration.", "how": "maintainer-decision", "rationale": "The owner felt name and location handling needed more thought and bare-repo support was too involved for the first release.", "dissent": null, "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/jesseduffield/lazygit/pull/2147"]}, "chopinFit": {"shape": "explore", "shapeWhy": "The owner asks an open question about workflows to inform design rather than choosing among fixed options.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "research-or-spike", "settle"], "gaps": ["staged acceptance: core feature shipped while naming and location ideas were deferred with no follow-up record", "survey as evidence: the decision rested on user workflow reports collected in a poll-category discussion", "deferred question never reopened: later requests for name derivation pile up in the same thread without reviving the deferred item", "mixed thread: bug reports and support questions interleave with the design question"]}, "evalUse": "Tests capturing a research-driven design poll where the main outcome is deferral of the richer options.", "notes": "Owner jesseduffield decided. PR 2147 is linked by the opening post as the worktree implementation; the discussion itself is not closed.", "caseId": "lazygit-worktree-ux", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "fzf-default-opts-file", "sources": [{"url": "https://github.com/junegunn/fzf/discussions/2528", "kind": "discussion", "retrievedAt": "2026-10-18T07:35:03.796709+00:00"}, {"url": "https://github.com/junegunn/fzf/pull/3618", "kind": "pr", "retrievedAt": "2026-10-18T07:35:03.796709+00:00"}], "repo": "junegunn/fzf", "domain": "tooling", "title": "Config file for fzf options", "question": "Should fzf read its default options from a file, and if so, how should it find that file?", "questionExplicit": true, "context": "Users kept default options in the FZF_DEFAULT_OPTS environment variable, which grew long, needed shell escaping and could not reach processes started outside the shell. Several users worked around it by sourcing their own files.", "options": [{"label": "Native config file at a fixed default path", "proposedBy": "opener", "fate": "rejected"}, {"label": "Keep using shell-sourced scripts setting FZF_DEFAULT_OPTS", "proposedBy": "rayiik", "fate": "rejected"}, {"label": "Shell function wrapper that sources an options file", "proposedBy": "weirdgiraffe", "fate": "rejected"}, {"label": "FZF_DEFAULT_OPTS_FILE variable pointing to a file", "proposedBy": "junegunn", "fate": "chosen"}], "criteria": ["works across shells", "no agreed default location", "avoid probing for unused files", "readability and comments", "reaches processes outside the shell", "theme switching"], "participants": {"count": 11, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should the shell key bindings merge options from the file? (follow-up PR)"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 969, "comments": 21, "reactionsTotal": 98, "decidedOffPlatform": false, "notableMoves": ["maintainer proposes a compromise and links an implementing PR within half an hour", "follow-up bug in key bindings handled in a second PR", "later askers repeat the request because the answer is buried"]}, "outcome": {"decided": true, "decision": "fzf reads extra default options from a file only when FZF_DEFAULT_OPTS_FILE names its path; there is no fixed default location.", "how": "maintainer-decision", "rationale": "There was no consensus on where such a file should live, and an opt-in variable avoids checking the filesystem for a file most users never create.", "dissent": null, "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/junegunn/fzf/pull/3618"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several mechanisms for supplying defaults were compared against portability and lookup concerns.", "secondaryShape": null, "fitsFlows": ["find", "settle", "build-pr"], "gaps": ["consultation skipped: the maintainer asked for opinions and shipped the PR before anyone could reply", "follow-up defect: a missed integration (key bindings) surfaced after the decision and needed its own PR", "answer findability: later users re-asked because the settled answer was buried in a long open discussion that was never marked answered"]}, "evalUse": "Tests whether a model can identify a sole maintainer's compromise and its rationale amid years of user requests.", "notes": "Decider is junegunn. The discussion stays open and unanswered even after the feature shipped. Merge state of PR 3618 is not shown in the thread, but later comments rely on the variable working.", "caseId": "fzf-default-opts-file", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "fzf-preview-window", "sources": [{"url": "https://github.com/junegunn/fzf/issues/587", "kind": "issue", "retrievedAt": "2026-10-18T07:35:04.683974+00:00"}], "repo": "junegunn/fzf", "domain": "product-behaviour", "title": "fzf preview window and its layout options", "question": "Should fzf add a preview pane driven by an external command, and which layout, size and visibility controls should it offer?", "questionExplicit": true, "context": "The sole maintainer prototyped a preview pane and opened the issue with yes/no and layout as open items. Users then pushed for toggles, start-hidden, context lines, width awareness and border trimming.", "options": [{"label": "Add --preview with --preview-window position:size", "proposedBy": "junegunn", "fate": "chosen"}, {"label": "Bindable toggle-preview action", "proposedBy": "khalidchawtany", "fate": "chosen"}, {"label": "Hidden suffix to start with the pane closed", "proposedBy": "junegunn", "fate": "chosen"}, {"label": "Dynamic resizing of the preview window", "proposedBy": "infokiller", "fate": "deferred"}, {"label": "fzf sets COLUMNS for preview commands", "proposedBy": "balta2ar", "fate": "rejected"}, {"label": "Options to trim borders and padding", "proposedBy": "balta2ar", "fate": "rejected"}], "criteria": ["usefulness for real scripts", "complexity control", "portability across shells", "screen space"], "participants": {"count": 7, "roles": ["maintainer", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Default layout and size?", "Toggle and start-hidden?", "Should fzf set COLUMNS?", "More styling options?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 7, "comments": 38, "reactionsTotal": 11, "decidedOffPlatform": false, "notableMoves": ["maintainer built a prototype before asking for use cases", "screenshots of layouts posted as evidence", "toggle added within a day of the request", "later option requests declined on complexity grounds after close"]}, "outcome": {"decided": true, "decision": "Ship --preview with --preview-window position and size, a hidden suffix and a toggle-preview action; decline setting COLUMNS and further styling options.", "how": "maintainer-decision", "rationale": "The feature is a simple preview, not a customisable TUI; COLUMNS is unreliable across shells and programs.", "dissent": "A user would still prefer fzf to set width variables for preview commands.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "tune", "shapeWhy": "A live preview pane whose position, size and visibility were adjusted like dials with screenshots.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr"], "gaps": ["prototype-first framing: the maintainer had already built it, so yes/no was settled by demonstration rather than a question", "scope guarding after close: follow-on option requests were refused in the closed thread, a sub-decision the record would miss", "screenshots as evidence: layout choices were argued with terminal screenshots, not a structured comparison", "support noise mixed in: an unrelated install problem interleaves with the design discussion"]}, "evalUse": "Tests whether an agent separates the shipped preview controls from the requests the maintainer explicitly declined.", "notes": "decider: junegunn. The thread does not link the implementing commit, so implementedIn is empty; 0.13.1 is mentioned as a later fix release.", "caseId": "fzf-preview-window", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "logseq-hierarchy-placement", "sources": [{"url": "https://github.com/logseq/logseq/discussions/5115", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:49.075834+00:00"}], "repo": "logseq/logseq", "domain": "ui-ux", "title": "Hierarchy section placement on pages", "question": "Should the hierarchy section move above backlinks, and if so how should long hierarchies and differing preferences be handled?", "questionExplicit": true, "context": "Logseq renders a page's namespace hierarchy below linked references, so users navigating by hierarchy must scroll to the bottom. Large hierarchies could crowd the page if moved up.", "options": [{"label": "Move hierarchy above backlinks", "proposedBy": "opener", "fate": "deferred"}, {"label": "Put hierarchy at the top of the page", "proposedBy": "user", "fate": "deferred"}, {"label": "Keep position, add jump shortcut and fold toggle", "proposedBy": "user (cannibalox)", "fate": "deferred"}, {"label": "Breadcrumb or collapsible tree presentation", "proposedBy": "user (cannibalox)", "fate": "deferred"}, {"label": "User-configurable section order (config.edn or drag and drop)", "proposedBy": "user (TimLamoureux)", "fate": "deferred"}, {"label": "Single flex column with CSS order so themes can reorder", "proposedBy": "contributor (bendyorke)", "fate": "deferred"}, {"label": "Auto-collapse above a configurable threshold", "proposedBy": "user", "fate": "deferred"}], "criteria": ["scrolling effort when navigating", "screen space for large hierarchies", "consistency with folding of other sections", "personal preference differences"], "participants": {"count": 11, "roles": ["users", "contributor"], "decider": "unclear"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should large hierarchies auto-collapse?", "Should section order be a user setting?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 956, "comments": 11, "reactionsTotal": 72, "decidedOffPlatform": false, "notableMoves": ["Discussion shifted from a fixed position to configurability", "Vote moved to an external forum thread", "A user-side CSS workaround stood in for any product decision"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": null, "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several placement and presentation options weighed against scrolling cost and screen space.", "secondaryShape": "tune", "fitsFlows": ["find", "ask-teammate"], "gaps": ["a decider who isn't in the thread: no maintainer with authority ever responds, so the question never settles", "votes or reaction counts as evidence: support is expressed through reactions and an off-site forum vote", "decisions taken off-platform: the voting lives on discuss.logseq.com", "workaround as outcome: a user-shared CSS snippet de facto answers the question without any recorded decision"]}, "evalUse": "Open product-UI layout question with many options and no decider; tests handling an unsettled question.", "notes": "No maintainer engaged; bendyorke is the only CONTRIBUTOR. Duration measured to last comment.", "caseId": "logseq-hierarchy-above-backlinks", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "mastodon-remote-local-timeline", "sources": [{"url": "https://github.com/mastodon/mastodon/issues/1053", "kind": "issue", "retrievedAt": "2026-10-18T07:20:46.364884+00:00"}], "repo": "mastodon/mastodon", "domain": "ui-ux", "title": "Viewing other instances' local timelines", "question": "Should Mastodon let users browse another instance's local timeline, and in what form?", "questionExplicit": false, "context": "Users on small or general instances wanted to discover topic communities on other servers without creating accounts there. The API already exposed local timelines, but the web app did not.", "options": [{"label": "Logged-out public timeline on the instance landing/about page", "proposedBy": "maintainer", "fate": "chosen"}, {"label": "Remote timeline column inside the web app", "proposedBy": "users (with proof of concept)", "fate": "rejected"}, {"label": "Filter federated timeline by instance", "proposedBy": "user", "fate": "rejected"}, {"label": "Join the instance instead / groups or lists", "proposedBy": "maintainer", "fate": "partly"}, {"label": "Server-to-server feed exchange", "proposedBy": "user", "fate": "rejected"}], "criteria": ["discovery of communities", "community health and performer-audience imbalance", "implementation effort", "admin privacy control"], "participants": {"count": 41, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Should the about page show local or federated posts by default?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 356, "comments": 67, "reactionsTotal": 368, "decidedOffPlatform": false, "notableMoves": ["a partial solution shipped elsewhere was treated as resolving the request", "users repeatedly contested the closure and were pointed to another open issue", "duplicates were merged into this thread"]}, "outcome": {"decided": true, "decision": "Close without building a remote timeline view in the app; the logged-out timeline on each instance's about page was deemed enough.", "how": "maintainer-decision", "rationale": "A column would add little real benefit and workarounds exist; a maintainer also argued that reading a timeline you cannot post to creates an audience imbalance.", "dissent": "Many users said the about page is often federated, not local, and offers no interaction, so the original need was unmet.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/mastodon/mastodon/pull/4122"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several forms of remote-timeline browsing weighed against community and effort concerns.", "secondaryShape": "explore", "fitsFlows": ["find", "settle", "revisit-reopen", "ask-teammate"], "gaps": ["partial solution as closure: a different feature that met part of the need was used to close the request", "contested closure: users kept disputing the decision with no structured way to request a revisit", "duplicates merged: several duplicate requests were folded in and a related open issue carried the remainder", "votes as evidence: reactions and plus-ones were the main signal of demand"]}, "evalUse": "Tests whether a model notices that the closing rationale addressed a narrower need than the request.", "notes": "Closed by wxcafe, labelled CONTRIBUTOR but acting with triage authority. PR #4122 implemented the landing-page timeline that the closure relied on.", "caseId": "mastodon-browse-remote-local-timeline", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "mastodon-quote-posts-policy", "sources": [{"url": "https://github.com/mastodon/mastodon/issues/12753", "kind": "issue", "retrievedAt": "2026-10-18T07:02:20.634890+00:00"}, {"url": "https://github.com/mastodon/mastodon/issues/20673", "kind": "issue", "retrievedAt": "2026-10-18T07:54:49.385194+00:00"}], "repo": "mastodon/mastodon", "domain": "product-behaviour", "title": "Quote posts in Mastodon", "question": "Should Mastodon offer a native way to quote another user's post, and if so with what safeguards?", "questionExplicit": true, "context": "The founder had long refused quoting as an amplifier of pile-ons, and an earlier request was closed as won't-fix. Users countered that link previews and screenshots already allow quoting with worse outcomes.", "options": [{"label": "No quote feature; keep friction deliberately", "proposedBy": "maintainer", "fate": "rejected"}, {"label": "Quote button with notification to the quoted person", "proposedBy": "opener", "fate": "partly"}, {"label": "Consent-based quoting with per-user opt-in and withdrawal", "proposedBy": "contributor", "fate": "chosen"}, {"label": "Allow quoting only by followers", "proposedBy": "user", "fate": "rejected"}, {"label": "Allow quoting only of bot accounts", "proposedBy": "user", "fate": "rejected"}], "criteria": ["harassment and pile-on risk", "conversation threading", "accessibility versus screenshots", "author control and deletion", "curation and news sharing", "fediverse interoperability"], "participants": {"count": 17, "roles": ["maintainers", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should quotes survive when the original is deleted?", "Who may quote whom?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 16, "comments": 41, "reactionsTotal": 381, "decidedOffPlatform": true, "notableMoves": ["thread treated as duplicate of an earlier won't-fix request", "opener closed the issue in frustration", "discussion revived years later and redirected to a new consent-focused proposal", "refusal later reversed with consent controls"]}, "outcome": {"decided": true, "decision": "Refused at the time under the founder's standing policy; years later the project reversed and shipped consent-respecting quote posts in Mastodon 4.5, closing the follow-up proposal #20673.", "how": "maintainer-decision", "rationale": "The original refusal held that quoting turns conversations into performances for followers and invites pile-ons; the later version addressed this by letting authors control whether they can be quoted.", "dissent": "Many users argued the friction only pushed quoting into links and screenshots, and that curation and news sharing need quotes.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Whether to add quoting and which safeguard model, weighed against abuse and curation criteria.", "secondaryShape": "explore", "fitsFlows": ["find", "revisit-reopen", "settle", "ask-teammate"], "gaps": ["reversal of a standing refusal: the no-quotes policy was overturned years later in a different thread", "decider not in thread: the founder's position, stated in a blog post, governed the outcome without him commenting", "duplicates merged: the request repeated an earlier won't-fix issue and spawned a follow-up proposal", "votes as evidence: upvote counts on the earlier issue were cited as demand", "off-platform decision: the policy lived in a blog post and the final design was announced in a release blog"]}, "evalUse": "Tests whether a model recognises a policy-level refusal and its later reversal across threads.", "notes": "The reversal is not in this thread; it comes from the closing comment on linked issue #20673 (closed 2025-11-07, citing Mastodon 4.5 and a September 2025 blog post). That issue is not included because it is a separate 170-comment thread. durationDays runs to the opener's close in 2020. No implementing PR is linked.", "caseId": "mastodon-quote-toots", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "mastodon-text-formatting", "sources": [{"url": "https://github.com/mastodon/mastodon/issues/853", "kind": "issue", "retrievedAt": "2026-10-18T07:20:36.622112+00:00"}, {"url": "https://github.com/mastodon/mastodon/pull/10787", "kind": "pr", "retrievedAt": "2026-10-18T07:55:21.826216+00:00"}], "repo": "mastodon/mastodon", "domain": "product-behaviour", "title": "Text formatting in posts", "question": "Should Mastodon posts support text formatting, and if so which syntax and how much of it?", "questionExplicit": true, "context": "A contributor prototyped bold and italic parsing. Federation constraints, phishing via link text, learnability and the nature of short posts all shaped the debate across three years.", "options": [{"label": "Minimal inline subset: bold, italic, code", "proposedBy": "opener", "fate": "rejected"}, {"label": "Full CommonMark via a library", "proposedBy": "user", "fate": "rejected"}, {"label": "Markdown without link syntax", "proposedBy": "maintainer", "fate": "rejected"}, {"label": "BBCode", "proposedBy": "user", "fate": "rejected"}, {"label": "Opt-in formatting per instance or per user", "proposedBy": "users and contributor", "fate": "rejected"}, {"label": "Keep posts plain text", "proposedBy": "project lead and a maintainer", "fate": "chosen"}], "criteria": ["scope fit for microblogging", "phishing and parser security", "learnability for non-technical users", "graceful fallback across federated servers", "accessibility", "API compatibility with forks and other servers"], "participants": {"count": 30, "roles": ["project lead", "maintainers", "contributors", "users"], "decider": "BDFL"}, "process": {"research": "links", "spike": "implementation-pr", "poll": true, "escalation": "none", "subQuestions": ["Client-side or server-side rendering", "Whether to allow link syntax", "Which library", "What remote servers receive"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 1078, "comments": 77, "reactionsTotal": 380, "decidedOffPlatform": false, "notableMoves": ["Project lead stated opposition a year in, then later opened his own minimal PR", "Linked PR was debated heatedly, a social-media poll was cited, and the lead closed it unmerged", "Opener closed the issue a year later pointing to that PR", "Forks shipped their own formatting"]}, "outcome": {"decided": true, "decision": "No formatting was added; the project lead's own minimal emphasis and code PR was closed unmerged and the issue was closed by the opener.", "how": "maintainer-decision", "rationale": "Rich formatting is scope creep for short posts and not crucial; the community was split on how much to allow.", "dissent": "Many users and fork maintainers wanted at least a subset, citing accessibility, readability and existing content-type APIs in other servers.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing syntaxes and scopes weighed against security, learnability and federation.", "secondaryShape": "check", "fitsFlows": ["ask-teammate", "research-or-spike", "settle"], "gaps": ["decision in another thread: the deciding move was the lead closing his own PR elsewhere, and the issue only learns of it a year later", "votes as evidence: a social-media poll outside GitHub was cited and its reading was disputed", "decider not in thread: the project lead was summoned for approval and spoke only twice in three years", "reversal after commitment: the lead moved from opposition to his own PR and back to no change", "forks as evidence: downstream forks shipping formatting were relevant evidence with no place in the record"]}, "evalUse": "Tests whether an agent recognises a non-decision closed by reference to a rejected PR, rather than treating the PR as shipping the feature.", "notes": "BDFL: Gargron. PR #10787 was fetched for context but not included because its comments are partly abusive; it was closed unmerged by its author on 2019-05-25. durationDays runs from opening to the issue close.", "caseId": "mastodon-toot-text-formatting", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "mastodon-local-only-posts", "sources": [{"url": "https://github.com/mastodon/mastodon/issues/861", "kind": "issue", "retrievedAt": "2026-10-18T07:20:40.698297+00:00"}], "repo": "mastodon/mastodon", "domain": "product-behaviour", "title": "Local-only post visibility", "question": "Should Mastodon add a post visibility that limits a post to the author's own server, and if so, should remote followers still receive it?", "questionExplicit": true, "context": "Mastodon's visibility levels are public, unlisted, followers-only and direct. Admins and community instances want instance-only posts; the lead maintainer sees hard local-only posting as a centralising force.", "options": [{"label": "Hard local-only posts that never federate", "proposedBy": "seascape", "fate": "deferred"}, {"label": "Unlisted remotely but listed on the local timeline, followers still receive", "proposedBy": "alex73630", "fate": "deferred"}, {"label": "Groups whose membership can be local", "proposedBy": "Gargron", "fate": "deferred"}, {"label": "Per-post disable-federation toggle, admin-optional", "proposedBy": "James-E-A", "fate": "deferred"}, {"label": "Do nothing", "proposedBy": "yiskah", "fate": "deferred"}], "criteria": ["federation philosophy and siloing", "follower expectations across servers", "user safety and audience control", "admin communication needs", "enforceability against non-compliant peers"], "participants": {"count": 54, "roles": ["maintainers", "contributors", "users", "admins"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Do remote followers receive local posts?", "Visibility level or federation flag?", "Can mentions of remote users appear in local posts?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 3386, "comments": 90, "reactionsTotal": 754, "decidedOffPlatform": false, "notableMoves": ["three community PRs closed without merge", "priority-high label removed and issue relabelled a suggestion", "maintainer proposed groups as a substitute, which did not ship", "forks shipped the feature while upstream stayed open"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": "Most participants want the feature; the lead maintainer opposes hard local-only posting as centralising.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete variants differing on federation and follower delivery, weighed against philosophy and safety.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "research-or-spike", "revisit-reopen"], "gaps": ["ambiguous definition: participants argued for years before agreeing on what 'local' meant", "substitute decision: the maintainer deferred to a planned groups feature that never arrived, with no link back", "evidence from forks: glitch-soc and others shipped it but that experience is not captured as evidence", "limbo state: neither accepted nor rejected, only signalled by label changes", "votes as evidence: hundreds of reactions and +1s with no way to weigh them"]}, "evalUse": "Tests whether a model can separate variants of a long-running request and report it as undecided despite maintainer opposition.", "notes": "Lead maintainer Gargron is the de facto decider; the issue remains open.", "caseId": "mastodon-local-only-posts", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "typescript-node-esm-mode-shape", "sources": [{"url": "https://github.com/microsoft/TypeScript/pull/44501", "kind": "pr", "retrievedAt": "2026-10-18T07:25:35.775255+00:00"}], "repo": "microsoft/TypeScript", "domain": "language-design", "title": "Shape and landing of Node ESM support", "question": "How should the new Node module modes behave, especially around import specifier extensions, and should the work land alone or together with its follow-ups?", "questionExplicit": false, "context": "Node's ESM support needed TypeScript to treat files as ESM or CJS per package.json. The PR covered emit only, with extension support and resolution in later PRs, and users objected to writing .js extensions in TypeScript imports.", "options": [{"label": "Require output extensions such as .js in import specifiers", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Compiler rewrites extensionless or .ts specifiers to .js", "proposedBy": "users", "fate": "rejected"}, {"label": "Allow .ts specifiers through a future Deno mode", "proposedBy": "orta", "fate": "deferred"}, {"label": "Force full extensions in completions in this PR", "proposedBy": "andrewbranch", "fate": "deferred"}, {"label": "Land emit alone in 4.4", "proposedBy": "users", "fate": "rejected"}, {"label": "Land emit, extensions and resolution together in one release", "proposedBy": "weswigham", "fate": "chosen"}, {"label": "Hyphenated option names node-12 and node-next", "proposedBy": "Jack-Works", "fate": "rejected"}, {"label": "Extend exports type lookup to the old node mode", "proposedBy": "nayeemrmn", "fate": "rejected"}], "criteria": ["never rewrite emitted specifiers", "match the target runtime's real behaviour", "no partial support in a release", "reviewability of a very large change", "command line parsing"], "participants": {"count": 24, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should createRequire emit depend on target or module mode?", "Should module imply target?", "How does transpileModule choose a format?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 108, "comments": 92, "reactionsTotal": 241, "decidedOffPlatform": false, "notableMoves": ["PR approved but held so it could ship with two follow-up PRs", "work was merged through a combined PR #45884 and this one closed", "the extension policy was defended by linking earlier issue decisions", "later user objections were hidden as duplicates", "post-close questions turned the PR into a feedback venue for the beta"]}, "outcome": {"decided": true, "decision": "Ship node12 and nodenext in 4.5 via a combined PR, with imports written using the emitted extension and no compiler rewriting of specifiers.", "how": "maintainer-decision", "rationale": "TypeScript does not rewrite import paths in emitted code, and support should mirror what the target runtime actually resolves; shipping all parts together avoids half-working releases.", "dissent": "Several users argued .js imports leak runtime details and that an opt-in rewrite flag would be compile-time only.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/microsoft/TypeScript/pull/45884"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "A policy fixed by earlier decisions plus a staging choice about when to land.", "secondaryShape": "choice", "fitsFlows": ["find", "work-in-place", "settle", "build-pr"], "gaps": ["decision made elsewhere: the extension policy was settled in earlier issues and only cited here", "duplicates merged: repeated objections were hidden as duplicates rather than linked to the settled record", "superseded vehicle: the PR was replaced by a combined PR that carried the actual merge", "staged acceptance: approval happened months before landing, gated on sibling PRs"]}, "evalUse": "Tests separating a re-litigated prior decision from new design choices in a large language feature PR.", "notes": "reactionsTotal is not visible on the clipped meta line and is recorded as 0; check against the digest. Decider is the TypeScript team, with weswigham as author.", "caseId": "typescript-node12-esm-mode", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-scm-single-view-response", "sources": [{"url": "https://github.com/microsoft/vscode/issues/102118", "kind": "issue", "retrievedAt": "2026-10-18T07:19:33.830459+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Response to the unified SCM view regression", "question": "After shipping a single combined source control view, should VS Code revert it, add a toggle for the old per-repo view, or fix the new design forward?", "questionExplicit": true, "context": "VS Code 1.47 merged per-repo SCM panes into one movable view. Multi-repo users reported clutter, wrong-repo commits and downgrades to 1.46.", "options": [{"label": "Revert to the old view", "proposedBy": "users", "fate": "rejected"}, {"label": "Setting to toggle old vs new view", "proposedBy": "users", "fate": "rejected"}, {"label": "Iterate on the new view (spacing, badges, accordion, hide clean repos)", "proposedBy": "maintainer and contributors", "fate": "partly"}, {"label": "Restore repo selection that controls visibility within the single pane", "proposedBy": "maintainer (joaomoreno)", "fate": "chosen"}], "criteria": ["preventing wrong-repo commits", "visual memory and stable input position", "keeping the movable single-view architecture", "accessibility of dense layouts", "release timing"], "participants": {"count": 28, "roles": ["maintainer", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Count badge placement", "Whether to hide repos without changes", "Repo row visibility in single-repo workspaces"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 27, "comments": 65, "reactionsTotal": 385, "decidedOffPlatform": false, "notableMoves": ["maintainer renamed the issue from a disable request to general feedback", "users downgraded as a protest signal", "decision moved into a new follow-up issue"]}, "outcome": {"decided": true, "decision": "Keep the single view but bring back selecting a repository to show only its changes, tracked in a new issue, and keep refining the UX.", "how": "maintainer-decision", "rationale": "Selection-driven visibility fixes most pain while preserving the single movable view vision.", "dissent": "Many users wanted a revert or toggle and called the refusal stubborn; one user argued the old view also caused mistakes.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Revert, toggle, iterate or a hybrid, weighed against the architecture goal.", "secondaryShape": "explore", "fitsFlows": ["find", "work-in-place", "settle", "revisit-reopen"], "gaps": ["reversal after shipping: the question only surfaced after release and users downgraded as evidence", "votes as evidence: reactions and downgrade reports were the main pressure signal", "superseded by new issue: the resolution was spun into a fresh issue instead of settling here", "decider not in thread: the original single-view decision was made elsewhere and its rationale was only reconstructed by a contributor"]}, "evalUse": "Post-ship UI backlash where the maintainer chose a middle path over revert.", "notes": "Decider: joaomoreno. Implementation tracked in issue #104151, not fetched.", "caseId": "vscode-scm-single-view-backlash", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-centered-layout-scope-and-settings", "sources": [{"url": "https://github.com/microsoft/vscode/issues/15684", "kind": "issue", "retrievedAt": "2026-10-18T07:19:37.866245+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Centered layout scope and configuration", "question": "Should VS Code offer a centered editor layout, and should it be zen-only or general, sized by percentage or columns, and how should it be activated?", "questionExplicit": true, "context": "Zen mode left the editor flush left on wide screens and extensions could not change layout. A community contributor built a PR, and users debated its scope and settings before maintainers merged it.", "options": [{"label": "Zen-only centering via zenMode.centerEditor", "proposedBy": "PR author", "fate": "rejected"}, {"label": "General center mode with toggle and auto-activate contexts", "proposedBy": "user (dtgriscom) and PR author", "fate": "chosen"}, {"label": "Width in text columns", "proposedBy": "users", "fate": "rejected"}, {"label": "Alignment option left/center/right", "proposedBy": "user (dtgriscom)", "fate": "rejected"}, {"label": "Draggable sashes with Alt to decouple", "proposedBy": "PR author / maintainers", "fate": "chosen"}, {"label": "Top and bottom margins", "proposedBy": "user", "fate": "rejected"}], "criteria": ["usefulness on wide screens", "simplicity of settings", "chance of PR acceptance", "support and testing burden"], "participants": {"count": 43, "roles": ["maintainers", "external contributor", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Zen-only or general", "Percentage vs columns sizing", "Whether to auto-enable in zen mode"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 460, "comments": 69, "reactionsTotal": 683, "decidedOffPlatform": false, "notableMoves": ["community PR reshaped its settings after user feedback", "maintainer merged and handed polish to another maintainer", "post-ship complaints about centering being on by default in zen mode"]}, "outcome": {"decided": true, "decision": "Ship a centered layout usable outside zen mode via a toggle action, with draggable sashes, and auto-enable it in zen mode.", "how": "maintainer-decision", "rationale": "Strong demand from wide-screen users and a ready community implementation; settings were simplified to keep the PR acceptable.", "dissent": "After release some users disliked centering being on by default in zen mode and wanted per-file activation.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/microsoft/vscode/pull/40757"]}, "chopinFit": {"shape": "tune", "shapeWhy": "The debate was about dials (width, alignment, activation context) on a visible layout preview.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "build-pr", "settle"], "gaps": ["votes as evidence: hundreds of reactions and +1 comments were the main demand signal", "decision in PR review: final settings were set in the PR, not stated in the thread", "post-ship feedback: default-on in zen mode drew complaints without a reopen", "duplicates merged: a parallel request was closed into this one"]}, "evalUse": "Crowd-driven UI feature where a community PR's settings were tuned in the issue before merge.", "notes": "Decider: bpasero merged the PR; isidorn closed the issue. Final shipped settings differ from the PR author's list and are not spelled out in the thread.", "caseId": "vscode-centered-editor-layout", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-focus-indicator-dim-vs-border", "sources": [{"url": "https://github.com/microsoft/vscode/issues/30522", "kind": "issue", "retrievedAt": "2026-10-18T07:19:29.342140+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Focus indicator: dimming versus borders", "question": "How should VS Code show whether the editor or the terminal has focus?", "questionExplicit": true, "context": "Users typed into the wrong pane because cursor cues were too subtle. Two maintainers disagreed early on borders versus dimming, and the issue then sat in the backlog for six years while users built scripts.", "options": [{"label": "Opt-in dimming of unfocused views with adjustable opacity", "proposedBy": "opener", "fate": "chosen"}, {"label": "Focus border around whatever part is focused", "proposedBy": "maintainer Tyriar", "fate": "rejected"}, {"label": "Rely on existing cues such as cursor blinking and terminal outline", "proposedBy": "maintainer Tyriar", "fate": "rejected"}, {"label": "Dim every view, including sidebars", "proposedBy": "maintainer aeschli (as expectation)", "fate": "rejected"}, {"label": "Track which of editor or terminal was last focused", "proposedBy": "contributor", "fate": "deferred"}], "criteria": ["visibility on large displays", "avoid visual clutter", "opt-in so existing users are not jarred", "scope limited to typing areas", "amount of state to track"], "participants": {"count": 22, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should all views dim or only editor and terminal?", "Should clicking the explorer count as leaving the editor?"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 2211, "comments": 62, "reactionsTotal": 106, "decidedOffPlatform": false, "notableMoves": ["Two maintainers took opposite aesthetic positions on day one", "Maintainer judged demand by counting thumbs-up votes", "Mistaken close as duplicate, reopened the same hour", "Users circulated custom CSS/JS hacks as interim prototypes", "Shipped as experimental after the team's endgame test week"]}, "outcome": {"decided": true, "decision": "Ship opt-in dimming of unfocused editor and terminal views, controlled by an opacity setting, announced as experimental.", "how": "maintainer-decision", "rationale": "Dimming avoids added borders, makes focus obvious regardless of cursor style, and limiting it to the editor and terminal targets the mistyping problem without hurting other views.", "dissent": "One maintainer originally preferred borders; a contributor wanted dimming to ignore focus moving to the explorer.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": ["https://github.com/microsoft/vscode/pull/189248", "https://github.com/microsoft/vscode/pull/189425"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Two visual treatments competed on clutter versus clarity, with a clear pick.", "secondaryShape": "tune", "fitsFlows": ["ask-teammate", "settle", "build-pr", "revisit-reopen"], "gaps": ["votes as evidence: the maintainer read seven thumbs-up as low demand, and users kept asking where to vote", "community prototypes as evidence: user CSS/JS hacks effectively spiked dimming for years with no link into the decision", "staged acceptance: shipped as experimental with a follow-up improvement plan in a separate issue", "long dormancy: six years between the options and the decision with no recorded reason for the wait"]}, "evalUse": "Tests tracing an early maintainer disagreement through years of dormancy to an eventual implementation.", "notes": "Deciding maintainer: Tyriar. Early opposing view from bpasero.", "caseId": "vscode-dim-unfocused-views", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-dim-setting-shape-and-namespace", "sources": [{"url": "https://github.com/microsoft/vscode/issues/30522", "kind": "issue", "retrievedAt": "2026-10-18T07:19:29.342140+00:00"}], "repo": "microsoft/vscode", "domain": "naming", "title": "Dim setting shape, name and namespace", "question": "Should the dimming feature be one opacity setting under accessibility, or a boolean toggle plus opacity in a general namespace, and should it say unfocused or inactive?", "questionExplicit": true, "context": "After the first release, users could not find `accessibility.unfocusedViewOpacity` and expected a toggle under a general name. Another maintainer also favoured a boolean.", "options": [{"label": "Single opacity number under accessibility", "proposedBy": "maintainer Tyriar", "fate": "partly"}, {"label": "Boolean toggle with opacity as a secondary setting", "proposedBy": "contributor and maintainer aeschli", "fate": "chosen"}, {"label": "General workbench setting accepting true, false or a per-area object", "proposedBy": "user lobsterkatie", "fate": "rejected"}, {"label": "Use the word inactive instead of unfocused", "proposedBy": "users", "fate": "rejected"}, {"label": "Add search keywords to the existing setting", "proposedBy": "maintainer Tyriar", "fate": "chosen"}], "criteria": ["discoverability in settings search", "fewer settings", "consistency with existing setting names", "technical meaning of active in the API"], "participants": {"count": 22, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Which namespace should hold the setting?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 2228, "comments": 62, "reactionsTotal": 106, "decidedOffPlatform": false, "notableMoves": ["Maintainer asked users where they had searched for the setting", "Issue reopened after shipping to rework the setting", "Namespace moved again after the team test round, with discussion in other issues"]}, "outcome": {"decided": true, "decision": "The settings were reworked in PR #190751 and the unfocused wording kept; after team testing the maintainer planned to keep the feature under accessibility.", "how": "maintainer-decision", "rationale": "Inactive already means something else in the API, and the feature's purpose of making focus clear fits accessibility like high contrast borders.", "dissent": "Users repeatedly argued accessibility settings are overlooked by people who do not need accommodations.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": ["https://github.com/microsoft/vscode/pull/190098", "https://github.com/microsoft/vscode/pull/190751"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Naming and setting-shape alternatives were weighed against discoverability and consistency.", "secondaryShape": null, "fitsFlows": ["ask-teammate", "revisit-reopen", "build-pr", "settle"], "gaps": ["reversal after shipping: the namespace moved out and then back after the internal test round", "decision continued elsewhere: the final placement was settled in linked follow-up issues, not this thread", "coupled decisions: namespace, toggle shape and wording were decided together in one PR"]}, "evalUse": "Tests whether a model can track a post-ship naming debate and notice the final answer lives in follow-up issues.", "notes": "Deciding maintainer: Tyriar. The exact setting names after PR #190751 and the later move are not stated in the thread, so the decision text stays general; marking the boolean option as chosen relies on the maintainer saying he tweaked the settings in response, which is implied rather than stated.", "caseId": "vscode-dim-unfocused-views", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-modern-ui-rollout", "sources": [{"url": "https://github.com/microsoft/vscode/issues/326328", "kind": "issue", "retrievedAt": "2026-10-18T07:35:24.400218+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Modern UI rollout and Classic UI opt-out", "question": "Should the experimental Modern UI be reverted, kept as an optional style, or become the sole default?", "questionExplicit": true, "context": "VS Code turned on an experimental Modern UI with rounded panels and added spacing, aligning with the Agents window. Many users objected to lost space and the silent default switch.", "options": [{"label": "Revert the Modern UI", "proposedBy": "opener", "fate": "rejected"}, {"label": "Keep Modern UI but keep a permanent Classic opt-out", "proposedBy": "users", "fate": "rejected"}, {"label": "Compact variant with fewer borders and gaps", "proposedBy": "user (torinonegai)", "fate": "deferred"}, {"label": "Do not make the experiment default yet", "proposedBy": "users", "fate": "rejected"}, {"label": "Make Modern UI the default and later remove Classic after a transition", "proposedBy": "VS Code team (off-thread)", "fate": "chosen"}, {"label": "Run a user poll or survey first", "proposedBy": "users", "fate": "rejected"}], "criteria": ["screen space and information density", "visual consistency with the Agents window", "theme and extension compatibility", "user consent to default changes", "familiarity"], "participants": {"count": 31, "roles": ["users", "contributor"], "decider": "team"}, "process": {"research": "links", "spike": "feature-flag", "poll": false, "escalation": "none", "subQuestions": ["Should the opt-out survive once the UI leaves experimental status?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 68, "comments": 45, "reactionsTotal": 757, "decidedOffPlatform": true, "notableMoves": ["Default flipped through an experimental setting before any decision was announced", "JetBrains user testing cited as outside evidence", "Decision announced in a separate team issue and only relayed here by a user"]}, "outcome": {"decided": true, "decision": "The team plans to move all users to the Modern UI and remove the Classic UI after a transition period in which the setting still reverts it, with advance notice before removal.", "how": "maintainer-decision", "rationale": null, "dissent": "Most commenters oppose the change for wasting space and want a permanent opt-out.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A handful of rollout options weighed against density, consistency and consent.", "secondaryShape": "tune", "fitsFlows": ["find", "ask-teammate", "settle"], "gaps": ["a decider who isn't in the thread: no team member comments; the outcome comes from a separate announcement", "decisions taken off-platform: the decision lives in issue #334285 and is only relayed here", "votes or reaction counts as evidence: 757 reactions and calls for a poll stand in for structured user evidence", "experiments or feature flags as evidence: the experimental setting acted as both the rollout and the escape hatch", "staged acceptance: Classic remains during an undated transition before removal"]}, "evalUse": "High-volume user backlash on a product UI default where the decision is made elsewhere by the team.", "notes": "Rationale is not stated in this thread; the announcement in microsoft/vscode#334285 was not fetched. Reversibility reflects the stated temporary revert setting. The JetBrains links are the only outside research.", "caseId": "vscode-modern-ui-default", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-modern-ui-optin-rollout", "sources": [{"url": "https://github.com/microsoft/vscode/issues/330693", "kind": "issue", "retrievedAt": "2026-10-18T07:02:33.211966+00:00"}], "repo": "microsoft/vscode", "domain": "product-behaviour", "title": "Opt-in or opt-out rollout for the experimental Modern UI", "question": "Should an experimental UI redesign be switched on by default for Stable users, or stay opt-in until it is ready?", "questionExplicit": true, "context": "An update enabled workbench.experimental.modernUI for some Stable users, apparently through an A/B experiment. Users debated whether that rollout model is acceptable and listed concrete regressions in the new design.", "options": [{"label": "Keep experimental redesigns opt-in on Stable", "proposedBy": "opener", "fate": "deferred"}, {"label": "Enable by default with a setting to turn it off", "proposedBy": "VS Code team (implied by rollout)", "fate": "deferred"}, {"label": "Users opt out of A/B experiments", "proposedBy": "gjsjohnmurray", "fate": "rejected"}, {"label": "Notify users and offer a one-click way to keep the old UI", "proposedBy": "opener", "fate": "deferred"}], "criteria": ["user consent for workspace changes", "information density", "usability regressions such as tabs and scrollbars", "ease of reverting", "value of experiment data"], "participants": {"count": 11, "roles": ["users", "contributors"], "decider": "unclear"}, "process": {"research": "none", "spike": "experiment", "poll": false, "escalation": "none", "subQuestions": ["Is the new tab sizing a regression?", "Does the outer border break scrollbar access?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 53, "comments": 16, "reactionsTotal": 164, "decidedOffPlatform": false, "notableMoves": ["users split between liking the design and objecting to the rollout model", "specific regressions reported and partly fixed in later releases"]}, "outcome": {"decided": false, "decision": null, "how": "unclear", "rationale": null, "dissent": "One user called the complaints exaggerated and liked the new UI, while agreeing experiments should be opt-in.", "confidence": "none", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Two rollout models weighed against consent, usability and reversibility.", "secondaryShape": "check", "fitsFlows": ["ask-teammate", "revisit-reopen"], "gaps": ["decider not in thread: no maintainer replied; the team only labelled the issue", "experiments as evidence: an A/B rollout was the real decision mechanism and its data never appeared", "reversal after shipping: users mention a partial revert of tab styling with no record of who decided it", "votes as evidence: high reaction counts were the main signal of user sentiment", "duplicates merged: users point to a sibling issue on the same rollout"]}, "evalUse": "Tests recognising an unanswered user-side question where the decision lives with an absent team and an experiment.", "notes": "No maintainer comments. Users report a revert of some tab styling around 2026-10-02 and a fix for the close button, but the thread never confirms whether the default changed.", "caseId": "vscode-modern-ui-default-optin", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-modern-ui-classic-removal", "sources": [{"url": "https://github.com/microsoft/vscode/issues/334285", "kind": "issue", "retrievedAt": "2026-10-18T07:02:35.992461+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Removing VS Code's Classic UI after the Modern UI transition", "question": "Should VS Code move everyone to the Modern UI and remove the Classic UI option, and what must change in density and customisation before it does?", "questionExplicit": true, "context": "The team shipped a redesigned workbench with more spacing, rounded panels and new tabs, then made it the default. Feedback centred on lost screen space and weak tab contrast; the team answered with fixes, Compact Mode and new settings while announcing that the Classic toggle is temporary.", "options": [{"label": "Move everyone to the Modern UI and remove the Classic toggle after a transition", "proposedBy": "maintainers", "fate": "partly"}, {"label": "Compact Mode density setting closer to Classic", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Keep both designs until most users prefer the modern one, or indefinitely", "proposedBy": "users", "fate": "rejected"}, {"label": "Drop the modern design and revisit a milder version later", "proposedBy": "abel1502", "fate": "rejected"}, {"label": "Fine-grained size tokens via a size customisation setting and theme sizes", "proposedBy": "mmontagnana", "fate": "deferred"}, {"label": "User CSS stylesheets", "proposedBy": "magpie514", "fate": "rejected"}, {"label": "Ship the Modern UI as a theme on a more capable theming system", "proposedBy": "MrChocolatine", "fate": "rejected"}], "criteria": ["screen density and visible code", "click targets at screen edges", "active tab legibility", "consistency and maintainability of one design system", "user choice and configurability", "rendering performance", "transparency of changes"], "participants": {"count": 57, "roles": ["maintainers", "contributors", "theme authors", "users"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "feature-flag", "poll": false, "escalation": "none", "subQuestions": ["How should active tabs look (connected tabs, PR #335605)?", "Should Compact Mode remove the window-edge padding (changed in 1.140)?", "When should the Modern UI become the default (flipped in 1.139)?", "Should the effort be called Modern?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 43, "comments": 99, "reactionsTotal": 688, "decidedOffPlatform": true, "notableMoves": ["maintainers quantified the extra pixels used at 1080p", "Modern UI made default in 1.139 without release notes", "tab redesign shipped in response to complaints", "Compact Mode quietly tightened in 1.140", "a user proposed exposing existing size tokens as settings"]}, "outcome": {"decided": true, "decision": "The team keeps its plan to make the Modern UI universal and later remove the Classic toggle, with no date set, while adding Compact Mode, tab fixes and theme hooks in response to feedback.", "how": "maintainer-decision", "rationale": "A single design-token foundation enables consistent density, theming and future customisation; density complaints are addressed through Compact Mode and settings rather than keeping Classic.", "dissent": "Many users want Classic kept indefinitely or the redesign dropped, citing wasted space, edge dead zones, poor tab contrast and unannounced default changes.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/microsoft/vscode/pull/335605", "https://github.com/microsoft/vscode/pull/337266"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "A stated direction plus many tunable density and styling dials.", "secondaryShape": "tune", "fitsFlows": ["settle", "revisit-reopen", "build-pr", "reshape"], "gaps": ["decider not in thread: the plan was set by the team before the issue and maintainers rarely answer the core objection", "reversal after shipping: the default flipped and Compact Mode changed in releases without notes, so users had to dig through PRs to learn what was decided", "votes as evidence: reaction counts on PRs and comments are the community's main argument but have no weight in the decision record", "staged acceptance: removal is accepted in principle with no date, while Compact Mode and tokens land piecemeal", "feature flags as evidence: the opt-out setting doubles as an experiment, but adoption data is never shared"]}, "evalUse": "Contested product-UI rollout where the decision predates the thread; tests representing announced plans, dissent and incremental tuning.", "notes": "Default flip (PR #337013) and Compact Mode change (PR #337700) are only reported by users; implementedIn lists PRs the maintainers linked. decidedOffPlatform reflects that the plan was made inside the team before the issue. Many comments are hostile; summarised neutrally.", "caseId": "vscode-modern-ui-classic-removal", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-completion-item-label-shape", "sources": [{"url": "https://github.com/microsoft/vscode/issues/39441", "kind": "issue", "retrievedAt": "2026-10-18T07:19:44.221446+00:00"}], "repo": "microsoft/vscode", "domain": "api-design", "title": "Structured completion labels", "question": "How should completion providers supply extra per-row information that is always visible in the suggest list, and what should the fields be called?", "questionExplicit": true, "context": "Completion rows only showed `detail` for the focused item, so extensions crammed namespaces into labels. Any always-visible data must be available at provide time, which TypeScript said it could not afford for large lists.", "options": [{"label": "Render existing detail inline for all rows behind a setting", "proposedBy": "maintainer (octref)", "fate": "rejected"}, {"label": "CompletionList#isDetailsResolved flag", "proposedBy": "maintainer (octref)", "fate": "rejected"}, {"label": "Flat CompletionItem#labelDetails property", "proposedBy": "maintainer", "fate": "rejected"}, {"label": "label as string | CompletionItemLabel object", "proposedBy": "maintainer (octref)", "fate": "chosen"}, {"label": "Label fields name/signature/qualifier/type", "proposedBy": "maintainer (jrieken)", "fate": "rejected"}, {"label": "Label fields label/detail/description", "proposedBy": "maintainer (jrieken) and Dart contributor", "fate": "chosen"}, {"label": "Lazy resolution of label details for visible rows", "proposedBy": "TypeScript team", "fate": "rejected"}, {"label": "Use qualifier for filtering", "proposedBy": "Haxe contributor", "fate": "rejected"}], "criteria": ["stable UI without flicker", "provider cost for very large lists", "extensibility of the label shape", "alignment with LSP", "naming clarity across languages", "visual scannability"], "participants": {"count": 11, "roles": ["maintainers", "extension authors", "TypeScript team", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Field naming: signature vs parameters vs detail", "Whether filtering uses non-name fields", "Whether labels can be resolved lazily"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 1305, "comments": 50, "reactionsTotal": 55, "decidedOffPlatform": false, "notableMoves": ["proposal shipped under a temporary label2 name to isolate proposed API", "issue reopened to keep API history in one place", "work stalled a year after the developer left", "last-call comment before finalization", "a key consumer (TypeScript) said it could not adopt and was overridden"]}, "outcome": {"decided": true, "decision": "Finalize `CompletionItem.label` as a string or a structured label with a name plus optional detail and description shown inline; data must be supplied at provide time and only the name is filtered.", "how": "maintainer-decision", "rationale": "A structured label keeps the UI stable and is extensible, and other language extensions could already provide the data, so TypeScript's cost limits should not block them.", "dissent": "TypeScript maintainers said they could not compute details for huge lists and wanted lazy resolution; a contributor wanted qualifier filtering.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several API shapes were compared against UI stability and provider cost, followed by a naming pick.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "revisit-reopen"], "gaps": ["coupled decisions: API shape, field naming, rendering layout and filtering semantics were settled together", "staged acceptance: shipped as proposed API under a temporary name, finalized 17 months later", "decider not in thread: progress stalled when the developer driving it left the team", "cross-project dependency: viability hinged on TypeScript server capacity, tracked in separate issues", "visual alternatives as evidence: competing renderings were compared through screenshots"]}, "evalUse": "API-plus-UI choice where one major consumer's constraints were heard and overridden.", "notes": "Decider: jrieken. Finalized API link points to vscode.d.ts at a commit, not a PR, so implementedIn is empty. Final field names inferred from the leaning toward label/detail/description; the thread does not spell them out after finalization.", "caseId": "vscode-completion-label-details", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-quick-open-preview-behaviour", "sources": [{"url": "https://github.com/microsoft/vscode/issues/8939", "kind": "issue", "retrievedAt": "2026-10-18T07:19:48.278981+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Quick Open eager preview behaviour", "question": "When a user moves through Quick Open results, how should files be previewed, and what should Enter and Esc leave behind?", "questionExplicit": false, "context": "Users coming from Sublime wanted Quick Open to show each highlighted file as they navigate. The team held a UX meeting, and a contributor then built a PR that surfaced edge cases around cancel, scroll position and history.", "options": [{"label": "Reuse or create the normal preview editor for each focused result", "proposedBy": "UX meeting (maintainers)", "fate": "partly"}, {"label": "Show previews in a tab-less temporary buffer, Sublime-style", "proposedBy": "contributor wprater", "fate": "rejected"}, {"label": "On Esc, keep the last previewed file in the preview editor", "proposedBy": "UX meeting (first draft)", "fate": "rejected"}, {"label": "On Esc, close a newly created preview or restore the earlier preview", "proposedBy": "contributor wprater, endorsed by bpasero", "fate": "chosen"}, {"label": "Respect enablePreviewFromQuickOpen while navigating", "proposedBy": "contributor wprater", "fate": "rejected"}, {"label": "Make the right arrow open results in preview mode", "proposedBy": "user", "fate": "deferred"}], "criteria": ["no side effects after cancel", "parity with Sublime and Visual Studio", "avoid piling up editors", "preserve cursor and scroll position", "keep history free of previews", "fit existing editor model"], "participants": {"count": 46, "roles": ["maintainers", "contributors", "users", "extension authors"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["What should Esc do when a preview editor already existed?", "Should previewed files enter navigation and persisted history?", "At what line should a previewed file open?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 102, "comments": 77, "reactionsTotal": 668, "decidedOffPlatform": true, "notableMoves": ["UX meeting notes were edited in place with strikethrough after implementation feedback", "Contributor PR #13909 surfaced edge cases and was later closed", "A maintainer later cited a technical blocker documented in another issue", "Years of users pointing to third-party extensions as workarounds"]}, "outcome": {"decided": true, "decision": "Quick Open should open each focused result as an unpinned preview (or focus it if already open), keep its prior position, keep previews out of history, pin on Enter, and on cancel either close the new preview or restore the earlier one. The behaviour was never shipped.", "how": "maintainer-decision", "rationale": "Reusing the existing preview editor fits the editor model and avoids accumulating tabs, while restoring state on cancel means browsing leaves nothing behind.", "dissent": "The contributor preferred a separate tab-less buffer; later users argued an imperfect interim version should ship despite the blocker.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing preview mechanisms and cancel behaviours were compared against criteria such as side effects and parity with other editors.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "settle", "build-pr", "research-or-spike"], "gaps": ["staged acceptance: the behaviour was agreed in 2016 but never shipped, leaving the issue open for a decade with no record of why it stalled here", "off-platform decision: the design was agreed in a UX meeting and only its notes were posted", "amended decision text: the meeting notes were revised in place with strikethrough rather than recorded as a new version", "external blocker: the reason it stalled lives in a comment on another issue, not in this decision", "votes as evidence: over 300 reactions and many +1s never changed the priority", "workaround ecosystem: third-party extensions became the de facto answer with no link back to the decision"]}, "evalUse": "Tests whether a model can separate an agreed-but-unshipped design from an open question and trace the edited spec.", "notes": "Deciding maintainer: bpasero, with the UX meeting summarised by bgashler1. PR #13909 was closed; whether it merged in any form is not stated in the thread.", "caseId": "vscode-quick-open-eager-preview", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-pinned-tab-sizing", "sources": [{"url": "https://github.com/microsoft/vscode/issues/98161", "kind": "issue", "retrievedAt": "2026-10-18T07:02:28.318269+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Pinned tab sizing in VS Code", "question": "How should pinned tabs show enough context to tell them apart while still signalling that they are pinned?", "questionExplicit": true, "context": "Pinned tabs shrank to a 38px icon, so several files of the same type looked identical. Any change had to keep tabs light, show pinned state, and survive scrolling and many tab settings.", "options": [{"label": "Sizing setting: compact, shrink or normal", "proposedBy": "bpasero", "fate": "chosen"}, {"label": "Unpin action replacing close on pinned tabs", "proposedBy": "kleber-swf", "fate": "chosen"}, {"label": "Separator border after last pinned tab", "proposedBy": "mihaibrana", "fate": "partly"}, {"label": "Rich or instant hover on icon-only tabs", "proposedBy": "bpasero", "fate": "rejected"}, {"label": "Always-visible pin icon beside close", "proposedBy": "JanBN", "fate": "deferred"}, {"label": "Character-limited name", "proposedBy": "yannlairdc", "fate": "merged"}, {"label": "Colour coding or generated identicons", "proposedBy": "rben01", "fate": "rejected"}, {"label": "Bold title as pinned cue", "proposedBy": "bpasero", "fate": "rejected"}, {"label": "Separate row for pinned tabs", "proposedBy": "thomthom", "fate": "deferred"}], "criteria": ["distinguish same-type files", "signal pinned state", "avoid tab clutter", "stable width while typing and scrolling", "visible with many tabs", "no regressions across tab settings"], "participants": {"count": 27, "roles": ["maintainers", "users", "contributors"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Which default sizing mode?", "How to show pinned state without clutter?", "Should dirty state show on pinned tabs?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 113, "comments": 58, "reactionsTotal": 270, "decidedOffPlatform": false, "notableMoves": ["maintainer set design constraints before inviting PRs", "long back-and-forth with one user on pin, close and dirty icons", "shipped to Insiders for feedback", "default flipped from shrink to normal a week later", "follow-ups split into new issues"]}, "outcome": {"decided": true, "decision": "Add `workbench.editor.pinnedTabSizing` (compact, shrink, normal) with an unpin action in place of close and a `tab.lastPinnedBorder` colour; the default, first shrink, was changed to normal.", "how": "maintainer-decision", "rationale": "Users get to choose between compactness and readable names; a normal default avoids surprising first-time users, while shrink keeps stable widths.", "dissent": "Some users still wanted a permanently visible pin icon, filed separately as #106956.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/microsoft/vscode/pull/106385"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Many visual treatments were weighed against clutter, stability and recognisability.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "build-pr", "revisit-reopen", "reshape"], "gaps": ["coupled decisions: sizing modes, pinned indicator, unpin action and separator colour were settled together in one PR", "reversal after shipping: the default moved from shrink to normal a week after the Insiders release, a revision rather than a reopen", "configurable outcome: the answer was to ship all three options as a setting, so the record needs a chosen default plus kept alternatives", "votes as evidence: 109 reactions on the opening and many +1 comments signalled demand but were not weighed explicitly", "spun-off follow-ups: always-visible pin icon and multi-row tabs were split into #106956 and #98160", "preview build as evidence: Insiders testing fed the default change"]}, "evalUse": "Tests whether an agent reports the final default (normal), not the first-announced one, and lists the full option set that shipped.", "notes": "decider: bpasero (labelled CONTRIBUTOR but acts as the VS Code maintainer who labels, implements and closes). The deciding event is the 2020-09-10 announcement; the default change on 2020-09-18 revises it. The 'merged' fate for a character-limited name reflects that shrink mode partially reveals names.", "caseId": "vscode-pinned-tab-sizing", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-fixed-width-tabs", "sources": [{"url": "https://github.com/microsoft/vscode/pull/181729", "kind": "pr", "retrievedAt": "2026-10-18T07:26:59.903031+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Fixed-width editor tabs in VS Code", "question": "Should the new fixed tab sizing be simple equal-width tabs, or follow Chrome's model where tabs shrink evenly and hold their widths while closing?", "questionExplicit": true, "context": "A long-standing request asked for equal-width editor tabs. A contributor's PR offered a simple version; the reviewing maintainer asked for browser-style behaviour so tabs can be closed in a row without the close button moving.", "options": [{"label": "Simple equal-width tabs with a max width", "proposedBy": "jacekkopecky", "fate": "rejected"}, {"label": "Chrome-style: even shrink, no scrollbar, widths held after close until mouse leaves", "proposedBy": "bpasero", "fate": "chosen"}, {"label": "Freeze widths for any change while hovering", "proposedBy": "jacekkopecky", "fate": "rejected"}, {"label": "Defer toolbar action changes while hovering", "proposedBy": "bpasero", "fate": "rejected"}, {"label": "Animated width transition", "proposedBy": "jacekkopecky", "fate": "partly"}], "criteria": ["close several tabs without moving the mouse", "no scrollbars", "consistency with other tab settings", "restrained use of animation", "code cleanliness"], "participants": {"count": 3, "roles": ["maintainers", "contributors"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Name and default of the max-width setting", "Should widths freeze only on close?", "Should resizing animate?", "How to handle rounding with wrapped tabs?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 16, "comments": 72, "reactionsTotal": 21, "decidedOffPlatform": false, "notableMoves": ["reviewer widened scope from a simple option to Chrome's model", "maintainer pushed commits directly to narrow freezing to close events", "setting renamed to `tabSizingFixedMaxWidth` with a 160px default", "contributor used a codepen to justify a rounding workaround", "missed last-tab case fixed in a follow-up PR"]}, "outcome": {"decided": true, "decision": "Merge `tabSizing: fixed` using Chrome-style behaviour with `tabSizingFixedMaxWidth`, holding widths only after a tab is closed until the mouse leaves the strip.", "how": "maintainer-decision", "rationale": "Matching browser tabs makes the option useful to people who prefer that model and lets them close tabs repeatedly in one spot.", "dissent": "The contributor felt the added complexity was why they had proposed plain fixed widths, and preferred keeping the animation.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/microsoft/vscode/pull/181729", "https://github.com/microsoft/vscode/pull/183188"]}, "chopinFit": {"shape": "tune", "shapeWhy": "Most of the debate was about behaviour you judge by watching it: widths, timing, animation and when to freeze, settled through recordings.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "build-pr"], "gaps": ["experiments as evidence: screen recordings and a codepen carried the argument, not text", "scope expansion in review: the reviewer turned a small option into a different design, with no record of the original being rejected", "coupled decisions decided together: behaviour model, setting name, default width and animation were resolved inline in one PR", "unrecorded sub-outcome: whether the transition was kept or dropped is never stated in the thread"]}, "evalUse": "Tests recognising a reviewer-driven redesign inside a PR and extracting several small UI tuning choices.", "notes": "Decider is bpasero, labelled CONTRIBUTOR but acting as the owning maintainer; Tyriar also approved. The fate of the animation is unclear from the thread, marked partly.", "caseId": "vscode-fixed-width-tabs", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vscode-windows-titlebar-style", "sources": [{"url": "https://github.com/microsoft/vscode/pull/39972", "kind": "pr", "retrievedAt": "2026-10-18T07:26:52.092607+00:00"}], "repo": "microsoft/vscode", "domain": "ui-ux", "title": "Windows custom title bar: style, setting and menu gate", "question": "Under what design and conditions should VS Code ship a custom-coloured title bar on Windows: which visual style, behind which setting, and what to do about the native menu it removes?", "questionExplicit": true, "context": "Windows users wanted a themed title bar like macOS had. A contributor built one, but drawing it custom removes the native Windows menu bar, and two visual styles (UWP-like and classic desktop) were in play.", "options": [{"label": "UWP-style taller bar without app icon", "proposedBy": "opener; several users", "fate": "rejected"}, {"label": "Classic desktop-style bar matching current height with app icon", "proposedBy": "maintainer (bpasero)", "fate": "chosen"}, {"label": "Offer both styles via a new three-value setting", "proposedBy": "opener", "fate": "rejected"}, {"label": "Reuse `window.titleBarStyle` native/custom", "proposedBy": "maintainer (bpasero)", "fate": "chosen"}, {"label": "Slack-style corner context menu instead of a menu bar", "proposedBy": "maintainer (bpasero)", "fate": "rejected"}, {"label": "Custom HTML menubar integrated into the title bar", "proposedBy": "users; implemented by team member (sbatten)", "fate": "chosen"}, {"label": "Merge without a menu solution", "proposedBy": "implicit", "fate": "rejected"}], "criteria": ["matches typical Windows desktop apps", "no loss of main menu", "accessibility and screen readers", "setting simplicity", "theming consistency", "Linux applicability"], "participants": {"count": 14, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Which visual style for Windows?", "New setting or reuse existing one?", "How to provide the menu?", "How to keep the window draggable while loading?", "Should the icon menu be native or VS Code styled?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 190, "comments": 70, "reactionsTotal": 228, "decidedOffPlatform": true, "notableMoves": ["UX meeting gated the merge on a menu solution", "PR parked for months behind team priorities", "team member took over and reworked the PR before merge", "opener's late proposal for a style option was overtaken by the rework"]}, "outcome": {"decided": true, "decision": "Ship an opt-in custom title bar on Windows using the existing `window.titleBarStyle` custom value, in a classic desktop style with icon, merged only once a team member had built an integrated custom menubar on top of the PR.", "how": "maintainer-decision", "rationale": "Losing the native menu was unacceptable for accessibility and usability, one well-chosen default was preferred over multiple styles, and matching normal Windows desktop apps kept the look familiar.", "dissent": "Several users and the opener preferred the UWP-style bar and wanted a choice of styles.", "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/microsoft/vscode/pull/39972"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing visual styles and menu strategies judged against consistency, accessibility and setting simplicity.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "research-or-spike", "settle", "build-pr"], "gaps": ["off-platform decision: the merge gate was set in an internal UX meeting and only reported in the PR", "staged acceptance: the PR was accepted in principle but blocked on a separate menubar workstream for six months", "coupled decisions: title bar style, setting shape and menu approach had to be settled together", "handoff of ownership: a team member took over and reworked the contributor's PR, leaving the opener's follow-up question moot", "votes or 👍 counts as evidence: users' style preferences and a heavily upvoted mockup were offered as evidence but did not decide"]}, "evalUse": "Tests tracking a design gated by an off-thread meeting and a dependent workstream before a PR can land.", "notes": "bpasero is labelled CONTRIBUTOR but acts as a VS Code team maintainer; sbatten is a MEMBER who built the menubar.", "caseId": "vscode-windows-custom-titlebar", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "node-yarn-vs-corepack", "sources": [{"url": "https://github.com/nodejs/TSC/issues/1012", "kind": "issue", "retrievedAt": "2026-10-18T07:33:11.421003+00:00"}], "repo": "nodejs/TSC", "domain": "dependency", "title": "Bundle Yarn, add Corepack, or neither", "question": "Should Node.js bundle Yarn directly, integrate Corepack, or leave package managers as they are?", "questionExplicit": true, "context": "Competing PRs would either vendor Yarn 1.22 into Node or add Corepack, a shim that fetches package managers on demand. A TSC meeting decided to resolve it by a vote of the full TSC.", "options": [{"label": "Add Corepack", "proposedBy": "TSC meeting", "fate": "chosen"}, {"label": "Bundle Yarn (land #37277)", "proposedBy": "TSC meeting", "fate": "rejected"}, {"label": "Leave things as is", "proposedBy": "TSC meeting", "fate": "rejected"}, {"label": "Stop bundling npm / ship npm via Corepack", "proposedBy": "aduh95", "fate": "deferred"}, {"label": "Remove npm", "proposedBy": "aduh95", "fate": "rejected"}], "criteria": ["semver impact", "effect on existing npm users and CI", "npm team involvement", "evidence from Corepack in use before touching npm", "sending the wrong public signal"], "participants": {"count": 13, "roles": ["TSC members", "contributors", "users"], "decider": "vote"}, "process": {"research": "none", "spike": "implementation-pr", "poll": true, "escalation": "vote", "subQuestions": ["Should npm options appear on the ballot?", "Is a vote approval of a specific PR or only a direction?", "Should newly nominated members vote?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 20, "comments": 52, "reactionsTotal": 94, "decidedOffPlatform": true, "notableMoves": ["meeting called the question before the thread", "ballot narrowed from five to three options to stay semver-minor", "vote run privately on OpaVote with daily turnout updates", "clarified vote endorses direction, not a PR"]}, "outcome": {"decided": true, "decision": "Corepack won the RCV vote (12 of 19 first choices, 18 after transfers); the Yarn PR was closed and the Corepack PR revisited.", "how": "vote", "rationale": "Corepack avoids blessing one third-party manager and keeps npm questions separate and reversible.", "dissent": "One member favoured removing npm but conceded; one member abstained over a conflict of interest.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/nodejs/node/pull/39608"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A fixed set of three alternatives voted on by a defined body.", "secondaryShape": null, "fitsFlows": ["ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["votes as evidence: the decision was a formal ranked ballot by a closed electorate with private ballots and turnout tracking, not thumbs from whoever passes by", "off-platform decision: the question was called in a TSC meeting and the ballot ran on an external voting site, with only results posted back", "staged acceptance: the vote endorsed a direction only, leaving the actual PR to separate technical review", "conflict-of-interest abstention: a participant formally recused, which the record has no place for"]}, "evalUse": "Tests reconstructing a formal vote outcome and separating direction approval from PR approval.", "notes": "Ballot options were finalised by mhdawson; vote run by mmarchini. Later 2024 cross-references show the Corepack question being revisited elsewhere, outside this thread.", "caseId": "nodejs-tsc-yarn-corepack-vote", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "node-tsc-voting-method", "sources": [{"url": "https://github.com/nodejs/TSC/issues/1012", "kind": "issue", "retrievedAt": "2026-10-18T07:33:11.421003+00:00"}], "repo": "nodejs/TSC", "domain": "process-governance", "title": "Voting method for the TSC ballot", "question": "Which voting method should the TSC use for this ballot: pick-one, Condorcet ranking, San Francisco RCV, or per-option scoring?", "questionExplicit": true, "context": "Once a vote was agreed, members debated whether a ranked or scored method would capture preferences better than a single choice.", "options": [{"label": "Pick one option", "proposedBy": "mhdawson", "fate": "rejected"}, {"label": "Condorcet ranking", "proposedBy": "aduh95", "fate": "rejected"}, {"label": "San Francisco RCV on OpaVote", "proposedBy": "mmarchini", "fate": "chosen"}, {"label": "Rate each option on a numeric scale", "proposedBy": "ChALkeR", "fate": "deferred"}, {"label": "Approval voting", "proposedBy": "DeeDeeG", "fate": "rejected"}], "criteria": ["expressiveness of preferences", "setup effort and delay", "precedent", "voter participation", "agreeing a common scale"], "participants": {"count": 13, "roles": ["TSC members", "contributors", "users"], "decider": "consensus"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should a standard voting method be documented for future votes?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 7, "comments": 52, "reactionsTotal": 94, "decidedOffPlatform": false, "notableMoves": ["worked numeric examples comparing methods", "RCV chosen on precedent to avoid delay, long-term method deferred to a separate issue"]}, "outcome": {"decided": true, "decision": "Use San Francisco RCV on OpaVote for this vote and discuss a standard method separately.", "how": "consensus", "rationale": "RCV had worked in a previous TSC vote and further debate would delay the real decision.", "dissent": "One member still preferred per-option scores for capturing strength of preference.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Named methods compared on expressiveness versus cost.", "secondaryShape": null, "fitsFlows": ["ask-teammate", "settle"], "gaps": ["coupled decisions: the meta question of how to decide had to be settled inside the main question before it could proceed", "deferred follow-up: a standing voting policy was spun off to another issue with no link back"]}, "evalUse": "Tests spotting a nested process decision inside a larger decision thread.", "notes": "Settled by agreement among mhdawson, Trott and mmarchini.", "caseId": "nodejs-tsc-yarn-corepack-vote", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "node-primordials-error-path", "sources": [{"url": "https://github.com/nodejs/TSC/issues/1104", "kind": "issue", "retrievedAt": "2026-10-18T07:33:04.394895+00:00"}, {"url": "https://github.com/nodejs/TSC/pull/1158", "kind": "pr", "retrievedAt": "2026-10-18T07:42:33.310030+00:00"}], "repo": "nodejs/TSC", "domain": "process-governance", "title": "Primordials policy for the error path", "question": "How tamper-proof should Node.js core be, and by what means, starting with code on the error path?", "questionExplicit": true, "context": "Node core had partly migrated to primordials for tamper resistance, but migration stalled over performance and readability. The TSC needed a policy to settle which PRs adding or removing primordials could land.", "options": [{"label": "Full tamper-proofing by moving code off JS or the main thread", "proposedBy": "TSC members", "fate": "rejected"}, {"label": "Full tamper-proofing with primordials", "proposedBy": "TSC members", "fate": "rejected"}, {"label": "Primordials plus a bind-this build step", "proposedBy": "TSC member (aduh95)", "fate": "rejected"}, {"label": "Primordials only where no significant perf regression", "proposedBy": "TSC members", "fate": "chosen"}, {"label": "Drop prototype-method primordials, keep others", "proposedBy": "TSC member (aduh95)", "fate": "rejected"}, {"label": "Remove all primordials", "proposedBy": "TSC members", "fate": "rejected"}, {"label": "Survey the community first", "proposedBy": "TSC member (BridgeAR)", "fate": "rejected"}, {"label": "Freeze migration where it is", "proposedBy": "opener", "fate": "rejected"}], "criteria": ["tamper resistance", "runtime performance", "contributor readability", "clarity of scope", "ability to block or land PRs"], "participants": {"count": 26, "roles": ["TSC members", "users"], "decider": "vote"}, "process": {"research": "links", "spike": "none", "poll": true, "escalation": "vote", "subQuestions": ["Which modules are in scope (loader, policy, repl, error path)?", "What counts as the error path?", "Which voting method and tool, and should ballots be secret?", "Does the winning option require error-path benchmarks?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 117, "comments": 111, "reactionsTotal": 83, "decidedOffPlatform": true, "notableMoves": ["Options pruned in TSC meetings and reported back", "Scope narrowed to error path as a first vote", "Charter seconding gathered via thumbs-up reactions", "Custom encrypted Condorcet voting tool built for the vote", "A missing ballot was added after results were posted", "Interpretation of the winning option disputed after the vote"]}, "outcome": {"decided": true, "decision": "For error-path code, primordials may be used unless they cause a significant performance regression, and existing ones should not be removed without such a regression; other areas were left to future votes.", "how": "vote", "rationale": "Ranked Condorcet result among TSC members; error-path code was chosen as a starting point where reliability likely outweighs speed.", "dissent": "Several members found the winning wording confusing, disagreed whether error-path benchmarks were needed, and one noted voting conservatively without a main-path decision.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/nodejs/TSC/pull/1158"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A ranked vote among enumerated policy options with explicit trade-off criteria.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "reshape"], "gaps": ["votes or reaction counts as evidence: charter seconding was counted from thumbs-up reactions, and the decision itself was a ranked Condorcet ballot", "decisions taken off-platform: options were pruned and scope narrowed in TSC meetings and video recordings", "staged acceptance: only the error-path slice was decided, with the broader primordials question pushed to future issues", "ambiguous outcome wording: members disputed what the winning option meant after it won", "decision split across threads: discussion in an issue and the binding vote in a separate PR"]}, "evalUse": "Formal multi-month governance vote with option pruning, scope narrowing, a custom ballot and post-vote interpretation dispute.", "notes": "Participant, comment and reaction counts sum issue #1104 and PR #1158. Reversibility marked easy because the result is a policy with explicit follow-up votes planned.", "caseId": "tsc-primordials-error-path-vote", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "nodejs-primordials-policy", "sources": [{"url": "https://github.com/nodejs/TSC/issues/1438", "kind": "issue", "retrievedAt": "2026-10-18T07:33:15.072420+00:00"}], "repo": "nodejs/TSC", "domain": "process-governance", "title": "Keep, limit or remove primordials in Node.js internals", "question": "Should Node.js remove primordials from its internals, and if not entirely, where should they still be required?", "questionExplicit": true, "context": "Primordials protect core from user changes to built-in prototypes but make code unusual and sometimes slower. A 2022 TSC vote limited them to error paths, yet contributors still felt required to use them everywhere.", "options": [{"label": "Remove all primordials", "proposedBy": "opener (anonrig)", "fate": "rejected"}, {"label": "Keep for web standards and critical error paths only", "proposedBy": "TSC member (benjamingr)", "fate": "partly"}, {"label": "Keep everywhere until a language-level alternative exists", "proposedBy": "member (ljharb)", "fate": "rejected"}, {"label": "Case-by-case removal justified by benchmarks", "proposedBy": "member (RaisinTen)", "fate": "partly"}, {"label": "Stop requiring contributors to add them beyond the linter", "proposedBy": "TSC member (targos)", "fate": "deferred"}, {"label": "Transpiler, V8/TC39 feature, or C++ reimplementation", "proposedBy": "isaacs; opener", "fate": "rejected"}, {"label": "Strategic initiative defining guarded use cases with tests and docs", "proposedBy": "TSC member (benjamingr)", "fate": "chosen"}], "criteria": ["platform robustness against prototype tampering", "performance", "contributor experience and readability", "security and threat model", "web standards compliance", "respect for prior TSC vote"], "participants": {"count": 22, "roles": ["TSC members", "collaborators", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": true, "escalation": "tsc", "subQuestions": ["Are primordials a security feature?", "Can a TSC vote be revisited?", "Which modules must stay guarded?", "Should contributors be asked to add them?"], "deferred": true, "reopened": false, "superseded": true, "durationDays": 15, "comments": 68, "reactionsTotal": 144, "decidedOffPlatform": false, "notableMoves": ["opener asked for thumbs up/down as a sentiment poll", "revisiting a prior TSC vote was itself contested", "thread was redirected into a time-boxed strategic initiative and a new repository"]}, "outcome": {"decided": true, "decision": "Full removal was not adopted; instead a TSC strategic initiative was opened to define, with tests and docs, where primordials are required and to avoid adding them elsewhere.", "how": "consensus", "rationale": "Participants largely agreed primordials hurt contribution but serve real robustness needs in error paths, web standards, the test runner and loaders, so the question needed use-case-level answers.", "dissent": "The opener and some TSC members held that partial coverage gives no benefit and preferred near-total removal; others wanted full coverage.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "Participants first had to agree what primordials are for before options could be compared.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "research-or-spike", "revisit-reopen", "reshape", "settle"], "gaps": ["revisiting a prior vote: the record needed to link to and possibly override the 2022 TSC vote", "votes or 👍 counts as evidence: the opener solicited thumbs as a signal of support", "staged acceptance: the outcome was a process to decide later, not an answer", "decision moved to another thread: work moved to TSC#1439 and a new repository", "framing dispute: whether the question was security, reliability or contributor experience was itself unresolved"]}, "evalUse": "Tests reframing a contested governance proposal into a scoped initiative while tracking a prior vote.", "notes": "Closer was benjamingr. The 2025 cross-reference to a later primordials PR is dropped as unrelated to this decision.", "caseId": "nodejs-remove-primordials", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "node-incomingmessage-destroy", "sources": [{"url": "https://github.com/nodejs/node/pull/33035", "kind": "pr", "retrievedAt": "2026-10-18T07:26:02.258094+00:00"}], "repo": "nodejs/node", "domain": "compatibility", "title": "Standard destroy and autoDestroy for IncomingMessage", "question": "Should IncomingMessage move to the standard stream destroy with autoDestroy, how should legacy error and abort semantics be preserved, and which release lines may carry it?", "questionExplicit": true, "context": "IncomingMessage overrode destroy and the HTTP client and server managed its close and destroyed state by hand. Aligning it with streams changed when errors and close events fire.", "options": [{"label": "Reuse the standard stream destroy, moving abort logic into _destroy", "proposedBy": "ronag", "fate": "chosen"}, {"label": "Custom destroy written directly in IncomingMessage", "proposedBy": "dnlup", "fate": "rejected"}, {"label": "Add an abort method to IncomingMessage", "proposedBy": "dnlup", "fate": "rejected"}, {"label": "Change tests to accept the breaking error behaviour", "proposedBy": "dnlup", "fate": "rejected"}, {"label": "Suppress errors whenever no error listener exists", "proposedBy": "dnlup", "fate": "rejected"}, {"label": "Suppress only abort errors without listeners", "proposedBy": "wa-Nadoo", "fate": "chosen"}, {"label": "Land as semver-minor on v15", "proposedBy": "mcollina", "fate": "rejected"}, {"label": "Revert on v15 and ship as semver-major in v16", "proposedBy": "ronag", "fate": "chosen"}], "criteria": ["no hybrid manual state management", "never swallow real errors", "backward compatibility of events", "correctness of close semantics", "release-line risk"], "participants": {"count": 10, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "tsc", "subQuestions": ["Is the timing change semver-major or minor?", "Should destroy always default to an aborted error?", "How should client aborts be detected afterwards?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 247, "comments": 99, "reactionsTotal": 24, "decidedOffPlatform": false, "notableMoves": ["semver label flipped from major to minor at approval, then back to major after breakage", "landed in v15.5.0 then reverted on v15 after a framework author reported broken request handling", "an outside reviewer caught over-broad error suppression after approvals", "defaulting destroy to an aborted error deferred to a future major", "a user reopened the abort-detection question years later"]}, "outcome": {"decided": true, "decision": "IncomingMessage uses autoDestroy with a standard _destroy that emits aborted and suppresses only abort errors without listeners; after it broke hapi in v15.5.0 it was reverted on v15 and kept for v16 as a semver-major notable change.", "how": "maintainer-decision", "rationale": "Aligning with stream semantics removes hybrid state handling and is more correct, but emitting request close before the response ends breaks existing expectations, so it belongs in a major release.", "dissent": "A framework author argued the close timing contradicted documented behaviour; a maintainer replied the docs were already wrong.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/nodejs/node/pull/33035", "https://github.com/nodejs/node/pull/36647"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "An implementation choice settled in review, followed by a release-line choice revisited after shipping.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["reversal after shipping: the change landed in a minor release and was reverted on that line after downstream breakage, while staying on main", "labels as decision state: semver classification was decided and reversed purely through label churn", "decider outside the thread: the maintainer asked the HTTP team and TSC by handle, and approval arrived as a terse LGTM", "downstream evidence: the decisive evidence was a framework breaking in production, linked from outside repos"]}, "evalUse": "Tests tracking a decision through approval, release, breakage and partial revert, including semver label flips.", "notes": "The PR was landed via commit queue so GitHub shows it closed not merged. durationDays runs to the v15 revert call on 2020-12-27. ronag led review; mcollina and targos acted on release lines.", "caseId": "node-incomingmessage-autodestroy", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "node-rm-eperm-workaround", "sources": [{"url": "https://github.com/nodejs/node/pull/38810", "kind": "pr", "retrievedAt": "2026-10-18T07:25:53.244474+00:00"}], "repo": "nodejs/node", "domain": "compatibility", "title": "Keep or remove the Windows EPERM chmod workaround in fs.rm", "question": "Should Node's recursive remove stop changing permissions and retrying on Windows EPERM so it matches POSIX rm, or keep the long-standing workaround?", "questionExplicit": false, "context": "Node's recursive rm is derived from rimraf, which on Windows chmods read-only entries and retries. The docs describe it as modelled on POSIX rm, and the PR aimed to match that, but its own CI began leaving undeletable files.", "options": [{"label": "Remove the workaround to match rm -rf", "proposedBy": "opener (RaisinTen)", "fate": "rejected"}, {"label": "Keep the workaround and update docs", "proposedBy": "rimraf author (isaacs); tooling (boneskull)", "fate": "chosen"}, {"label": "Move chmod-retry into rmdir or libuv", "proposedBy": "opener", "fate": "deferred"}, {"label": "Add a test deleting a .git directory", "proposedBy": "tooling member (bcoe)", "fate": "chosen"}, {"label": "Ship as semver-minor or patch", "proposedBy": "opener", "fate": "rejected"}], "criteria": ["POSIX consistency", "user breakage on Windows", "test-suite ergonomics", "semver classification", "correct layer (Node vs libuv)"], "participants": {"count": 10, "roles": ["collaborators", "tooling team", "original library author"], "decider": "consensus"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["What semver level?", "Is the current behaviour incorrect or just undocumented?", "Should handling live in libuv?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 297, "comments": 99, "reactionsTotal": 16, "decidedOffPlatform": false, "notableMoves": ["the PR's own CI breakage served as evidence against it", "a maintainer blocked pending tooling-team review", "the original rimraf author was summoned for history", "the opener withdrew after nine months idle"]}, "outcome": {"decided": true, "decision": "Keep the Windows EPERM workaround; the PR was closed unmerged and a follow-up added tests for deleting .git directories.", "how": "abandoned", "rationale": "Windows and POSIX semantics differ, the workaround makes Windows behave like rm -rf in practice, and removing it would break users such as those deleting .git folders.", "dissent": "The opener held that the logic belongs in rmdir or libuv and that docs promise POSIX behaviour.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/nodejs/node/pull/42410"]}, "chopinFit": {"shape": "check", "shapeWhy": "Hinges on verifying the claim that the behaviour is incorrect and that removal is safe for users.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "research-or-spike", "settle", "build-pr"], "gaps": ["a decider who isn't in the thread: approval was gated on a tooling team that took weeks to respond", "historical rationale lookup: the deciding evidence was an eight-year-old comment in another repository", "experiments as evidence: CI breakage caused by the PR itself became the main argument against it", "decision by withdrawal: the outcome was recorded only as the author closing the PR months later"]}, "evalUse": "Tests a PR where review turned a cleanup into a keep-the-status-quo decision with a test follow-up.", "notes": "Bot CI-link comments are summarised briefly; label churn and an unrelated 2026 cross-reference are dropped.", "caseId": "node-rm-windows-eperm", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "outline-document-tags", "sources": [{"url": "https://github.com/outline/outline/discussions/2256", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:28.529082+00:00"}], "repo": "outline/outline", "domain": "product-behaviour", "title": "Tags for documents in Outline", "question": "Should Outline add document tags, or keep relying on collections, hierarchy and improved search?", "questionExplicit": false, "context": "Outline organises documents in collections and nested hierarchy. Users ask for tags to filter across collections; the maintainer prefers to reduce organising work and invest in search.", "options": [{"label": "Improve search instead of adding tags", "proposedBy": "tommoor", "fate": "chosen"}, {"label": "Free-form document tags with filtering", "proposedBy": "iamaravindh", "fate": "deferred"}, {"label": "Controlled tag vocabulary or integration", "proposedBy": "danfoxley", "fate": "deferred"}, {"label": "Smart collections driven by tags", "proposedBy": "juliocoelho", "fate": "deferred"}, {"label": "Inline hashtags linking to tag pages", "proposedBy": "baditaflorin", "fate": "deferred"}, {"label": "Mirrored documents across collections", "proposedBy": "NeptunedGmbH", "fate": "deferred"}], "criteria": ["low organising effort for users", "finding documents across collections", "filtering versus keyword search", "API-driven retrieval", "parity with other knowledge tools"], "participants": {"count": 27, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Are tags for search or for filtering?", "Should tags come from a fixed vocabulary?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 0, "comments": 29, "reactionsTotal": 209, "decidedOffPlatform": false, "notableMoves": ["maintainer declined early and asked for examples", "users supplied use cases over four years but the maintainer never replied again", "thread became mostly +1s", "community pull requests for tags reported as unanswered"]}, "outcome": {"decided": true, "decision": "Not now: the team holds off on tags and prefers to improve search; the discussion stays open with no later maintainer response.", "how": "maintainer-decision", "rationale": "Requiring less organisation keeps the product easier to use, and the existing hierarchy already asks a lot of people.", "dissent": "Many users argue tags serve filtering and cross-collection grouping that search cannot, and some say they chose other tools because of the gap.", "confidence": "implied", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "The open question is what problem tags solve that search does not, gathered as use cases rather than a fixed option table.", "secondaryShape": "choice", "fitsFlows": ["find", "ask-teammate", "settle", "revisit-reopen"], "gaps": ["votes as evidence: dozens of +1 replies and 97 reactions on the opening are the main pressure to revisit, with no way to weigh them", "decider not in thread: the maintainer answered once in 2021 and never returned while demand accumulated for five years", "duplicates merged: the request is split across an older issue, a newer discussion and two unanswered pull requests", "staged acceptance: a 'not at this time' deferral has no trigger or review date for reopening"]}, "evalUse": "Tests whether a long-running deferred request with mounting user evidence is recognised as settled-for-now rather than open.", "notes": "Decider is tommoor (maintainer). Outline has a tags issue (#765) and a newer discussion (#11603) not fetched.", "caseId": "outline-document-tags", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "outline-raw-markdown-mode", "sources": [{"url": "https://github.com/outline/outline/discussions/3326", "kind": "discussion", "retrievedAt": "2026-10-18T07:11:50.222678+00:00"}], "repo": "outline/outline", "domain": "product-behaviour", "title": "Raw Markdown editing mode", "question": "Should Outline offer a raw Markdown source view or editing mode alongside its rich collaborative editor?", "questionExplicit": true, "context": "Outline stores and exports Markdown but edits only through a rich ProseMirror editor with collaboration, comments and embeds. Users want source access for precision edits, pasting, debugging and front matter.", "options": [{"label": "Rich editor only, fix specific editing pain points", "proposedBy": "tommoor", "fate": "chosen"}, {"label": "Full raw Markdown editor or split view", "proposedBy": "wohenbushuang", "fate": "rejected"}, {"label": "Optional hidden or non-collaborative source view", "proposedBy": "users", "fate": "deferred"}, {"label": "Restore a full formatting toolbar", "proposedBy": "wohenbushuang", "fate": "deferred"}], "criteria": ["Markdown's ability to represent rich features", "collaboration compatibility", "power-user precision", "reliable pasting", "keeping the default UX simple"], "participants": {"count": 11, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Could a lossy or non-collaborative raw mode be acceptable?", "Why are H5/H6 hidden?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 0, "comments": 27, "reactionsTotal": 130, "decidedOffPlatform": false, "notableMoves": ["maintainer declined on day one but later said he was open to ideas", "requesters narrowed the ask to an optional read-only or hidden mode", "side debugging thread about paste behaviour"]}, "outcome": {"decided": true, "decision": "The maintainer declined to build a raw Markdown editor; the discussion stays open with no change.", "how": "maintainer-decision", "rationale": "Markdown cannot express the editor's collaborative and rich features, so both modes cannot be supported faithfully.", "dissent": "Many users keep asking for at least an optional or non-collaborative source view.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Full raw editor, optional limited view, or status quo, weighed on fidelity and collaboration.", "secondaryShape": "check", "fitsFlows": ["find", "ask-teammate", "settle", "revisit-reopen"], "gaps": ["soft decision: a refusal paired with 'open to ideas' leaves the status between settled and open", "contested settled decision: users keep re-arguing years after the answer with no reopen signal", "check needs a spike: whether a lossy source view is feasible could be tested but nobody did"]}, "evalUse": "Tests summarising an early maintainer refusal and how requesters reshaped the ask into a smaller compromise.", "notes": "Decider: tommoor. The discussion remains open.", "caseId": "outline-raw-markdown-mode", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "outline-database-views", "sources": [{"url": "https://github.com/outline/outline/discussions/3440", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:31.420671+00:00"}], "repo": "outline/outline", "domain": "product-behaviour", "title": "Database, board and table views in Outline", "question": "Should Outline add structured data sources with board and table views, and if so natively, through integrations, or as a smaller metadata feature?", "questionExplicit": true, "context": "Many users want Notion-style databases to leave Notion. The lead maintainer wants Outline to stay a focused team wiki, not a task manager.", "options": [{"label": "Native database with Kanban and table views", "proposedBy": "opener", "fate": "rejected"}, {"label": "Integrate external no-code databases or Trello/Airtable", "proposedBy": "users", "fate": "deferred"}, {"label": "Smaller scope: page metadata or tags with a filtered table overview", "proposedBy": "contributor", "fate": "deferred"}, {"label": "Community-built microservice plus one UI component", "proposedBy": "user", "fate": "deferred"}, {"label": "Do not build it; keep Outline focused", "proposedBy": "lead maintainer", "fate": "chosen"}], "criteria": ["product focus and bloat", "Notion migration", "use cases beyond task management", "implementation and maintenance cost"], "participants": {"count": 30, "roles": ["lead maintainer", "contributor", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Would a tag-filtered table without boards be acceptable?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 410, "comments": 42, "reactionsTotal": 344, "decidedOffPlatform": false, "notableMoves": ["Maintainer declined in a two-line reply under a user comment", "Contributor reframed the request away from task management toward page metadata", "Users kept upvoting and later posted prototypes and a draft PR", "Successor discussion opened elsewhere"]}, "outcome": {"decided": true, "decision": "The lead maintainer has no plans to build database or board views; the discussion stays open with no change.", "how": "maintainer-decision", "rationale": "Outline is not trying to cover every use case and should not drift into task management.", "dissent": "Many users and a contributor argue structured views serve note organisation, not only tasks, and the request stays the most upvoted.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Native build, integration, reduced metadata scope or no build, weighed against product focus.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "reshape", "revisit-reopen"], "gaps": ["votes as evidence: hundreds of reactions and repeated +1s were the main signal of demand but had no effect on the decision", "reframing after settle: a contributor recast the request into smaller scoped features after the maintainer's no, with no way to mark the new question as distinct", "unacknowledged decision: the refusal lives in a nested reply and the discussion stays open and unanswered, so later readers keep asking for updates", "duplicates merged: a successor discussion and an external draft PR continue the topic elsewhere without linking the outcome back"]}, "evalUse": "Tests whether an agent spots a buried maintainer refusal inside a long, open, heavily upvoted feature request.", "notes": "Named maintainer: tommoor. durationDays counts to the refusal; the thread runs to 2026 undecided in form. The 2026 draft PR is by an outside user and unreviewed in the thread.", "caseId": "outline-database-board-views", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "penpot-desktop-app-form", "sources": [{"url": "https://github.com/penpot/penpot/discussions/475", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:27.035518+00:00"}], "repo": "penpot/penpot", "domain": "product-behaviour", "title": "Desktop app and offline mode for Penpot", "question": "Should Penpot offer a desktop application, and if so should it be a webview wrapper, a native rewrite, or an offline-capable local app?", "questionExplicit": true, "context": "Penpot is a client-server web app. Users asked for a desktop version for different reasons: shortcut clashes, offline work, performance, simpler install, or credibility, and an old FAQ had promised an Electron bundle.", "options": [{"label": "Webview-based desktop app (Electron or Tauri) with system integration", "proposedBy": "maintainer niwinz and users", "fate": "deferred"}, {"label": "Full native rewrite", "proposedBy": "users", "fate": "rejected"}, {"label": "Full-featured offline mode", "proposedBy": "opener", "fate": "rejected"}, {"label": "Limited offline mode without collaboration, syncing later", "proposedBy": "maintainer niwinz", "fate": "deferred"}, {"label": "PWA with offline cache instead of a desktop app", "proposedBy": "contributor vintprox", "fate": "deferred"}, {"label": "Self-host locally with Docker or Podman", "proposedBy": "maintainer niwinz and users", "fate": "chosen"}, {"label": "Community-built desktop wrapper", "proposedBy": "user LauraWebdev", "fate": "chosen"}], "criteria": ["what users actually need from a desktop app", "cost relative to team size", "backend dependencies for offline", "shortcut conflicts with the browser", "ease of installation", "resource use"], "participants": {"count": 22, "roles": ["maintainers", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Is offline mode a separate feature from a desktop app?", "Which features truly need the backend?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 609, "comments": 50, "reactionsTotal": 210, "decidedOffPlatform": false, "notableMoves": ["Maintainer unbundled desktop from offline and asked for the real motivation", "Users each restated what desktop meant to them", "A public FAQ promise contradicted the thread", "Community project penpot-desktop emerged as the interim answer"]}, "outcome": {"decided": true, "decision": "No native rewrite; a webview-based desktop variant and limited offline mode may come step by step later, but other features take priority, and the community wrapper is welcomed meanwhile.", "how": "maintainer-decision", "rationale": "A native rewrite would equal starting a new project, a wrapper alone brings little, full offline needs backend work moved to the client, and a small team must prioritise components and layout features.", "dissent": "Users continued to argue a downloadable app is essential for adoption and that self-hosting with containers is unreasonable for designers.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "The maintainer's core uncertainty was what users really meant by a desktop app, which needed open-ended discovery before any choice.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "research-or-spike", "settle"], "gaps": ["requirement discovery: the maintainer wanted to learn the motivation behind requests, but there was no structured way to collect and tally user reasons", "coupled decisions: desktop packaging and offline mode were conflated and had to be untangled", "off-platform decision: a public FAQ promised an Electron bundle that the thread never recorded or retracted", "staged acceptance: a webview desktop variant was accepted in principle but left unscheduled", "community fork as resolution: a third-party desktop project became the de facto answer outside the project's records", "votes as evidence: 96 reactions on the opening post did not shift priority"]}, "evalUse": "Tests whether a model can separate the rejected native rewrite from the deferred webview option and identify the discovery question.", "notes": "Deciding maintainer: niwinz. The thread remains open with no later team statement.", "caseId": "penpot-desktop-app", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "pnpm-pre-post-scripts", "sources": [{"url": "https://github.com/pnpm/pnpm/issues/2891", "kind": "issue", "retrievedAt": "2026-10-18T07:27:47.886110+00:00"}], "repo": "pnpm/pnpm", "domain": "compatibility", "title": "Stop running implicit pre/post scripts in pnpm run", "question": "Should `pnpm run` keep npm's behaviour of automatically running pre and post scripts for user-defined scripts?", "questionExplicit": true, "context": "npm runs prefoo and postfoo around any script foo; Yarn 2 dropped this as implicit and surprising. pnpm followed Yarn in v6 as a breaking change, then met sustained pushback from users who treat pnpm as a drop-in npm replacement.", "options": [{"label": "Never run implicit pre/post hooks", "proposedBy": "zkochan", "fate": "rejected"}, {"label": "Off by default with an `enable-pre-post-scripts` opt-in", "proposedBy": "davidenke", "fate": "partly"}, {"label": "Explicit `pre:` / `post:` script namespace", "proposedBy": "jmcdo29", "fate": "deferred"}, {"label": "Use npm-run-all or explicit chaining instead", "proposedBy": "cdaringe", "fate": "rejected"}, {"label": "Run hooks by default, npm-compatible", "proposedBy": "stalniy", "fate": "chosen"}], "criteria": ["explicit, traceable execution flow", "npm drop-in compatibility", "migration cost for existing projects", "script readability", "avoid accidental matches like preserve"], "participants": {"count": 20, "roles": ["maintainers", "users", "contributors"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Are standard lifecycle scripts such as postinstall affected?", "Should an opt-in setting restore hooks?", "Should an explicit `pre:` syntax replace implicit prefixes?", "Should the default flip?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 1235, "comments": 53, "reactionsTotal": 387, "decidedOffPlatform": false, "notableMoves": ["shipped as a breaking change in v6", "opt-in setting added in v6.1 within three weeks after monorepo users objected", "maintainer agreed to `pre:` syntax but it was never built", "downstream projects such as Vite renamed scripts or added `.npmrc` files", "reverted to npm behaviour in v9, then thread locked"]}, "outcome": {"decided": true, "decision": "pnpm stopped running implicit pre/post scripts in v6, added an opt-in in v6.1, and restored the npm behaviour by default in v9.", "how": "maintainer-decision", "rationale": "Initially strictness and explicit execution flow; the revert followed persistent reports of broken migrations and every affected user re-enabling the setting.", "dissent": "Some users preferred explicit chaining or npm-run-all and supported removing implicit hooks.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/pnpm/pnpm/pull/3285", "https://github.com/pnpm/pnpm/pull/3348", "https://github.com/pnpm/pnpm/pull/7634"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A small set of behaviours (remove, opt-in, explicit prefix, keep npm default) weighed against compatibility and explicitness.", "secondaryShape": null, "fitsFlows": ["settle", "revisit-reopen", "build-pr", "ask-teammate"], "gaps": ["reversal after shipping: the removal shipped in v6 and was reverted in v9 three years later, with no record of what evidence tipped it", "staged acceptance: the maintainer accepted a `pre:` prefix in principle but nothing tracked its follow-up", "votes as evidence: heavily upvoted complaints and 'every repo turns it back on' reports were the main signal for the revert", "coupled decisions decided together: the default value, an opt-in flag and a new prefix syntax were argued as one question", "downstream impact: other projects changed their scripts in response, visible only as cross-references"]}, "evalUse": "Tests tracking a shipped decision through a partial mitigation to a full reversal years later.", "notes": "Decider is zkochan (maintainer). Duration runs to the v9 revert announcement. The revert pull request #7634 was not fetched.", "caseId": "pnpm-pre-post-scripts", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "pnpm-pm-strict-default", "sources": [{"url": "https://github.com/pnpm/pnpm/issues/8087", "kind": "issue", "retrievedAt": "2026-10-18T07:27:51.818990+00:00"}], "repo": "pnpm/pnpm", "domain": "compatibility", "title": "Fail on packageManager version mismatch by default?", "question": "Should pnpm 9 refuse to run when its version differs from the exact version in packageManager, and if not, what should it check?", "questionExplicit": true, "context": "pnpm 9 began enforcing packageManager strictly, which broke local work and Vercel builds whenever the installed patch version differed. The field originates in corepack.", "options": [{"label": "Keep strict exact-version enforcement by default", "proposedBy": "maintainer (status quo)", "fate": "rejected"}, {"label": "Default package-manager-strict to false", "proposedBy": "benmccann", "fate": "merged"}, {"label": "Fail only on a different major version, warn otherwise", "proposedBy": "zkochan", "fate": "rejected"}, {"label": "Fail only when the package manager name differs", "proposedBy": "zkochan", "fate": "chosen"}, {"label": "Adopt devEngines with ranges and onFail", "proposedBy": "GeoffreyBooth", "fate": "deferred"}, {"label": "Use engines for version ranges instead", "proposedBy": "benmccann", "fate": "rejected"}], "criteria": ["reproducibility", "friction across many projects", "environments without corepack", "hosting provider behaviour", "ownership of the field by corepack"], "participants": {"count": 15, "roles": ["maintainer", "contributors", "users", "Vercel engineer", "Node.js contributor"], "decider": "named maintainer"}, "process": {"research": "survey", "spike": "none", "poll": true, "escalation": "none", "subQuestions": ["Should a version mismatch warn or stay silent?", "Should pnpm support devEngines?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 20, "comments": 44, "reactionsTotal": 239, "decidedOffPlatform": true, "notableMoves": ["Maintainer ran a social media poll to settle the default", "Poll counts were disputed as broken", "Maintainer flipped position once the final poll result favoured not failing", "Third-party host engineer corrected an assumption about Vercel"]}, "outcome": {"decided": true, "decision": "pnpm stops failing when only the version differs from packageManager and fails only when a different package manager is specified; shipped in 9.2.0.", "how": "maintainer-decision", "rationale": "The final poll showed most respondents preferred not failing, and many environments lack corepack to fetch the exact version.", "dissent": "A prominent user argued exact pinning is like a lockfile and should be respected, though he later accepted a warning-based default.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/pnpm/pnpm/pull/8166"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A small set of enforcement policies was weighed against reproducibility and friction.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "build-pr", "revisit-reopen"], "gaps": ["votes as evidence: the deciding input was an external social media poll whose counts were disputed", "off-platform decision: the poll ran outside the thread and only screenshots came back", "reversal after shipping: a default released in a major version was walked back in a minor release", "decider not in thread: the hosting provider's behaviour, controlled by another company, drove much of the pain"]}, "evalUse": "Tests reconstructing a reversed default where a public poll, not argument, tipped the maintainer.", "notes": "Named maintainer: zkochan.", "caseId": "pnpm-package-manager-strict-default", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "prettier-final-newline", "sources": [{"url": "https://github.com/prettier/prettier/issues/6360", "kind": "issue", "retrievedAt": "2026-10-18T07:29:04.610813+00:00"}], "repo": "prettier/prettier", "domain": "product-behaviour", "title": "Final newline: fixed behaviour, editorconfig, or option", "question": "Should Prettier let users turn off the final newline, for example by honouring editorconfig's `insert_final_newline`?", "questionExplicit": true, "context": "Prettier always ends files with a newline and has a documented policy against new formatting options. Users cite Salesforce, embedded snippets, SES templates and Liquid as cases where the newline causes breakage.", "options": [{"label": "Keep the final newline mandatory", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Respect editorconfig `insert_final_newline`", "proposedBy": "thorn0 / alexander-akait", "fate": "rejected"}, {"label": "Add a default-on option to disable it", "proposedBy": "users", "fate": "rejected"}, {"label": "Embedded/inline formatting mode", "proposedBy": "rebane2001 / brandon-fryslie", "fate": "deferred"}, {"label": "Handle it in language plugins (e.g. Apex)", "proposedBy": "users", "fate": "partly"}], "criteria": ["option philosophy (avoid bikeshedding options)", "clean git diffs and POSIX convention", "compatibility with external platforms", "consistency with existing options"], "participants": {"count": 55, "roles": ["maintainers", "users", "contributor"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Does platform compatibility count as the technical-necessity exception?", "Should embedded snippets be formatted differently?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 5, "comments": 81, "reactionsTotal": 1139, "decidedOffPlatform": false, "notableMoves": ["core team pinged and answered with a one-word no", "closed within five days, then seven years of post-close pressure", "community forks and packages appeared as workarounds", "late reframing from style option to an embedded-code mode"]}, "outcome": {"decided": true, "decision": "Prettier keeps always adding a final newline and does not honour editorconfig's setting for it.", "how": "maintainer-decision", "rationale": "Prettier is opinionated and has no setting for this; the option philosophy rules out new formatting options, and final newlines keep diffs clean.", "dissent": "Many users argue it breaks real tooling (Salesforce, SES, snippet linting) and that it fits the compatibility exception; some forked Prettier or dropped it.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Keep fixed vs editorconfig vs option, judged against a standing policy.", "secondaryShape": "check", "fitsFlows": ["ask-teammate", "settle", "revisit-reopen"], "gaps": ["standing policy as decider: the outcome follows a project-wide option philosophy document rather than this thread's arguments, and the record needs to cite it", "votes as evidence: over a thousand reactions and dozens of +1s after closing never triggered a formal revisit", "reopen pressure without reopen: years of new use cases accumulated on a closed issue with no mechanism to re-triage them", "reframing: a late suggestion to recast the request as an embedded-code mode was a different question that would need its own record"]}, "evalUse": "Tests whether a model can identify a quick maintainer decision grounded in policy and separate it from the long tail of post-close dissent and workarounds.", "notes": "Decided by the core team after a ping; lipis gave the closing answer. Two abusive comments are hidden. Three resolved-hidden comments are summarised because they are on-topic.", "caseId": "prettier-final-newline-option", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "prettier-generator-star-revert", "sources": [{"url": "https://github.com/prettier/prettier/issues/7512", "kind": "issue", "retrievedAt": "2026-10-18T07:35:29.051289+00:00"}], "repo": "prettier/prettier", "domain": "product-behaviour", "title": "Reverting generator star spacing", "question": "Should Prettier keep its newly merged star-before-name spacing for generators and yield, or revert to function* and yield* before the release?", "questionExplicit": true, "context": "A merged change moved the generator star next to the name and operand for consistency with methods. Users and a collaborator objected that it ignored ecosystem convention and had little consensus.", "options": [{"label": "Keep star attached to name and operand", "proposedBy": "brainkim", "fate": "rejected"}, {"label": "Revert to star attached to function and yield", "proposedBy": "bakkot", "fate": "chosen"}, {"label": "Attached to yield, detached in declarations", "proposedBy": "phaux", "fate": "rejected"}, {"label": "Space after the star in methods", "proposedBy": "ljharb", "fate": "deferred"}, {"label": "Spaces on both sides of the star", "proposedBy": "brainkim", "fate": "deferred"}, {"label": "Add parentheses around binary yield operands", "proposedBy": "thorn0", "fate": "deferred"}], "criteria": ["ecosystem convention", "consistency across declarations and methods", "visibility of the star", "semantic grouping", "amount of community input"], "participants": {"count": 7, "roles": ["maintainers", "collaborators", "contributors", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["How much consensus does a formatting change need?", "Method star spacing (spun into a new issue)"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 13, "comments": 69, "reactionsTotal": 51, "decidedOffPlatform": false, "notableMoves": ["a collaborator opens a revert PR mid-debate", "both sides reinterpret upvotes on an older issue as evidence", "maintainer reverses an already merged change before release", "follow-up issue opened to carry the open method-spacing question"]}, "outcome": {"decided": true, "decision": "Revert the change for the upcoming release so declarations and yields keep the star attached to the keyword, with anonymous generators gaining a space after the star; further changes left to a new issue.", "how": "maintainer-decision", "rationale": "The change proved more controversial than expected, and a collaborator strongly objected.", "dissent": "The proposal author still holds the detached star is more consistent and visible.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Concrete spacing variants are compared against convention, consistency and visibility.", "secondaryShape": "tune", "fitsFlows": ["revisit-reopen", "settle", "ask-teammate", "reshape"], "gaps": ["votes as evidence: both sides argued over how to read upvotes on an older issue and whether silence meant consent", "reversal after merging: a settled and merged decision was challenged by outsiders and undone before release", "process meta-decision: the thread mixed a style choice with a dispute over how much consensus such changes need, with no place to record that rule"]}, "evalUse": "Tests whether a model can separate the process complaint from the style debate and identify the revert as the outcome.", "notes": "Decider is thorn0. Revert PR is prettier#7516; whether it merged is not shown in this thread. Follow-up issue is prettier#7590.", "caseId": "prettier-generator-star-revert", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "prettier-nested-ternary-format", "sources": [{"url": "https://github.com/prettier/prettier/issues/9561", "kind": "issue", "retrievedAt": "2026-10-18T07:35:39.700810+00:00"}], "repo": "prettier/prettier", "domain": "product-behaviour", "title": "Formatting of nested ternaries in Prettier", "question": "How should Prettier format nested and chained ternaries, given flat formatting was disliked and full indentation scaled poorly?", "questionExplicit": true, "context": "Prettier had flattened nested ternaries, drawing complaints, and a revert to indentation was pending. A maintainer opened a timeboxed search for a better layout, constrained by Prettier's no-options philosophy.", "options": [{"label": "A: case-style", "proposedBy": "rattrayalex", "fate": "rejected"}, {"label": "B: if-else style with leading punctuation", "proposedBy": "rattrayalex", "fate": "rejected"}, {"label": "B2: if-else style with trailing punctuation", "proposedBy": "roryokane", "fate": "partly"}, {"label": "C: full indentation (revert)", "proposedBy": "sheerun", "fate": "deferred"}, {"label": "D: indent by default, flatten long tail chains", "proposedBy": "Methuselah96", "fate": "deferred"}, {"label": "E: parenthesised branches like JSX", "proposedBy": "SpadeAceman", "fate": "deferred"}, {"label": "Honour the developer's existing line breaks", "proposedBy": "mike-marcacci", "fate": "rejected"}, {"label": "Configurable ternary style option", "proposedBy": "AoDev", "fate": "rejected"}], "criteria": ["scales to long chains", "smooth transition from single to nested", "consistency with JSX and TS conditionals", "minimal churn", "conciseness", "clear logical structure", "stable diffs when cases change", "no new options"], "participants": {"count": 34, "roles": ["maintainers", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "feature-flag", "poll": true, "escalation": "none", "subQuestions": ["Treat TS conditional types separately?", "Apply trailing punctuation to all ternaries or only nested?", "Handle JSX separately?", "Should an option be allowed?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1605, "comments": 88, "reactionsTotal": 417, "decidedOffPlatform": false, "notableMoves": ["reaction poll on A vs B", "options renamed and multiplied (B2, C, D, E, B3)", "maintainer summary narrowed to B2 vs B", "TS and JSX scoped out", "years of silence then an experimental flag announced by blog"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": "Many users reject the flagged format and keep asking for configurable styles or full indentation.", "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Named layout options compared on worked code examples against explicit criteria.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "ask-teammate", "research-or-spike", "revisit-reopen"], "gaps": ["votes as evidence: option comments served as reaction polls, and later users disputed which option was most popular", "experiments as evidence: the outcome so far is an opt-in experimental flag announced on a blog, not a settled answer", "option proliferation: options were added and renamed for years (B2, C, D, E, B3) with no way to merge duplicates", "principle constraint: a standing no-options policy ruled out a popular answer, which needs to sit beside the question as a fixed constraint", "scoping out sub-questions: TS conditional types and JSX were explicitly deferred to separate decisions"]}, "evalUse": "Tests whether an agent reports the question as still open with only an experimental flag, not as settled on B2.", "notes": "The experimental flag is known here only from user comments citing a 2023 blog post and a cross-referenced PR (#13183), so implementedIn is empty and decided is false. The B2 fate is partly because the flagged format resembles it with changes.", "caseId": "prettier-nested-ternaries", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rfcs-abort-default-strategy", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/1759", "kind": "rfc", "retrievedAt": "2026-10-18T07:31:56.948960+00:00"}], "repo": "rust-lang/rfcs", "domain": "compatibility", "title": "Default panic strategy", "question": "Should Rust change its default panic strategy from unwinding to abort, and if any change is acceptable, should it apply only to new projects?", "questionExplicit": true, "context": "Rust had only unwinding at 1.0; `panic=abort` was added later as an opt-in. The RFC argued abort is cheaper and simpler, while many crates and the test harness rely on catching panics.", "options": [{"label": "Switch the compiler default to abort", "proposedBy": "opener", "fate": "rejected"}, {"label": "Have `cargo new` default new projects to abort", "proposedBy": "user (hanna-kruppe)", "fate": "deferred"}, {"label": "Require binaries to declare a panic strategy", "proposedBy": "contributor (Ericson2314)", "fate": "rejected"}, {"label": "Warn for six months, then flip the default", "proposedBy": "user (Valloric)", "fate": "rejected"}, {"label": "Keep unwinding as the default", "proposedBy": "maintainers (sfackler, aturon, brson)", "fate": "chosen"}], "criteria": ["stability promise in practice", "silent runtime breakage", "server reliability", "performance and binary size", "teachability", "manageability via lints or crater"], "participants": {"count": 18, "roles": ["language team", "libraries team", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Is relying on the default strategy legitimate?", "Can crates declare reliance on unwinding?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 4, "comments": 80, "reactionsTotal": 138, "decidedOffPlatform": true, "notableMoves": ["Opener struck through earlier claims mid-thread", "Libraries team discussed it off-thread and reported back", "FCP to close proposed, then the opener withdrew and opened v2 (#1765), and the FCP was cancelled"]}, "outcome": {"decided": true, "decision": "Do not change the default as proposed; the RFC was closed and replaced by a narrower v2.", "how": "abandoned", "rationale": "Silently changing the default would break applications and the test harness that rely on unwinding, with little motivation; real-world stability outweighs the letter of what is specified.", "dissent": "The opener and one contributor held that abort is the better default and that the default is unspecified.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A binary default choice plus several migration paths judged on stability and reliability criteria.", "secondaryShape": "check", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["off-platform decision: the libraries team reached its position in a meeting and only reported the conclusion", "duplicates merged: the RFC was withdrawn and continued as #1765, splitting one question across two threads", "staged acceptance: the new-projects-only default was treated as a separate question and left for the successor RFC", "decider not in thread: FCP sign-off was by team checkboxes in a bot comment rather than recorded reasoning"]}, "evalUse": "Fast formal-process rejection where the question narrows and moves to a successor RFC.", "notes": "FCP disposition close was proposed by nikomatsakis, then cancelled after the opener closed the PR.", "caseId": "rfcs-abort-by-default", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rfcs-crate-changelogs", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/2129", "kind": "rfc", "retrievedAt": "2026-10-18T07:31:26.303846+00:00"}], "repo": "rust-lang/rfcs", "domain": "tooling", "title": "Crate changelog support in Cargo and crates.io", "question": "Should Cargo and crates.io adopt a `changelog` field with a validated minimal format and publish check, or something looser such as a plain link or rendered file?", "questionExplicit": true, "context": "Many crates lack changelogs, making upgrades painful. The RFC sought a standard way to declare, check and display them; reviewers split on how much format Cargo should enforce.", "options": [{"label": "Changelog key plus minimal format rules and publish check", "proposedBy": "newpavlov", "fate": "rejected"}, {"label": "Multi-file changelog generated by tooling", "proposedBy": "newpavlov", "fate": "rejected"}, {"label": "Key as a URL only, like `documentation`", "proposedBy": "jimmycuadra", "fate": "rejected"}, {"label": "Key to a file or URL, rendered like READMEs", "proposedBy": "carols10cents", "fate": "deferred"}, {"label": "Auto-render CHANGELOG.md when present", "proposedBy": "arthurprs", "fate": "rejected"}, {"label": "Key only now, lints derived later from practice", "proposedBy": "tapeinosyne", "fate": "deferred"}, {"label": "Do nothing for now", "proposedBy": "ehuss", "fate": "chosen"}], "criteria": ["machine readability for tooling", "freedom of changelog format", "consistency with README and LICENSE handling", "backward compatibility of later rules", "value over a README link"], "participants": {"count": 36, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Single file or per-release files?", "Should an Unreleased section be allowed?", "Should external URLs be allowed?", "Should non-Markdown formats be supported?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 888, "comments": 75, "reactionsTotal": 190, "decidedOffPlatform": true, "notableMoves": ["multi-file idea split into a separate RFC within a day", "author added URL support but kept format rules", "two years of silence before the team acted", "close decided in a Cargo team meeting, then run through FCP", "a reduced successor RFC filed in 2025"]}, "outcome": {"decided": true, "decision": "The Cargo and crates.io teams closed the RFC via final comment period without adopting any changelog feature.", "how": "fcp", "rationale": "A single machine-readable format seemed too strict, and without it the proposal reduces to a link that adds little beyond the README.", "dissent": "Later commenters felt broad support for encouraging changelogs was lost to format debate, and a reduced RFC followed.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete variants of the feature were compared against strictness, tooling value and consistency with READMEs.", "secondaryShape": null, "fitsFlows": ["find", "ask-teammate", "settle", "reshape", "revisit-reopen"], "gaps": ["off-platform decision: the close was agreed in a Cargo team meeting and only reported in the thread", "staged acceptance: the uncontroversial part (a plain key) was never split out, so rejecting the strict version rejected everything", "votes as evidence: the decision is recorded as rfcbot checkboxes rather than reasons per member", "duplicates merged: the idea is spread across this RFC, a split-off multi-file RFC and a 2025 successor", "reshape: the proposal changed scope several times mid-review without a record of which version reviewers were judging"]}, "evalUse": "Tests reading a formal close where the core idea had support but the specifics sank it.", "notes": "Decided by the Cargo team (proposed by ehuss) through rfcbot FCP. Escalation set to core-team as the closest enum value for a sub-team disposition. reversibility stated-easy because the close note invites a different future solution.", "caseId": "rfcs-crate-changelogs", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rust-bool-option-methods", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/2180", "kind": "rfc", "retrievedAt": "2026-10-18T07:31:43.661364+00:00"}], "repo": "rust-lang/rfcs", "domain": "api-design", "title": "Methods to turn a bool into an Option", "question": "Should std gain a way to turn a condition into Some(value) or None, and in what form and under what names?", "questionExplicit": true, "context": "Writing an if that returns Some or None is common boilerplate. A crate already offered helpers, and the RFC went through several shapes before stalling on naming.", "options": [{"label": "Constructors on Option (on_pred / lazy_pred)", "proposedBy": "Dynisious", "fate": "rejected"}, {"label": "Methods on bool mirroring Option (map, and_then...)", "proposedBy": "petrochenkov", "fate": "merged"}, {"label": "Leave it to the boolinator crate or a macro", "proposedBy": "oli-obk / est31", "fate": "partly"}, {"label": "Convert bool to Option<()> then chain", "proposedBy": "leoyvens", "fate": "rejected"}, {"label": "if without else yields a default/None", "proposedBy": "scottmcm", "fate": "rejected"}, {"label": "Generalise over Try", "proposedBy": "Centril", "fate": "rejected"}, {"label": "Names: then / then_do", "proposedBy": "fstirlitz", "fate": "deferred"}, {"label": "Postpone the RFC", "proposedBy": "alexcrichton", "fate": "chosen"}], "criteria": ["consistency with std naming conventions", "type inference", "laziness for expensive values", "clarity to newcomers", "how often it is needed", "team bandwidth"], "participants": {"count": 21, "roles": ["libs team", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "core-team", "subQuestions": ["Option constructors or bool methods?", "What names for eager and lazy variants?", "Should it generalise over Try?"], "deferred": true, "reopened": false, "superseded": true, "durationDays": 332, "comments": 86, "reactionsTotal": 122, "decidedOffPlatform": false, "notableMoves": ["proposal rewritten from Option constructors to bool methods", "author published a crate to trial names", "nominated to libs team then FCP to postpone", "successor RFC opened a year later"]}, "outcome": {"decided": true, "decision": "Postponed via FCP; the RFC was closed until someone drives the naming to completion.", "how": "fcp", "rationale": "The libs team lacked bandwidth to finish the naming bikeshed, and an external crate allowed experimenting meanwhile.", "dissent": null, "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "mixed", "shapeWhy": "A choice of API shape followed by an open naming exploration that never converged.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "revisit-reopen", "reshape"], "gaps": ["coupled decisions: the API shape and the method names were debated together, and only the first converged", "staged acceptance: there was broad agreement in principle yet a formal postponement because names were unresolved", "superseded by successor: the question was carried forward in a new RFC rather than reopened here", "decider not in thread: libs team sign-off came via rfcbot checkboxes from members who mostly did not comment"]}, "evalUse": "Tests distinguishing agreement in principle from formal postponement, and tracking a proposal that changed shape.", "notes": "Postponement proposed by alexcrichton; FCP signed by the libs team. Outcome of the follow-up RFC #2757 is outside this thread.", "caseId": "rfcs-bool-to-option-methods", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rust-check-cfg-rfc", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/3013", "kind": "rfc", "retrievedAt": "2026-10-18T07:32:11.108967+00:00"}], "repo": "rust-lang/rfcs", "domain": "tooling", "title": "Compile-time checking of cfg conditions", "question": "Should rustc and Cargo validate #[cfg] condition names and values, and how should expected conditions be declared?", "questionExplicit": true, "context": "Misspelled cfg names or feature values silently disable code. Build scripts and command lines can set arbitrary cfgs, so any check risks false warnings.", "options": [{"label": "New valid() and valid_values() forms inside --cfg", "proposedBy": "sivadeilra", "fate": "rejected"}, {"label": "Separate --check-cfg option with names() and values()", "proposedBy": "sivadeilra", "fate": "chosen"}, {"label": "Flat flags listing names and values", "proposedBy": "Julian-Wollersberger", "fate": "rejected"}, {"label": "Crate attribute declaring expected names", "proposedBy": "jyn514", "fate": "rejected"}, {"label": "Warn-by-default lint with Cargo always passing data", "proposedBy": "jyn514", "fate": "partly"}, {"label": "Staged rollout starting with Cargo feature values only", "proposedBy": "sivadeilra", "fate": "chosen"}], "criteria": ["catch typos", "no false warnings from build scripts", "command-line consistency", "room for richer rules", "implementation complexity", "discoverability"], "participants": {"count": 18, "roles": ["team members", "contributors", "users", "bots"], "decider": "team"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Which team owns the RFC?", "Command-line syntax shape", "Warn-by-default or opt-in?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 111, "comments": 75, "reactionsTotal": 68, "decidedOffPlatform": false, "notableMoves": ["syntax moved from --cfg forms to a dedicated --check-cfg option during review", "lang team hands the RFC to compiler and Cargo teams in a triage meeting", "author stalls for weeks waiting for a team to pick it up", "implementation later diverges drastically from the accepted text"]}, "outcome": {"decided": true, "decision": "Accept the RFC: rustc gains a --check-cfg option to declare expected cfg names and values and report unexpected ones as lints, with Cargo adopting it in stages starting from feature values.", "how": "fcp", "rationale": "It catches silent cfg typos with no semantic change, and the revised design adds value without forcing build scripts to enumerate every cfg.", "dissent": "A compiler team member still preferred flat flags; the author kept the structured option.", "confidence": "stated", "reversibility": "unknown", "implementedIn": ["https://github.com/rust-lang/rust/pull/93915", "https://github.com/rust-lang/cargo/pull/10486"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several syntax and rollout designs are compared against false-positive and consistency criteria.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "settle", "build-pr", "reshape"], "gaps": ["post-acceptance drift: the shipped feature changed drastically from the accepted text, with no record linking the new design back to this decision", "decider routing: the RFC sat for weeks while teams decided who owned it, and that routing happened in a meeting", "staged acceptance: the RFC accepted the mechanism while Cargo defaults were left for a multi-year rollout"]}, "evalUse": "Tests whether a model tracks how review reshaped an RFC's design before FCP, and distinguishes acceptance from later shipping.", "notes": "Merge state of the implementation PRs is not shown here; the first attempt (89346) was superseded by 93915. FCP by compiler and Cargo team members.", "caseId": "rust-check-cfg-rfc", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "cargo-feature-doc-field", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/3485", "kind": "rfc", "retrievedAt": "2026-10-18T07:31:37.127676+00:00"}], "repo": "rust-lang/rfcs", "domain": "api-design", "title": "Cargo feature descriptions in Cargo.toml", "question": "Should Cargo.toml features carry a documentation string, and with what key name, format and exposure to tools such as cargo metadata and rustdoc?", "questionExplicit": true, "context": "Feature flags had no place for descriptions in the manifest. This RFC was split from a broader feature-metadata RFC and depended on it; rustdoc, docs.rs and crates.io had stakes in how the data would be consumed.", "options": [{"label": "Key named doc", "proposedBy": "tgross35", "fate": "deferred"}, {"label": "Key named description or documentation", "proposedBy": "epage", "fate": "deferred"}, {"label": "Markdown with first paragraph as summary", "proposedBy": "kornelski", "fate": "chosen"}, {"label": "Mirror new feature tables directly in cargo metadata", "proposedBy": "tgross35", "fate": "deferred"}, {"label": "Parallel features_metadata or features2 table in metadata", "proposedBy": "tgross35", "fate": "deferred"}, {"label": "Block the RFC until metadata integration is designed", "proposedBy": "epage", "fate": "rejected"}], "criteria": ["consistency with existing naming", "friction to write docs", "plain-text readability", "compatibility of cargo metadata consumers", "registry normalisation for old cargo", "cross-team ownership"], "participants": {"count": 14, "roles": ["cargo team", "rustdoc and docs.rs maintainers", "crates.io maintainer", "contributors"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Key name?", "Text format and summary rule?", "Intra-doc link support?", "cargo metadata schema?", "Which teams must sign off?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1093, "comments": 73, "reactionsTotal": 128, "decidedOffPlatform": true, "notableMoves": ["blocked on a parent RFC", "rfcbot concerns filed for naming, consultation and metadata", "a RustConf unconference revived it after a year", "team labels added and removed in an ownership dispute", "concerns resolved by moving them to unresolved questions after a team meeting"]}, "outcome": {"decided": true, "decision": "Accept a Markdown documentation field on Cargo features whose first paragraph is a summary, leaving the key name and cargo metadata representation as unresolved questions for implementation.", "how": "fcp", "rationale": "The team judged naming and metadata need no community-wide input and are best settled during implementation and stabilisation.", "dissent": "The crates.io team objected to being left out of manifest decisions it must support.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/rust-lang/cargo/pull/17447"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "A yes/no acceptance carrying open choice sub-questions on naming and metadata schema.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["staged acceptance: the RFC passed with key name and metadata schema moved to unresolved questions", "coupled decisions: depended on a parent RFC and a later metadata RFC, so the answer spans three documents", "off-platform decision: blocking concerns were cleared in a Cargo team meeting and an unconference, only reported here", "formal sign-off mechanics: rfcbot checkboxes and concerns act as the settle step, which Chopin's single settler does not model", "decision ownership dispute: which teams must approve was itself contested via labels"]}, "evalUse": "Tests whether an agent reports that naming was left unresolved despite the RFC text using doc, and that metadata was deferred.", "notes": "The cargo PR 17447 is listed as closed in the cross-reference, so its merge status is not confirmed here. Key-name fates are deferred because the naming concern moved to unresolved questions. A rustdoc PR for feature documentation (rust-lang/rust#162344) was still open and unmerged at retrieval, so it is not listed as an implementation.", "caseId": "rust-cargo-feature-docs", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rfcs-derive-from-direction", "sources": [{"url": "https://github.com/rust-lang/rfcs/pull/3809", "kind": "rfc", "retrievedAt": "2026-10-18T07:32:02.801726+00:00"}], "repo": "rust-lang/rfcs", "domain": "language-design", "title": "Accept derive(From) for single-field structs", "question": "Should derive(From) be allowed on single-field structs to generate a From impl from the field type, and must the reverse direction be designed at the same time?", "questionExplicit": true, "context": "Standard derives exist for composable traits but not for From. The RFC proposes the inner-to-outer direction only, with the newtype pattern as the main motivation.", "options": [{"label": "derive(From) generating From for the struct", "proposedBy": "Kobzol", "fate": "chosen"}, {"label": "Leave it to third-party crates", "proposedBy": "nielsle", "fate": "rejected"}, {"label": "Design both directions together, with derive(Into) for the reverse", "proposedBy": "tmandry", "fate": "deferred"}, {"label": "Different name such as FromInner or FromSelf", "proposedBy": "scottmcm", "fate": "deferred"}, {"label": "General attribute for deriving impls on another type", "proposedBy": "tmccombs", "fate": "rejected"}, {"label": "Skip defaulted fields with a #[from] marker", "proposedBy": "kennytm", "fate": "deferred"}], "criteria": ["correctness for newtypes that enforce invariants", "explicitness of conversions", "forward compatibility with a reverse derive", "naming clarity", "boilerplate reduction", "which team has jurisdiction"], "participants": {"count": 18, "roles": ["lang team", "libs-api team", "maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "data-analysis", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Is this lang or libs-api territory?", "Should the From direction be an unresolved question?", "What should the reverse derive be called?"], "deferred": false, "reopened": true, "superseded": false, "durationDays": 90, "comments": 79, "reactionsTotal": 251, "decidedOffPlatform": false, "notableMoves": ["FCP cancelled and restarted to add libs-api", "author removed the test-helper motivation after review", "late concern registered after FCP completed", "direction question moved from unresolved to rationale", "rfcbot stuck and labels fixed by hand"]}, "outcome": {"decided": true, "decision": "Both teams accepted the RFC: derive(From) generates From for single-field structs, with a reverse-direction derive left as future work.", "how": "fcp", "rationale": "The behaviour is the most obvious meaning of the derive, reduces boilerplate, and should be forward-compatible with a later reverse derive.", "dissent": "Several members doubted how often this direction is correct for newtypes and want the reverse derive and its naming settled before stabilisation.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/rust-lang/rust/pull/144922"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A scoped proposal weighed against alternatives on correctness, naming and forward compatibility.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "revisit-reopen", "build-pr", "reshape"], "gaps": ["staged acceptance: accepted with the reverse-direction derive and naming explicitly left for before stabilisation", "coupled decisions: tmandry saw both directions as one vision but accepted deciding them separately", "multi-team sign-off: two teams' checkbox votes and abstentions form the decision, not one settler", "late reopen after settling: a concern arrived after the FCP had completed and the bot state had to be repaired by hand", "jurisdiction question: which team should decide was itself debated"]}, "evalUse": "Tests a formal team vote where acceptance carries explicit conditions for a later stage.", "notes": "Decider is the lang and libs-api teams via rfcbot FCP. Escalation set to core-team to reflect a second team being added.", "caseId": "rfcs-derive-from-single-field", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "rust-analyzer-attr-macro-input-fixup", "sources": [{"url": "https://github.com/rust-lang/rust-analyzer/issues/11014", "kind": "issue", "retrievedAt": "2026-10-18T07:28:31.402863+00:00"}], "repo": "rust-lang/rust-analyzer", "domain": "architecture", "title": "Recovering IDE features inside attribute proc-macros", "question": "When the user's in-progress edits make an attribute macro's input invalid, what should the IDE do so completion and highlighting keep working?", "questionExplicit": true, "context": "Attribute and derive macros given broken syntax bail out with a compile error that replaces the whole item, so IDE features flicker or vanish while typing. dtolnay argued macros should only ever see valid syntax, and IntelliJ Rust faced the same problem.", "options": [{"label": "Ask macro authors to emit best-effort output on errors", "proposedBy": "Veykril", "fate": "partly"}, {"label": "Keep the original item when the expansion is only a compile error", "proposedBy": "danielhenrymantilla", "fate": "rejected"}, {"label": "Repair or snip invalid input syntax before expanding", "proposedBy": "Veykril", "fate": "chosen"}, {"label": "Let macros opt in to receiving invalid syntax", "proposedBy": "flodiebold", "fate": "deferred"}, {"label": "Promote syn-mid so bodies pass through unparsed", "proposedBy": "hkalbasi", "fate": "rejected"}, {"label": "Use original tokens for completion only", "proposedBy": "vlad20012", "fate": "rejected"}, {"label": "Macro-supplied input grammar", "proposedBy": "samsieber", "fate": "rejected"}, {"label": "Do nothing", "proposedBy": "Veykril", "fate": "rejected"}], "criteria": ["completion quality while typing", "no spurious or flickering diagnostics", "respect the macro input contract", "avoid ecosystem churn or implicit interfaces", "consistency across Rust IDEs", "implementation difficulty"], "participants": {"count": 15, "roles": ["maintainers", "contributors", "users", "other IDE maintainers"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Is there really a contract that attribute macros receive valid syntax?", "Should macros be able to detect IDE expansion to skip side effects?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 189, "comments": 33, "reactionsTotal": 21, "decidedOffPlatform": false, "notableMoves": ["opener later wrote up the conclusion in an external blog post", "user-facing ignore setting shipped as a stopgap mid-thread", "repeated user push for input pass-through rebutted by a maintainer", "closed once the fixup was judged to work well in practice", "IntelliJ Rust adopted the same fixup approach", "residual failure two years later redirected to a new issue"]}, "outcome": {"decided": true, "decision": "Repair syntax errors in attribute macro input before expanding, while still asking macro authors to recover from syntactically valid but unexpected input.", "how": "maintainer-decision", "rationale": "Passing the original input through gives semantically wrong code and noisy diagnostics; fixup works correctly most of the time without needing ecosystem changes.", "dissent": "Several users preferred falling back to the original input, and a user later reported that tokio::main still breaks on unbalanced braces.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/rust-lang/rust-analyzer/pull/11444"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Four named approaches were weighed against completion quality, diagnostic noise and the macro contract.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "settle", "build-pr", "revisit-reopen"], "gaps": ["cross-project decision: the choice was meant to be aligned with IntelliJ Rust, a separate project whose matching PR lives elsewhere", "off-platform decision: the opener's final reasoning sits in an external blog post edited into the opening", "stopgap alongside the real fix: an ignore-macro setting shipped mid-thread as an interim answer to the same question", "validated by use: the question was closed because the shipped fixup worked well in practice, not by an explicit settle"]}, "evalUse": "Tests tracking a long architecture debate where users keep re-proposing a rejected option and the outcome is settled by a shipped PR.", "notes": "PR #11444 shows as closed in the cross-reference; rust-analyzer merges via bors, and a maintainer later confirms the fixup landed. Decider is the maintainer team (flodiebold built it, Veykril closed).", "caseId": "rust-analyzer-proc-macro-syntax-fixup", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "ra-upstream-inlay-hints", "sources": [{"url": "https://github.com/rust-lang/rust-analyzer/issues/2797", "kind": "issue", "retrievedAt": "2026-10-18T07:28:34.549592+00:00"}], "repo": "rust-lang/rust-analyzer", "domain": "api-design", "title": "Upstream inlay hints", "question": "Should rust-analyzer drive its custom inlay hints into a standard LSP/VS Code API, and should it wait for VS Code or propose the protocol first?", "questionExplicit": true, "context": "rust-analyzer rendered inlay hints through custom messages and editor decorations, with caret and wrapping problems. VS Code later drafted a proposed hints API that rust-analyzer reviewed and prototyped against.", "options": [{"label": "Wait for VS Code to provide an API first", "proposedBy": "opener", "fate": "rejected"}, {"label": "Draft a proposed LSP protocol ahead of VS Code", "proposedBy": "lead maintainer (matklad)", "fate": "partly"}, {"label": "Adopt VS Code's proposed API, giving feedback until it stabilises", "proposedBy": "VS Code maintainer / maintainer (SomeoneToIgnore)", "fate": "chosen"}, {"label": "Show type hints above the line instead of inline", "proposedBy": "user", "fate": "rejected"}], "criteria": ["portability across editors", "caret and selection behaviour", "word-wrap compatibility", "styling control", "editor-agnostic API design"], "participants": {"count": 11, "roles": ["maintainers", "VS Code maintainer", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Meaning of the hint range", "Whitespace margins versus server-side padding", "Caret behaviour around hints", "Colon prefix on type hints after migration"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 786, "comments": 29, "reactionsTotal": 31, "decidedOffPlatform": true, "notableMoves": ["Review of a VS Code API proposal moved into this issue", "A video call with the VS Code team replaced part of the discussion", "Prototype branch kept rebased while upstream stalled", "Colon style restored a day after merge"]}, "outcome": {"decided": true, "decision": "Once VS Code stabilised its inlay hints API, rust-analyzer switched to the upstream hints and dropped its custom rendering, later restoring colon prefixes on type hints.", "how": "consensus", "rationale": "A shared editor API fixes caret and wrapping issues that decoration-based hints could not, and serves other language servers too.", "dissent": null, "confidence": "implied", "reversibility": "implied", "implementedIn": ["https://github.com/rust-lang/rust-analyzer/pull/11445", "https://github.com/rust-lang/rust-analyzer/pull/11658"]}, "chopinFit": {"shape": "explore", "shapeWhy": "Mostly an open review of an external API proposal, with timing and design sub-points rather than a single option table.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["a decider who isn't in the thread: the deciding party is the VS Code team, whose API timing gated the outcome", "decisions taken off-platform: API feedback was given in a video call and on Zulip", "coupled decisions decided together: protocol shape questions (range, margins, styling, caret) were bundled under one adoption question", "waiting on an external dependency: the question sat parked for a year until an upstream release, with no way to mark it blocked on another project"]}, "evalUse": "Long cross-project engineering decision gated on an upstream API, with a prototype and an off-platform meeting.", "notes": "The colon-style tweak is a sub-question, not a separate record.", "caseId": "rust-analyzer-upstream-inlay-hints", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "bat-builtin-pager-approach", "sources": [{"url": "https://github.com/sharkdp/bat/issues/1053", "kind": "issue", "retrievedAt": "2026-10-18T07:34:57.040476+00:00"}], "repo": "sharkdp/bat", "domain": "architecture", "title": "Builtin pager: own library, existing crate, or external less", "question": "Should bat replace the external `less` pager with a builtin one, and if so should it write its own pager library or adopt an existing crate, and ship it opt-in?", "questionExplicit": true, "context": "Many bat bugs come from differences between `less` versions and platforms, and resize handling is poor. A builtin pager could fix these but means large effort and new platform bugs.", "options": [{"label": "Write bat's own pager library", "proposedBy": "owner (sharkdp)", "fate": "deferred"}, {"label": "Adopt the existing `minus` crate", "proposedBy": "contributor (magistau)", "fate": "chosen"}, {"label": "Adopt a streampager fork", "proposedBy": "contributor (academician)", "fate": "deferred"}, {"label": "Separate standalone pager program", "proposedBy": "user (metov)", "fate": "rejected"}, {"label": "Ship as opt-in `--pager` value rather than default", "proposedBy": "owner; collaborator (eth-p)", "fate": "chosen"}], "criteria": ["cross-platform consistency", "terminal resize handling", "effort and bug-report load", "maturity of less", "upstream maintenance health", "large-file performance"], "participants": {"count": 18, "roles": ["owner", "collaborators", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Add Home/End upstream in minus or locally in bat", "Quit-if-one-screen in dynamic paging"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1949, "comments": 31, "reactionsTotal": 174, "decidedOffPlatform": true, "notableMoves": ["Owner's prototype published as riffle after users asked", "Builtin pager landed via minus in a separate PR (#3402) without discussion here", "Upstream inactivity pushed fixes into bat (#3651)"]}, "outcome": {"decided": true, "decision": "Offer an opt-in builtin pager (`--pager=builtin`) built on the minus crate, keeping `less` as the default; the custom library idea was not pursued.", "how": "maintainer-decision", "rationale": "Opt-in avoids surprising users and spreads bug reports; using an existing crate avoids writing a pager from scratch.", "dissent": "Users report the minus-based pager struggles with large files and that minus is unmaintained.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": ["https://github.com/sharkdp/bat/pull/3402", "https://github.com/sharkdp/bat/pull/3651"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Build-vs-adopt among concrete libraries, judged on maintenance, features and performance.", "secondaryShape": "explore", "fitsFlows": ["research-or-spike", "ask-teammate", "build-pr", "revisit-reopen"], "gaps": ["off-platform decision: the choice of minus was made in PR #3402 and only noticed here afterwards", "staged acceptance: the pager shipped opt-in with known gaps while the issue stays open as the umbrella", "reversal after shipping: post-ship evidence (unmaintained upstream, large-file failures) reopens the library choice without a formal revisit"]}, "evalUse": "Build-vs-adopt decision taken in a linked PR, with the dependency's health becoming evidence after shipping.", "notes": "#3402 was not fetched; the description of the shipped feature comes from comments here. Quota kept as small-team: bat's regular maintainers are about four.", "caseId": "bat-builtin-pager", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "bat-debian-batcat-name", "sources": [{"url": "https://github.com/sharkdp/bat/issues/2455", "kind": "issue", "retrievedAt": "2026-10-18T07:35:01.511207+00:00"}], "repo": "sharkdp/bat", "domain": "naming", "title": "Resolving the bat versus batcat name clash on Debian", "question": "How should the bat binary's name clash with Bacula's bat on Debian be resolved, and what should bat's docs tell users meanwhile?", "questionExplicit": false, "context": "Debian ships bat as batcat because Bacula's console tool owns the bat name. Debian briefly renamed it to bat in 2023 and then reverted, leaving the issue title and later the README describing a change that never stuck.", "options": [{"label": "Ask Bacula upstream to rename its binary", "proposedBy": "jvschiavo", "fate": "chosen"}, {"label": "Debian alternatives system", "proposedBy": "nabajour", "fate": "rejected"}, {"label": "Package-level dpkg diversions", "proposedBy": "ernstki", "fate": "rejected"}, {"label": "Document local workarounds such as aliases or symlinks", "proposedBy": "ernstki", "fate": "partly"}, {"label": "Post-install prompt to create a symlink", "proposedBy": "ernstki", "fate": "rejected"}, {"label": "README says newer releases install bat", "proposedBy": "Tachi107", "fate": "rejected"}], "criteria": ["Debian packaging policy", "unrelated programs cannot share a path", "safe advice for casual users", "accuracy of docs across releases"], "participants": {"count": 9, "roles": ["maintainers", "users", "contributors"], "decider": "consensus"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["What should the README say about the executable name?", "Who contacts Bacula upstream?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 1238, "comments": 30, "reactionsTotal": 33, "decidedOffPlatform": false, "notableMoves": ["Debian rename reverted months after the issue opened, unnoticed in the thread for three years", "issue retitled to say the rename did not happen", "rename request filed on Bacula's GitLab", "several docs PRs from outside contributors repeated the stale claim"]}, "outcome": {"decided": true, "decision": "Participants agree the only real fix is for Bacula to rename its binary upstream; packaging tricks are ruled out and docs should keep describing batcat.", "how": "consensus", "rationale": "Debian forbids alternatives or diversions between unrelated programs, and workarounds already exist for individual users.", "dissent": "A later user shows the README and a pending docs PR still claim newer releases ship bat, which is false on Ubuntu 26.04.", "confidence": "implied", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "check", "shapeWhy": "The pivotal question was a factual claim (does Debian ship bat now?) that turned out False, followed by a choice among fixes.", "secondaryShape": "choice", "fitsFlows": ["research-or-spike", "settle", "revisit-reopen"], "gaps": ["reversal after shipping: Debian reverted the rename within three months, but the thread and README kept the old claim for years", "decider not in thread: the real deciders are Debian and Bacula maintainers, and bat's own maintainers spoke only once", "off-platform decision: the chosen path depends on a rename request filed on Bacula's GitLab, outside the thread", "stale facts: no prompt to re-verify a 'True' check when upstream changes later"]}, "evalUse": "Tests catching a premise that silently flipped after the issue was opened, and separating workarounds from the fix.", "notes": "Quota changed from small-team to eng-issue: bat has more than a handful of regular contributors and its maintainers barely took part. The opener is a Debian developer (Tachi107) whose policy statements effectively decided the packaging options.", "caseId": "bat-debian-batcat-name", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "svelte-raw-snippet-functions", "sources": [{"url": "https://github.com/sveltejs/svelte/pull/12409", "kind": "pr", "retrievedAt": "2026-10-18T07:23:36.509493+00:00"}], "repo": "sveltejs/svelte", "domain": "api-design", "title": "Functions a programmatic snippet must provide", "question": "Should programmatic snippets be defined with separate mount, hydrate and render functions, or with one HTML-producing function plus a setup function that wires effects?", "questionExplicit": true, "context": "Svelte 5 needed a way for integrations such as Astro to create snippets outside templates. The PR author designed it around Svelte's internal mount and hydrate split, and another core maintainer opened a competing PR to compare.", "options": [{"label": "mount, hydrate and render functions", "proposedBy": "trueadm", "fate": "rejected"}, {"label": "render HTML plus update or setup function", "proposedBy": "Rich-Harris", "fate": "chosen"}, {"label": "html, dom and setup functions", "proposedBy": "Rich-Harris", "fate": "rejected"}, {"label": "Class extending RawSnippet", "proposedBy": "trueadm", "fate": "rejected"}, {"label": "Factory taking arguments and returning the functions", "proposedBy": "trueadm", "fate": "merged"}, {"label": "Hydrating flag passed to setup", "proposedBy": "trueadm", "fate": "rejected"}, {"label": "Server output with separate head content", "proposedBy": "dummdidumm", "fate": "deferred"}], "criteria": ["avoid duplicated code paths that breed bugs", "fit for integrating other frameworks", "avoid HTML cloning edge cases", "correct effect dependency tracking", "clear naming"], "participants": {"count": 11, "roles": ["maintainers", "contributors", "external integrators", "users"], "decider": "consensus"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should server output include head content?", "Should every function be optional?", "Does setup need to know whether it is hydrating?", "Should the functions be called render and setup or server and client?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 5, "comments": 78, "reactionsTotal": 25, "decidedOffPlatform": false, "notableMoves": ["competing PR #12425 opened to compare designs side by side", "reviewer demanded a concrete example the alternative could not handle", "approval rescinded until the API was settled", "Astro maintainer validated the original API in a local test", "author conceded and this PR was closed in favour of the alternative"]}, "outcome": {"decided": true, "decision": "Adopt the alternative in #12425: a factory receiving argument thunks and returning a render function for HTML and a setup function for the element, and close this PR.", "how": "consensus", "rationale": "One HTML function plus setup avoids parallel mount and hydrate paths that diverge subtly, and still covers integrations by rendering an empty element and mounting into it.", "dissent": "The author and another maintainer felt an imperative mount and hydrate split better suits integrating frameworks that create DOM directly.", "confidence": "implied", "reversibility": "stated-hard", "implementedIn": ["https://github.com/sveltejs/svelte/pull/12425"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Two concrete API shapes, plus variants, were compared against criteria with code examples on each side.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "build-pr"], "gaps": ["competing implementations: the decision was made by comparing two open PRs, and the chosen design lives in a different PR than the discussion", "coupled decisions: head support, optional methods and naming were settled alongside the main API shape", "external validation: an outside integrator tested one option in their own codebase, evidence the design has no slot for", "approval reversal: a maintainer rescinded his approval mid-thread, a state change the question model does not record"]}, "evalUse": "Tests capturing a two-maintainer API standoff resolved by a competing PR and a concession.", "notes": "trueadm is labelled CONTRIBUTOR but acts as a core maintainer. PR #12425 was not fetched; its merge is inferred from the thread and Svelte 5's released API.", "caseId": "svelte-create-raw-snippet-shape", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "svelte-element-this-attr", "sources": [{"url": "https://github.com/sveltejs/svelte/pull/5481", "kind": "pr", "retrievedAt": "2026-10-18T07:23:55.771302+00:00"}], "repo": "sveltejs/svelte", "domain": "api-design", "title": "How dynamic elements are expressed in Svelte", "question": "Should dynamic HTML elements be a new tag, and should its element type be passed as tag or as this?", "questionExplicit": false, "context": "A community PR added for rendering elements whose type is known only at runtime. Reviewers raised alternatives and maintainers later asked for a rename, while the PR stalled for a year.", "options": [{"label": " with a tag attribute", "proposedBy": "alfredringstad", "fate": "rejected"}, {"label": " with a this attribute, matching ", "proposedBy": "maintainers (benmccann)", "fate": "chosen"}, {"label": "Importable element values passed to ", "proposedBy": "DanielPower", "fate": "rejected"}, {"label": "Falsy value renders children without a wrapper", "proposedBy": "aradalvand", "fate": "chosen"}], "criteria": ["parity with svelte:component", "bundle size", "custom element support", "freeing tag as an attribute name", "maintainability of the compiler code"], "participants": {"count": 18, "roles": ["maintainers", "PR author", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Should DynamicElement share a base class with Element?", "What happens when the value is falsy?", "Should children be reused when the tag changes?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 211, "comments": 56, "reactionsTotal": 303, "decidedOffPlatform": true, "notableMoves": ["Maintainers settled the rename in a private conversation and reported it", "Original author stepped away and a maintainer re-opened the work as PR 6898", "Several pile-on comments were hidden as off-topic", "Falsy-value behaviour, earlier deflected, landed in the replacement PR"]}, "outcome": {"decided": true, "decision": "Keep a dedicated tag but pass the element type via this; nullish or empty values render no element. Delivered through replacement PR 6898.", "how": "maintainer-decision", "rationale": "Using this aligns with and leaves tag usable as an ordinary attribute, which matters for custom elements; the component-map alternative cost bundle size and could not handle custom elements.", "dissent": "One user preferred tag because of bind:this semantics but accepted the change.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": ["https://github.com/sveltejs/svelte/pull/6898"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Concrete syntax alternatives were compared on parity, size and custom element support.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "settle", "build-pr", "reshape"], "gaps": ["off-platform decision: the rename came from a maintainers' conversation outside the PR and was only reported", "superseded vehicle: the decision moved from this PR to a replacement PR by a different author, splitting its history", "coupled decisions: attribute name, falsy-value behaviour and code structure were bundled into one stalled PR", "staged acceptance: the feature was accepted in principle long before the cleanup that merging required"]}, "evalUse": "Tests following a contested PR whose naming decision was made off-thread and shipped in a successor PR.", "notes": "Named maintainer reporting the decision: benmccann; the replacement PR is by baseballyama.", "caseId": "svelte-dynamic-element-attr", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "svelte-css-nesting-implementation", "sources": [{"url": "https://github.com/sveltejs/svelte/pull/9549", "kind": "pr", "retrievedAt": "2026-10-18T07:23:46.860789+00:00"}], "repo": "sveltejs/svelte", "domain": "architecture", "title": "Implementation strategy for CSS nesting", "question": "How should the compiler analyse and scope nested CSS rules, and should this contributor PR be merged as the way to do it?", "questionExplicit": false, "context": "Svelte scopes component CSS and comments out unused selectors, so nested rules must be matched against markup. A contributor's PR passed its own tests, but review revealed selector-expansion and specificity problems.", "options": [{"label": "Merge the contributor's PR (flattened or invisible parent selectors)", "proposedBy": "contributor", "fate": "rejected"}, {"label": "Merge now as experimental support", "proposedBy": "contributor", "fate": "rejected"}, {"label": "Emit un-nested CSS output", "proposedBy": "lead maintainer", "fate": "rejected"}, {"label": "Hybrid scoping with :where as a prerequisite", "proposedBy": "lead maintainer", "fate": "chosen"}, {"label": "Maintainer rework of CSS handling in a new PR", "proposedBy": "lead maintainer", "fate": "chosen"}, {"label": "Insert parent selectors during parsing", "proposedBy": "contributor", "fate": "rejected"}], "criteria": ["correct selector matching per spec", "consistent specificity", "not shipping half-done support", "keeping the AST faithful to source", "cost of rebasing on ongoing changes"], "participants": {"count": 5, "roles": ["maintainers", "outside contributor", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["How to keep component specificity consistent (hybrid :where scoping)?", "Should :global blocks be supported?", "How to parse declarations versus nested rules?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 87, "comments": 58, "reactionsTotal": 71, "decidedOffPlatform": false, "notableMoves": ["changes requested after months of silence", "prerequisite scoping change split into its own PR and merged first", "contributor asks for a Discord call", "maintainer asks contributor to stop committing", "PR closed and superseded by a maintainer reimplementation"]}, "outcome": {"decided": true, "decision": "Close the contributor PR; land hybrid :where scoping first, then the lead maintainer reimplements nesting in a new PR.", "how": "maintainer-decision", "rationale": "Flattening selectors is incorrect for spec cases, a half-done version should not ship, and the eventual implementation will differ too much to keep rebasing.", "dissent": "The contributor wanted to merge as experimental and to be credited as a contributor.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/sveltejs/svelte/pull/10443", "https://github.com/sveltejs/svelte/pull/10491"]}, "chopinFit": {"shape": "check", "shapeWhy": "The crux was verifying whether flattening matched spec behaviour, settled by counterexamples and browser checks.", "secondaryShape": "choice", "fitsFlows": ["research-or-spike", "work-in-place", "build-pr", "reshape"], "gaps": ["coupled decisions: the nesting approach depended on a separate scoping-strategy change decided mid-review", "superseded implementation: the contributor's PR became evidence for a maintainer rewrite, with no link from the decision to the replacement beyond a cross-reference", "off-platform decision: the contributor sought a Discord call to coordinate", "spike as evidence: playground links and browser tests served as the proof"]}, "evalUse": "Tests a PR whose approach is overturned in review and replaced by a maintainer reimplementation.", "notes": "Decider is lead maintainer Rich-Harris. Duration to the close. Replacement PR 10491 not fetched; its merge state is not shown in the digest.", "caseId": "svelte-css-nesting-approach", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "tailwind-variant-grouping", "sources": [{"url": "https://github.com/tailwindlabs/tailwindcss/discussions/11701", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:10.242009+00:00"}], "repo": "tailwindlabs/tailwindcss", "domain": "api-design", "title": "Should Tailwind support variant grouping syntax", "question": "Should Tailwind support a syntax for applying one variant to a group of utilities, and if so how should it compile?", "questionExplicit": true, "context": "Long class lists repeat prefixes such as focus: or custom selector variants. The maintainers had earlier declined grouping over CSS size and template-transformation concerns.", "options": [{"label": "Space-separated group syntax in core", "proposedBy": "silicakes (opener)", "fate": "rejected"}, {"label": "Comma-separated group compiled to one class via a plugin", "proposedBy": "wongjn (maintainer)", "fate": "partly"}, {"label": "Build-time transform that expands groups before Tailwind reads code", "proposedBy": "silicakes (opener)", "fate": "rejected"}, {"label": "Resolve groups in the class extractor as pure syntax sugar", "proposedBy": "sarimarton (user)", "fate": "rejected"}, {"label": "Runtime expansion inside a class-merge helper", "proposedBy": "stephenhandley (user)", "fate": "rejected"}, {"label": "Keep writing repeated variant prefixes", "proposedBy": "mybearworld (user)", "fate": "chosen"}], "criteria": ["generated CSS size", "override and declaration-order correctness", "source readability and DRYness", "language-agnostic templates", "tooling support (Prettier, IntelliSense)"], "participants": {"count": 13, "roles": ["maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "benchmarks", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Can grouped output preserve utility ordering?", "Would a build-time transform keep Tailwind template-agnostic?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 189, "comments": 76, "reactionsTotal": 92, "decidedOffPlatform": false, "notableMoves": ["a maintainer built a working playground plugin mid-thread, turning a feature request into a community plugin", "the creator showed collapsed rules break overrides", "two users argued at length over byte counts", "users kept asking whether v4 changed the answer"]}, "outcome": {"decided": true, "decision": "Not adopted in core; grouping remains available only through community plugins.", "how": "default/no-action", "rationale": "Correct grouping needs per-utility rules in their usual order, inflating CSS, and source transforms would tie Tailwind to template languages.", "dissent": "Many users want built-in grouping for readability, especially for long custom variants.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing syntaxes and compile strategies weighed on size, correctness and tooling.", "secondaryShape": "check", "fitsFlows": ["find", "research-or-spike", "work-in-place", "settle"], "gaps": ["duplicates merged: the answer lived in earlier threads and a tweet, so the decision was found by linking rather than made here", "decider not in the thread: the closing answer is a collaborator's recollection of the maintainers' stance, never confirmed", "reopening trigger: users repeatedly asked whether a major rewrite reopens the question, with no way to flag a settled decision for review", "workaround as outcome: a community plugin became the practical answer without being recorded as one"]}, "evalUse": "Tests recognising an implicit standing rejection relayed by a collaborator and the technical criteria behind it, despite a long side argument.", "notes": "Decider: wongjn relaying adamwathan's prior stance (adamwathan is labelled CONTRIBUTOR but is Tailwind's creator). Duration runs to the collaborator's statement in February 2024.", "caseId": "tailwindcss-variant-grouping", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "tailwindcss-prettier-strip-whitespace-default", "sources": [{"url": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", "kind": "discussion", "retrievedAt": "2026-10-18T07:20:07.937703+00:00"}], "repo": "tailwindlabs/tailwindcss", "domain": "tooling", "title": "Whitespace and duplicate stripping in the Prettier plugin", "question": "Should the Tailwind Prettier plugin remove duplicate classes and extra whitespace, and if so on by default, behind an option, or via separate plugins?", "questionExplicit": true, "context": "The feature was added and then reverted early because some code relies on spaces in class strings. Users kept asking, published forks and third-party plugins that conflicted with the official one.", "options": [{"label": "Do nothing (keep reverted state)", "proposedBy": "maintainer (status quo)", "fate": "rejected"}, {"label": "Default-off option", "proposedBy": "users", "fate": "rejected"}, {"label": "On by default with opt-out", "proposedBy": "maintainer (adamwathan)", "fate": "chosen"}, {"label": "Support external plugins running first", "proposedBy": "user (un33k)", "fate": "rejected"}, {"label": "Disable for Liquid and Svelte", "proposedBy": "maintainer (thecrypticace)", "fate": "chosen"}], "criteria": ["risk of silently breaking user code", "single plugin vs extra dependencies", "user expectation from Headwind and earlier behaviour", "compatibility with other Prettier printers"], "participants": {"count": 55, "roles": ["maintainers", "users", "fork author"], "decider": "named maintainer"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Default on or off", "Built in or external plugin", "Which languages to exclude"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 856, "comments": 81, "reactionsTotal": 591, "decidedOffPlatform": false, "notableMoves": ["shipped then reverted before the thread revealed it", "community fork published to restore the feature", "maintainer flipped stance from breakage risk to default-on", "partial rollback for Liquid and Svelte a day after release"]}, "outcome": {"decided": true, "decision": "Ship duplicate and whitespace removal on by default in plugin v0.6.0, then disable it for Liquid and Svelte in v0.6.1.", "how": "maintainer-decision", "rationale": "Strong demand and the precedent of other options made it reasonable, and the edge cases were handled in the new implementation.", "dissent": "Earlier the maintainer worried it could silently break code that relies on spaces; one user wanted external plugins instead of built-in logic.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/tailwindlabs/prettier-plugin-tailwindcss/pull/272"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Default-on, default-off, external plugins or nothing, weighed against breakage risk.", "secondaryShape": "tune", "fitsFlows": ["find", "revisit-reopen", "build-pr", "settle"], "gaps": ["reversal after shipping: implemented, reverted, then re-shipped with a partial rollback after release", "votes as evidence: hundreds of reactions and option requests drove the maintainer's change of mind", "cross-repo build: the decision lived in the tailwindcss discussion but the code and revert were in the plugin repo", "forks as evidence: a community fork proved demand and feasibility, then was deprecated"]}, "evalUse": "Feature that shipped, reverted, and returned as a default with per-language exceptions.", "notes": "Decider: adamwathan set the direction; thecrypticace implemented. PR #70 and #72 are in the plugin repo and were not fetched.", "caseId": "tailwindcss-prettier-whitespace-dedupe", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "tc39-reflection-syntax-shape", "sources": [{"url": "https://github.com/tc39/proposal-source-phase-imports/issues/18", "kind": "proposal", "retrievedAt": "2026-10-18T07:32:47.831632+00:00"}], "repo": "tc39/proposal-source-phase-imports", "domain": "language-design", "title": "Keyword or extensible options for import reflection", "question": "Should import reflection use an extensible key-value syntax like dynamic import options, or a dedicated keyword?", "questionExplicit": true, "context": "Import reflection, later renamed source phase imports, initially used an as clause. Bundler authors wanted one extensible syntax so new attributes need no new grammar, while some delegates opposed host-defined import semantics.", "options": [{"label": "Extensible key-value clause such as with { reflect: ... }", "proposedBy": "jonathantneal", "fate": "merged"}, {"label": "Dedicated keyword before the binding", "proposedBy": "champions", "fate": "chosen"}, {"label": "Reserved key or prefix for non-semantic tooling metadata", "proposedBy": "ggoodman", "fate": "rejected"}, {"label": "Keyword for modules, extensible attributes for asset references", "proposedBy": "nayeemrmn", "fate": "partly"}, {"label": "Separate APIs such as import.preload for specific needs", "proposedBy": "ljharb", "fate": "deferred"}], "criteria": ["symmetry with dynamic import", "extensibility without parser changes", "interoperability and tight semantics", "module identity and caching", "universality across hosts", "risk of committee blocking"], "participants": {"count": 15, "roles": ["champions", "TC39 delegates", "bundler authors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["Should attributes be allowed to fork a module?", "How would media-conditioned imports behave on viewport change?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 488, "comments": 68, "reactionsTotal": 270, "decidedOffPlatform": true, "notableMoves": ["syntax changed to a new keyword during discussion, provoking objection", "a delegate requested use cases in a tools meeting", "extensibility moved to the separate import attributes proposal", "issue closed as addressed by the split"]}, "outcome": {"decided": true, "decision": "The proposal kept a keyword syntax for phases, while extensible key-value options went into the separate import attributes proposal.", "how": "maintainer-decision", "rationale": "Import assertions evolved into import attributes with an extensible with clause, so this proposal could focus on phases only.", "dissent": "Bundler authors and some delegates argued for extensible syntax and felt community input was dismissed.", "confidence": "stated", "reversibility": "stated-hard", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Two syntax shapes weighed against extensibility, interoperability and identity concerns.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["off-platform decision: the syntax change and the split were made in committee and plenary, not in this thread", "superseded by another proposal: the question was answered by restructuring work into a separate proposal", "decider not in thread: committee consensus and blocking power shaped options but were only referenced", "contentious tone: a participant left feeling dismissed, with no way to record that friction"]}, "evalUse": "Tests recognising a question dissolved by splitting scope into a sibling proposal.", "notes": "Decider is the proposal champions within TC39 committee process; lucacasonato closed the issue.", "caseId": "tc39-import-reflection-extensible-syntax", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "uuid6-alt-text-encoding", "sources": [{"url": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", "kind": "issue", "retrievedAt": "2026-10-18T07:35:36.576120+00:00"}], "repo": "uuid6/new-uuid-encoding-techniques-ietf-draft", "domain": "data-model", "title": "Alternate text encodings for new UUIDs", "question": "Should the new UUID specification define a text format beyond 8-4-4-4-12, and if so which base and alphabet, and how many?", "questionExplicit": true, "context": "The UUIDv6-8 draft aimed at sortable database keys, and the hex-with-dashes form is long. Participants disagreed on whether a compact, sortable, case-insensitive format belonged in a spec that might only extend RFC 4122.", "options": [{"label": "base32hex from RFC 4648", "proposedBy": "fabiolimace", "fate": "rejected"}, {"label": "Crockford base32 as one optional compact format", "proposedBy": "bradleypeabody", "fate": "deferred"}, {"label": "Crockford base32 as the new default text form", "proposedBy": "bradleypeabody", "fate": "rejected"}, {"label": "Two formats: base36 and base62", "proposedBy": "LiosK", "fate": "rejected"}, {"label": "Any base allowed, with guidance toward base36", "proposedBy": "kyzer-davis", "fate": "deferred"}, {"label": "Mixed-case bases such as base58 or base62", "proposedBy": "daegalus", "fate": "rejected"}, {"label": "Letter-only base52 or base48", "proposedBy": "fabiolimace", "fate": "rejected"}, {"label": "Keep only 8-4-4-4-12", "proposedBy": "broofa", "fate": "partly"}, {"label": "Move encodings to a separate draft", "proposedBy": "ben221199", "fate": "chosen"}], "criteria": ["sorts the same as the binary form", "case-insensitive for DNS, email and collations", "compactness", "unambiguous parsing", "ease of implementation and bundle size", "backward compatibility with RFC 4122"], "participants": {"count": 10, "roles": ["maintainers", "library authors", "contributors"], "decider": "named maintainer"}, "process": {"research": "data-analysis", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Which base32 alphabet?", "One alternative format or two?", "Should the new format replace hex as default?", "How does a receiver detect which encoding was used?", "Does the RFC update or obsolete RFC 4122?"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 743, "comments": 79, "reactionsTotal": 35, "decidedOffPlatform": true, "notableMoves": ["early 2020 agreement on Crockford base32 later reopened", "closed and reopened three times with out-of-scope labels toggled", "participants posted SQL collation demos, encoder code and profanity-frequency measurements", "editors wrote draft text in a PR while the debate continued", "scope cut decided in a private editor conversation and announced", "topic split into a separate Draft 00"]}, "outcome": {"decided": true, "decision": "Alternate encodings were removed from Draft 03 and any later version of the main draft, moving to a separate draft alongside the E variant and long UUIDs; which encoding to use was left open.", "how": "maintainer-decision", "rationale": "Keeping the main draft focused on UUIDv6 to v8 lets implementations adopt it without taking on the contested encoding question.", "dissent": "Several participants felt a text format was essential to the spec's usefulness, and later demand on Hacker News was noted.", "confidence": "stated", "reversibility": "implied", "implementedIn": ["https://github.com/uuid6/uuid6-ietf-draft/pull/85"]}, "chopinFit": {"shape": "choice", "shapeWhy": "A clear option set of bases and alphabets scored against sorting, case, length and parsing criteria.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "ask-teammate", "settle", "revisit-reopen", "reshape"], "gaps": ["staged acceptance: the 2020 settle on Crockford base32 was later reopened and finally deferred to another document without being formally retired", "off-platform decision: the scope cut came from a private conversation between the two editors", "coupled decisions decided together: which encoding depended on whether the RFC extends or replaces RFC 4122 and on variable-length UUIDs, debated in other threads", "experiments as evidence: SQL collation demos, encoder prototypes and word-frequency counts carried the argument", "moving a question to another document: the decision was to relocate it to a new draft, which has no representation"]}, "evalUse": "Tests separating a scope decision from the unresolved option choice in a long standards debate.", "notes": "Decider is kyzer-davis together with bradleypeabody, the draft editors, both labelled CONTRIBUTOR. The Draft 03 pull request was not fetched; its use as implementedIn reflects that it carried and then dropped the encoding text.", "caseId": "uuid6-alt-text-encoding", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "nextjs-global-css-imports", "sources": [{"url": "https://github.com/vercel/next.js/discussions/27953", "kind": "rfc", "retrievedAt": "2026-10-18T07:19:56.113465+00:00"}], "repo": "vercel/next.js", "domain": "api-design", "title": "Global CSS imports outside `_app`", "question": "Should Next.js let pages and dependencies import global CSS, and where should that be supported?", "questionExplicit": true, "context": "Global CSS was restricted to `_app` to keep ordering stable across page entry points, which broke libraries that import their own CSS. Webpack 5's module graph made lifting the rule seem feasible.", "options": [{"label": "Lift the restriction for pages and node_modules under webpack 5", "proposedBy": "RFC author (maintainer)", "fate": "rejected"}, {"label": "Support it only in the new `app/` directory via layouts", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Opt-in config flag in `pages`", "proposedBy": "user", "fate": "rejected"}, {"label": "A `` component with scoping and ordering", "proposedBy": "user", "fate": "rejected"}, {"label": "Leave it to plugins and transpile workarounds", "proposedBy": "users", "fate": "rejected"}], "criteria": ["CSS order and specificity correctness", "library compatibility without config", "build performance", "static export support", "route-change CSS loading"], "participants": {"count": 52, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Support CSS modules from packages", "Support Sass and LESS", "Work with static export"], "deferred": true, "reopened": false, "superseded": true, "durationDays": 442, "comments": 76, "reactionsTotal": 861, "decidedOffPlatform": false, "notableMoves": ["Nine months of silence while users traded workarounds", "Solution folded into the separate Layouts RFC", "Shipped in beta app directory, then closed when the App Router went stable", "Pages directory never got the original proposal"]}, "outcome": {"decided": true, "decision": "Allow importing CSS, including from packages, in any layout or page of the new `app/` directory; `pages` keeps the restriction.", "how": "maintainer-decision", "rationale": "The pages router still cannot load CSS correctly on client route changes, while the app router's layouts can.", "dissent": "Users stuck on `pages` or static export asked why the original proposal was not applied there.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Where to allow global CSS: pages, app only, behind a flag, or via a component.", "secondaryShape": null, "fitsFlows": ["settle", "reshape", "build-pr"], "gaps": ["superseded by another decision: the answer arrived through the separate Layouts RFC and a new router, not the proposal itself", "staged acceptance: the fix shipped first in a beta directory and was only declared done months later when it became stable", "silent deferral: the RFC sat for nine months with no maintainer word, so the waiting state was invisible to readers", "partial scope: the original goal for `pages` was quietly dropped, with no record of the decision to drop it"]}, "evalUse": "Tests whether an agent notices the RFC was answered by a different feature with narrower scope than proposed.", "notes": "durationDays counts to the Next.js 13 announcement that declared the RFC solved. No implementing PR is linked in the thread.", "caseId": "nextjs-global-css-imports-rfc", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "nextjs-page-file-and-dir-naming", "sources": [{"url": "https://github.com/vercel/next.js/discussions/37136", "kind": "rfc", "retrievedAt": "2026-10-18T07:35:55.684501+00:00"}, {"url": "https://nextjs.org/blog/layouts-rfc", "kind": "rfc", "retrievedAt": "2026-10-18T07:35:55.684501+00:00"}], "repo": "vercel/next.js", "domain": "naming", "title": "page.js in route folders under app", "question": "Should the new router define routes as folders containing fixed page.js and layout.js files inside an app directory, or use prefixed or suffixed file names, file-per-route, or a differently named or configurable directory?", "questionExplicit": false, "context": "The Layouts RFC introduced folder-based routing with fixed special file names in a new app directory. The most upvoted feedback concerned repeated file names in editors and the clash of app with existing folders.", "options": [{"label": "Folders with fixed page.js/layout.js names in app", "proposedBy": "core team", "fate": "chosen"}, {"label": "Underscore-prefixed special files (_page.js, _layout.js)", "proposedBy": "users (tuliofaria, dgrcode, dtinth)", "fate": "rejected"}, {"label": "Type-suffixed names (dashboard.page.js)", "proposedBy": "users (cdebotton, JonCognioDigital)", "fate": "rejected"}, {"label": "File per route with optional child folder", "proposedBy": "colinclerk", "fate": "rejected"}, {"label": "Name the directory routes or make it configurable", "proposedBy": "paulgendek, flybayer and others", "fate": "rejected"}], "criteria": ["colocation of tests and styles", "clarity of layout nesting", "room for more conventions like loading.js", "editor navigation and tab clarity", "clash with existing app folders", "distinguishing special from colocated files"], "participants": {"count": 240, "roles": ["core team", "React core members", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "none", "subQuestions": ["How can routes opt out of parent layouts?", "Can folders exist outside the URL?", "Should special files carry a reserved prefix?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 108, "comments": 479, "reactionsTotal": 5753, "decidedOffPlatform": true, "notableMoves": ["Heavily upvoted naming objections early on", "Core team defended directories with a short rationale and moved on", "Route groups previewed in a reply ahead of part two", "Part two published on the blog left naming unchanged", "Updates were shared on social media and at a conference"]}, "outcome": {"decided": true, "decision": "Keep folder routes with fixed page.js and layout.js files in the app directory; route groups in parentheses address layout opt-outs.", "how": "maintainer-decision", "rationale": "Folders with fixed file names allow colocating other files, make layout nesting explicit, and leave room for more conventions such as loading states.", "dissent": "Many users kept objecting to repeated page.js names and to the app directory name, and later to the lack of a reserved prefix for special files.", "confidence": "implied", "reversibility": "stated-hard", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "A handful of naming schemes were compared on colocation, editor ergonomics and clashes.", "secondaryShape": "explore", "fitsFlows": ["find", "ask-teammate", "settle"], "gaps": ["votes as evidence: hundreds of upvotes on naming objections were the main signal, and the record cannot weigh them", "off-platform decision: the outcome surfaced through blog posts, social media and a conference rather than a reply", "coupled decisions: file naming, directory naming, route groups and data fetching were all settled inside one RFC thread", "decision without announcement: no comment states the naming is final; it is inferred from part two leaving it unchanged", "scale: hundreds of commenters and mostly unanswered questions swamp the few decision-bearing replies"]}, "evalUse": "Tests extracting one contested naming decision from a huge RFC thread where the decision is implicit and announced elsewhere.", "notes": "Digest kept 159 of 481 events. The 'chosen' outcome is inferred from the core team's rationale reply and from part two keeping page.js; the final shipped form is not shown in kept events. Hidden comments 150 and 151 were hidden by a core team member as off-topic (per event 152) but are not flagged in the digest. 322 low-signal comments omitted by the 150-event cap.", "caseId": "nextjs-app-router-file-conventions", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": true}} +{"id": "nextjs-auth-interrupts-api-shape", "sources": [{"url": "https://github.com/vercel/next.js/discussions/73753", "kind": "rfc", "retrievedAt": "2026-10-18T07:20:00.753718+00:00"}], "repo": "vercel/next.js", "domain": "api-design", "title": "Shape of auth interrupts in the App Router", "question": "Should Next.js stabilise dedicated `forbidden()` and `unauthorized()` interrupts, or provide a generic way to respond with any status and pass context to the error UI?", "questionExplicit": false, "context": "Next.js 15 added experimental 401 and 403 interrupts modelled on `notFound()`, with stabilisation targeted for 15.2 after more capabilities. Feedback asked for generic statuses, payloads, redirect-back and naming changes.", "options": [{"label": "Dedicated forbidden() and unauthorized() functions with convention files", "proposedBy": "maintainer ztanner", "fate": "deferred"}, {"label": "Generic status or error(code) function for any status", "proposedBy": "users switz, sawa-ko, axten", "fate": "deferred"}, {"label": "Pass a cause or payload through to the error pages", "proposedBy": "contributor Netail and users", "fate": "deferred"}, {"label": "Rename unauthorized() to unauthenticated()", "proposedBy": "user jperasmus", "fate": "deferred"}, {"label": "Handle auth status in middleware rather than in rendering", "proposedBy": "contributor aralroca", "fate": "deferred"}, {"label": "Reserve interrupts for unrecoverable cases; use protect wrappers with causes otherwise", "proposedBy": "maintainer gnoff", "fate": "deferred"}], "criteria": ["alignment with web standards", "readability of file conventions", "status codes after streaming starts", "SEO statuses like 410", "redirect back after sign-in", "library integration"], "participants": {"count": 24, "roles": ["maintainers", "contributors", "users", "library authors"], "decider": "unclear"}, "process": {"research": "links", "spike": "feature-flag", "poll": false, "escalation": "none", "subQuestions": ["How should users be returned to the original page after sign-in?", "Can thrown interrupts be identified by libraries?", "Should the error pages export metadata?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 504, "comments": 46, "reactionsTotal": 290, "decidedOffPlatform": false, "notableMoves": ["Shipped behind an experimental flag before the RFC", "Stabilisation target of 15.2 passed silently", "Community contributors answered most questions in place of the authors", "Several sibling discussions and PRs held related pieces"]}, "outcome": {"decided": false, "decision": null, "how": "default/no-action", "rationale": null, "dissent": null, "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "The core tension is named helpers versus a generic status mechanism, each judged against standards, clarity and streaming limits.", "secondaryShape": "explore", "fitsFlows": ["work-in-place", "ask-teammate"], "gaps": ["decider not in thread: the RFC author never replied, and only one maintainer comment appears in 16 months", "feature flag as evidence: the API shipped behind `authInterrupts` but usage data never entered the discussion", "coupled decisions: naming, payloads, generic statuses and redirect-back were raised together with no way to split them", "duplicates merged: related asks lived in separate discussions and PRs such as #73665 and #70961", "stalled RFC: the stated 15.2 stabilisation milestone passed without any status update"]}, "evalUse": "Tests recognising an undecided RFC and enumerating competing API shapes without inventing a resolution.", "notes": "ztanner and gnoff are treated as maintainers (Vercel team, labelled CONTRIBUTOR). No decision recorded as of retrieval; the feature still appears experimental per later comments.", "caseId": "nextjs-forbidden-unauthorized-rfc", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "nextjs-csp-approach", "sources": [{"url": "https://github.com/vercel/next.js/pull/4943", "kind": "pr", "retrievedAt": "2026-10-18T07:23:20.800105+00:00"}], "repo": "vercel/next.js", "domain": "security", "title": "How Next.js should support a strict CSP", "question": "How should Next.js make a strict Content Security Policy possible, and how much should the framework generate and enforce itself?", "questionExplicit": false, "context": "Next.js relied on inline scripts and styles, forcing unsafe-inline. A contributor's large PR bundled script relocation, style nonces, a config option for headers or meta tags, and debate over allowlists versus strict-dynamic.", "options": [{"label": "Move server data into a JSON script tag and drop inline scripts", "proposedBy": "dav-is", "fate": "chosen"}, {"label": "Separate cached bootstrap file", "proposedBy": "dav-is", "fate": "merged"}, {"label": "Data attribute on head for app state", "proposedBy": "dbo", "fate": "rejected"}, {"label": "contentSecurityPolicy config generating header and nonces", "proposedBy": "dav-is", "fate": "deferred"}, {"label": "Separate header and meta policy options instead of an unsafe flag", "proposedBy": "dbo", "fate": "rejected"}, {"label": "Domain allowlists as the encouraged default", "proposedBy": "dav-is", "fate": "partly"}, {"label": "Keep nonces to allow strict-dynamic", "proposedBy": "novascreen", "fate": "chosen"}, {"label": "Strict policy in development mode too", "proposedBy": "cherniavskii", "fate": "deferred"}], "criteria": ["no inline script execution", "static export and CDN compatibility", "consistency between development and production", "protection from rogue dependencies", "IE11 support", "extra network requests"], "participants": {"count": 14, "roles": ["maintainers", "contributors", "external maintainers", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should the policy be set by header or meta tag?", "Should nonces be kept?", "Can the error overlay run under CSP?", "Does a JSON script tag count as inline script?"], "deferred": true, "reopened": false, "superseded": true, "durationDays": 292, "comments": 114, "reactionsTotal": 48, "decidedOffPlatform": true, "notableMoves": ["maintainer re-implemented core pieces in separate PRs", "nonce removal reversed after a contributor cited research on strict-dynamic", "upstream overlay maintainers pulled in", "maintainer moved a conversation to private messages", "closed as outdated after the author joined the team"]}, "outcome": {"decided": true, "decision": "Remove inline JavaScript through separate maintainer PRs that shipped in v8, keep nonce support, and drop the built-in CSP config and development-mode strictness from this PR, which was closed.", "how": "maintainer-decision", "rationale": "Pieces that were ready landed independently, while the rest was too stale and blocked on the error overlay and CSS-in-JS nonces.", "dissent": "Contributors wanted built-in config covering static exports and a strict policy in development; nonce support for other CSS-in-JS libraries remained unaddressed.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/vercel/next.js/pull/5583", "https://github.com/vercel/next.js/pull/5584"]}, "chopinFit": {"shape": "mixed", "shapeWhy": "Several linked security choices were explored, some checked against standards and some chosen between.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "build-pr", "reshape"], "gaps": ["staged acceptance: core pieces shipped while the config option and development strictness were left undone with no follow-up record", "split implementation: the decision was carried out in other PRs written by a maintainer, not the PR that hosted the debate", "off-platform decision: a maintainer moved the discussion to private messages before the PR was shelved", "coupled decisions: script relocation, nonce policy, meta-tag delivery and dev-mode behaviour were bundled in one PR"]}, "evalUse": "Tests tracing a sprawling security PR whose decisions landed elsewhere and whose remainder was abandoned.", "notes": "Decider: timneutkens (labelled CONTRIBUTOR but acting as maintainer). PRs #5583 and #5584 were not fetched; their role is taken from the maintainer's comment.", "caseId": "nextjs-strict-csp-support", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vite-lib-externalize-lookup", "sources": [{"url": "https://github.com/vitejs/vite/pull/10632", "kind": "pr", "retrievedAt": "2026-10-18T07:24:14.097739+00:00"}], "repo": "vitejs/vite", "domain": "api-design", "title": "Auto-externalize dependencies in library mode", "question": "Should Vite's library mode automatically externalize package dependencies, and if so which package.json should it read and when should it switch off?", "questionExplicit": true, "context": "Library authors must list externals by hand. The PR adds detection, but review found many configs (UMD defaults, plugin-changed formats, output arrays, multiple entries) where it would misfire.", "options": [{"label": "Look up package.json from process.cwd", "proposedBy": "Shinigami92", "fate": "rejected"}, {"label": "Look up from the library entry", "proposedBy": "yyx990803", "fate": "partly"}, {"label": "Always look up from the configured root", "proposedBy": "sapphi-red", "fate": "deferred"}, {"label": "Look up from each entry, disable with a warning if they disagree", "proposedBy": "sapphi-red", "fate": "deferred"}, {"label": "Ship as a standalone plugin instead of core", "proposedBy": "Shinigami92", "fate": "deferred"}, {"label": "Merge now and iterate", "proposedBy": "Shinigami92", "fate": "rejected"}], "criteria": ["consistent, predictable behaviour", "correctness with UMD and IIFE outputs", "interaction with plugins and output options", "breaking change cost", "author capacity"], "participants": {"count": 7, "roles": ["maintainers", "collaborator", "contributor"], "decider": "unclear"}, "process": {"research": "none", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should it also apply to applications, not just libraries?", "How to add extra externals on top of automatic ones?", "How to treat nested package.json files in monorepos?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 638, "comments": 29, "reactionsTotal": 6, "decidedOffPlatform": false, "notableMoves": ["review turned up concrete counterexample configs", "maintainer reframed the lookup rule as a three-way choice", "removed from Vite 5 milestone pending a broader library-mode review", "author abandoned for another tool"]}, "outcome": {"decided": true, "decision": "The PR was closed unmerged; automatic externalization was not added at this point.", "how": "abandoned", "rationale": "Edge cases made the behaviour inconsistent, the author lacked capacity, and maintainers preferred to revisit within a broader library-mode review.", "dissent": "The author felt it was safe to merge and iterate because manual externals override it.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "The lookup rule was posed as three named alternatives judged on consistency and correctness.", "secondaryShape": "check", "fitsFlows": ["work-in-place", "research-or-spike", "build-pr", "settle"], "gaps": ["abandonment by attrition: the outcome came from the author leaving and a maintainer closing a year later, not from choosing among the options", "counterexamples as evidence: review findings were concrete config snippets that break the claim, which a check question would want attached as test cases", "deferred to a larger initiative: maintainers parked it for a future library-mode review that is not linked or tracked"]}, "evalUse": "Tests whether a model recognises an unmerged PR as a deferral and recovers the three lookup options.", "notes": "No explicit owner decided; patak-cat removed it from the milestone and bluwy closed it.", "caseId": "vite-lib-auto-externalize-deps", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vite-eager-browserhash-merge", "sources": [{"url": "https://github.com/vitejs/vite/pull/20609", "kind": "pr", "retrievedAt": "2026-10-18T07:24:19.484868+00:00"}], "repo": "vitejs/vite", "domain": "architecture", "title": "Merge the eager browserHash fix", "question": "Should Vite make the optimizer's in-memory browserHash match the persisted one, awaiting the initial scan, to survive a restart mid page load?", "questionExplicit": true, "context": "A hosting platform restarts the dev server often, and a restart during the asset waterfall served dependencies under two hashes, duplicating React. Vite assumes one server serves a full page load.", "options": [{"label": "Eagerly set browserHash and await scan processing", "proposedBy": "infiton", "fate": "rejected"}, {"label": "Also persist per-dependency hashes for later-discovered deps", "proposedBy": "sapphi-red", "fate": "deferred"}, {"label": "Load the Vite client before other scripts", "proposedBy": "sapphi-red", "fate": "partly"}, {"label": "Show WebSocket connection failure in the error overlay", "proposedBy": "sapphi-red", "fate": "deferred"}, {"label": "Make the scanner blocking outright", "proposedBy": "patak-dev", "fate": "deferred"}], "criteria": ["correctness across restarts", "keep the non-blocking scanner", "completeness of the fix", "diff size and portability to rolldown-vite", "evidence from a reproduction"], "participants": {"count": 8, "roles": ["maintainers", "contributors", "external platform team", "users"], "decider": "named maintainer"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Is a mid-load restart a supported scenario at all?", "Does the override break hashes from addMissingDep?", "Is the real cause the client loading too late?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 65, "comments": 42, "reactionsTotal": 1, "decidedOffPlatform": false, "notableMoves": ["approved, then a second maintainer was asked to review", "ecosystem CI and a preview build used as evidence", "opener cited a month of production use of the patch", "approving maintainer reversed after re-review, citing a blocking-scanner regression raised by another maintainer", "closed by the opener in favour of a different approach and a separate issue"]}, "outcome": {"decided": true, "decision": "Not merged: the maintainer withdrew support and the opener closed the PR to pursue another approach.", "how": "maintainer-decision", "rationale": "The change effectively makes the scanner blocking, reverting an earlier design; it does not fix partial module graphs; a WebSocket error should be surfaced instead; and the diff was too large to port before the next major.", "dissent": "The opener and a colleague argued the fix worked in production and remote dev environments cannot rule out restarts.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "check", "shapeWhy": "The pivotal question was whether the claimed fix was safe and complete, tested through review, CI and repros.", "secondaryShape": "choice", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "revisit-reopen", "build-pr"], "gaps": ["decider not in thread: the blocking-scanner objection that flipped the outcome came from a maintainer who never commented here", "reversal after approval: an approving review was withdrawn weeks later without a formal reopen of the question", "coupled decisions: merging hinged on a separate port to rolldown-vite and the next major release timing", "evidence outside the thread: production use of a patched fork and external repro repos carried the argument"]}, "evalUse": "Tests tracking a PR whose approval is reversed on re-review, with the objection coming from someone absent from the thread.", "notes": "Decider is sapphi-red, relaying patak-dev's objection. durationDays counts to the reversal comment on 2025-10-17; the PR was closed 2025-11-27.", "caseId": "vite-optimizer-browserhash-restart", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "vite-node-worker-api", "sources": [{"url": "https://github.com/vitejs/vite/pull/3932", "kind": "pr", "retrievedAt": "2026-10-18T07:24:07.231242+00:00"}], "repo": "vitejs/vite", "domain": "api-design", "title": "Node worker_threads support in Vite", "question": "Should Vite support Node worker_threads natively, and should it reuse the ?worker import or add a dedicated one with dev-mode support?", "questionExplicit": false, "context": "Vite's ?worker import assumes a browser Worker, so Node and Electron builds fail. A 2021 PR extended ?worker for Node targets but stalled for four years.", "options": [{"label": "Extend ?worker for Node targets, build only", "proposedBy": "prathameshnetake", "fate": "rejected"}, {"label": "Widen client worker types to include Node Worker", "proposedBy": "prathameshnetake", "fate": "rejected"}, {"label": "Leave to user-land plugins (e.g. electron-vite)", "proposedBy": "antfu / rxliuli", "fate": "rejected"}, {"label": "New ?nodeWorker query with dev and build support", "proposedBy": "Vite team meeting", "fate": "chosen"}], "criteria": ["not breaking existing TypeScript code", "avoiding a @types/node dependency", "dev and build parity", "clear separation from browser workers", "demand from Node and SSR users"], "participants": {"count": 18, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "core-team", "subQuestions": ["Is bundling Node apps with Vite a supported use case?", "How would dev mode run Node workers?"], "deferred": false, "reopened": false, "superseded": true, "durationDays": 1560, "comments": 49, "reactionsTotal": 60, "decidedOffPlatform": true, "notableMoves": ["type widening dropped after breakage concern", "PR idled for years with user pings", "team meeting set API direction", "author replaced the PR with a fresh one"]}, "outcome": {"decided": true, "decision": "The team welcomed native Node worker support but asked for a separate ?nodeWorker query and dev-mode support; the original PR was closed in favour of a new one.", "how": "maintainer-decision", "rationale": "Keeping Node workers apart from ?worker avoids confusing or breaking browser usage, and a build-only feature is not acceptable.", "dissent": null, "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "The core choice is reuse ?worker versus a new dedicated query, set against dev/build parity.", "secondaryShape": "explore", "fitsFlows": ["build-pr", "settle", "reshape"], "gaps": ["off-platform decision: the direction was set in a team meeting years later and only summarised in the PR", "staged acceptance: welcomed in principle with API conditions, while the implementation moved to a new PR still under review", "superseded by successor: the decision context lives in a closed PR while the work continues in a different one"]}, "evalUse": "Tests recovering the API direction set late in a long-dormant PR and noticing it was decided off-thread.", "notes": "Direction relayed by hi-ogawa after a Vite team meeting. Replacement PR #21160 was open at retrieval.", "caseId": "vite-node-worker-threads", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "astro-define-vars-scripts", "sources": [{"url": "https://github.com/withastro/roadmap/discussions/1246", "kind": "proposal", "retrievedAt": "2026-10-18T07:20:34.034225+00:00"}], "repo": "withastro/roadmap", "domain": "api-design", "title": "Deprecate define:vars on scripts", "question": "Should Astro deprecate and remove `define:vars` on script elements, and does it need an ergonomic replacement first?", "questionExplicit": true, "context": "`define:vars` passes server values into scripts but forces them inline and unprocessed, and blocks planned inline-script and CSP improvements. It is widely used, so removal is breaking.", "options": [{"label": "Deprecate then remove, migrating to data attributes or custom elements", "proposedBy": "maintainer (delucis)", "fate": "chosen"}, {"label": "Keep until a new ergonomic vars API exists", "proposedBy": "contributor (ascorbic)", "fate": "rejected"}, {"label": "Keep and optimise inline scripts around it", "proposedBy": "maintainer (delucis), as considered", "fate": "rejected"}, {"label": "Document a non-custom-element pattern", "proposedBy": "user", "fate": "partly"}, {"label": "Component-scoped element helper", "proposedBy": "user", "fate": "deferred"}], "criteria": ["user confusion", "performance and bundling", "CSP and inline-script roadmap", "migration ergonomics", "breaking-change impact", "web platform over custom API"], "participants": {"count": 6, "roles": ["maintainers", "TSC members", "users"], "decider": "team"}, "process": {"research": "links", "spike": "none", "poll": false, "escalation": "core-team", "subQuestions": ["Does removal unblock #995?", "Which migration pattern should docs recommend?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 362, "comments": 13, "reactionsTotal": 16, "decidedOffPlatform": false, "notableMoves": ["year-long dormancy before a Stage 2 request", "objector converted after learning of `document.currentScript`", "each TSC member approved individually in replies"]}, "outcome": {"decided": true, "decision": "Advance the proposal to Stage 2: plan to deprecate and later remove `define:vars` on scripts, without inventing a replacement API.", "how": "consensus", "rationale": "The feature promotes an inferior inline pattern, blocks CSP and script optimisation, and plain web platform techniques cover the need with little extra code.", "dissent": "An early objection wanted an ergonomic replacement first; it was withdrawn.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Remove-now versus wait-for-replacement, weighed on ergonomics and roadmap unblocking.", "secondaryShape": "check", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["staged acceptance: Stage 2 approves the direction while deprecation and removal span future majors", "per-member approvals: each TSC member's sign-off is a separate reply that the record should tally", "coupled decisions: the outcome is tied to the separate inline-script proposal #995", "decision moved to another thread: further work continues in a new Stage 2 issue"]}, "evalUse": "Tests a staged RFC where an objection is resolved by new information and approvals accumulate.", "notes": "Proposer is delucis; Stage 2 approvers are florian-lefebvre, ematipico and ascorbic.", "caseId": "astro-remove-script-define-vars", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "astro-scripts-only-when-rendered", "sources": [{"url": "https://github.com/withastro/roadmap/discussions/664", "kind": "proposal", "retrievedAt": "2026-10-18T07:20:35.887853+00:00"}], "repo": "withastro/roadmap", "domain": "architecture", "title": "Including component scripts and styles only when rendered", "question": "How should Astro avoid adding a component's scripts and styles to pages that import the component but never render it?", "questionExplicit": true, "context": "Astro decides which hoisted scripts and scoped styles a page needs by static import analysis, so CMS-driven sites that map block types to components ship every mapped component's assets. Runtime alternatives must not require Vite at runtime or hurt streaming.", "options": [{"label": "Middleware that parses the finished HTML and strips unused scripts", "proposedBy": "lilnasy", "fate": "rejected"}, {"label": "Opt-in page flag disabling streaming so assets are tracked through render calls", "proposedBy": "lilnasy", "fate": "rejected"}, {"label": "Build scripts at runtime", "proposedBy": "y-nk", "fate": "rejected"}, {"label": "Build at build time, inject only when the component renders", "proposedBy": "matthewp", "fate": "deferred"}, {"label": "Compiler-inserted propagate call on the page collecting used components' assets", "proposedBy": "lilnasy", "fate": "deferred"}, {"label": "Per-component opt-in to inline stylesheets beside the component", "proposedBy": "forberg", "fate": "rejected"}], "criteria": ["page weight", "streaming and time to first byte", "no Vite at runtime", "backward compatibility via opt-in", "CSS ordering correctness", "implementation complexity under parallel rendering"], "participants": {"count": 7, "roles": ["maintainers", "contributors", "users"], "decider": "unclear"}, "process": {"research": "links", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["Inject a used script once per page or once per use?", "Should styles get the same treatment as scripts?", "Should any opt-in be per file, global, or tied to the prerender flag?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 1147, "comments": 22, "reactionsTotal": 55, "decidedOffPlatform": false, "notableMoves": ["core team ruled out runtime Vite early", "contributor shipped the propagate idea as a third-party integration", "maintainer rejected the styles variant on CSS-ordering grounds", "a maintainer revived the topic three years later with an experimental preview PR"]}, "outcome": {"decided": false, "decision": null, "how": "unclear", "rationale": null, "dissent": null, "confidence": "none", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Several mechanisms compared on streaming, runtime cost and compatibility.", "secondaryShape": "check", "fitsFlows": ["research-or-spike", "ask-teammate", "revisit-reopen"], "gaps": ["experiments as evidence: the most concrete answer was a third-party integration whose results never flowed back into the proposal", "dormant question: the proposal sat with no owner or settle step for three years until a maintainer reopened it with a preview build", "off-platform decision: early objections came from Discord and are only paraphrased in the thread", "coupled decisions: scripts and styles were treated as one question, then split when the maintainer judged styles differently"]}, "evalUse": "Long-running architectural proposal with several mechanisms and no settlement; tests holding open questions.", "notes": "The latest comment links a preview release on withastro/astro PR #18326; its outcome is unknown at retrieval, so implementedIn is empty.", "caseId": "astro-scripts-only-when-rendered", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "astro-inline-script-stage-2", "sources": [{"url": "https://github.com/withastro/roadmap/discussions/995", "kind": "proposal", "retrievedAt": "2026-10-18T07:20:34.856922+00:00"}], "repo": "withastro/roadmap", "domain": "product-behaviour", "title": "Advance inline script processing to Stage 2", "question": "Should Astro process is:inline scripts (TypeScript, minification) without bundling or hoisting them, and advance that idea to Stage 2?", "questionExplicit": true, "context": "Inline scripts ship verbatim today, so authors write terse plain JavaScript to keep payloads small. Later motivations included typed define:vars and automatic CSP hashes.", "options": [{"label": "Process is:inline scripts and add is:raw for untouched output", "proposedBy": "delucis", "fate": "chosen"}, {"label": "Keep is:inline verbatim", "proposedBy": "status quo", "fate": "rejected"}, {"label": "Also process set:html script content", "proposedBy": "spaceemotion", "fate": "rejected"}, {"label": "Processed variables for inline scripts", "proposedBy": "Adammatthiesen", "fate": "deferred"}, {"label": "Render-blocking module scripts instead of inline", "proposedBy": "jakefb", "fate": "deferred"}, {"label": "Ship behind an experimental flag or in a major", "proposedBy": "delucis", "fate": "chosen"}], "criteria": ["authoring experience and TypeScript", "shipped script size", "preserving global script semantics", "CSP support", "breaking-change risk"], "participants": {"count": 10, "roles": ["maintainers", "TSC", "users"], "decider": "vote"}, "process": {"research": "none", "spike": "none", "poll": false, "escalation": "tsc", "subQuestions": ["What happens to src or set:html inline scripts?", "Is it a breaking change?", "Should CSP hashing be a goal?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 790, "comments": 18, "reactionsTotal": 95, "decidedOffPlatform": false, "notableMoves": ["motivation broadened to CSP a year after opening", "three-tier directive split proposed in a reply", "community plugin shipped the feature in the meantime", "TSC members approved Stage 2 in short replies", "discussion moved to a new Stage 2 issue"]}, "outcome": {"decided": true, "decision": "Accepted into Stage 2: pursue processing of inline scripts, likely as a breaking change behind an experimental flag, with CSP support for eligible scripts as a goal.", "how": "vote", "rationale": "Better authoring and smaller output, plus a route to automatic CSP hashes; set:html content cannot be processed at build time.", "dissent": null, "confidence": "stated", "reversibility": "stated-easy", "implementedIn": []}, "chopinFit": {"shape": "explore", "shapeWhy": "An open proposal gathered motivations and edge cases before a gate vote, with no options table.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "settle", "reshape"], "gaps": ["staged acceptance: Stage 2 approves the idea in principle and leaves design to a separate issue", "votes as evidence: steering committee members approve with one-line replies counted as a gate", "thread handoff: settling moved the conversation to a new issue rather than recording an answer here", "long dormancy: the question sat for two years before a sponsor pushed it to a vote"]}, "evalUse": "Tests a staged RFC gate where approval is in principle and scope additions (CSP) ride in at the vote.", "notes": "Moved from provisional product-ui to formal-process because the decision is a staged TSC gate. The discussion closed at the same moment as the announcement, so no after-decision cutoff fits.", "caseId": "astro-inline-script-processing", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-commit-log-graph", "sources": [{"url": "https://github.com/zed-industries/zed/discussions/26511", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:27.939511+00:00"}], "repo": "zed-industries/zed", "domain": "ui-ux", "title": "Commit log and git graph in Zed", "question": "What should Zed's commit history view include and look like: a simple list first, or a full commit graph, and in which visual style?", "questionExplicit": false, "context": "A maintainer filed the feature request with a minimum scope and a list of later extras. Users proposed many reference designs while waiting; a community PR and an official PR both appeared.", "options": [{"label": "Essentials-first official graph with message, author, time, diff, search and decorations", "proposedBy": "JosephTLyons", "fate": "chosen"}, {"label": "GitKraken-style column-aligned graph", "proposedBy": "WoodyWoodsta", "fate": "rejected"}, {"label": "Pluggable graph renderer API", "proposedBy": "kozel-sd", "fate": "rejected"}, {"label": "Merge community PR #39595 or ship it as an extension", "proposedBy": "tediou5", "fate": "rejected"}, {"label": "Minimal commit picker as a stopgap", "proposedBy": "fabianszabo", "fate": "rejected"}, {"label": "Write operations (checkout, rebase, squash) from the graph", "proposedBy": "douglasrizzo", "fate": "deferred"}], "criteria": ["readability of branch history", "scope of a first version", "parity with GitLens/GitKraken", "ability to act on commits"], "participants": {"count": 26, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Which graph visual style?", "Which follow-up actions come next?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 413, "comments": 37, "reactionsTotal": 829, "decidedOffPlatform": true, "notableMoves": ["many competing reference designs posted as screenshots", "community PR left without a team response", "official PR landed with no design rationale posted in thread", "shipping announcement framed the scope as covering the opening list"]}, "outcome": {"decided": true, "decision": "Zed shipped an official read-only git graph covering the opening essentials plus a commit info panel; write actions were promised later.", "how": "maintainer-decision", "rationale": "The shipped scope matched the minimum list in the opening request.", "dissent": "Some users felt the GitKraken layout request was ignored and criticised branch tag placement.", "confidence": "stated", "reversibility": "stated-easy", "implementedIn": ["https://github.com/zed-industries/zed/pull/44434"]}, "chopinFit": {"shape": "explore", "shapeWhy": "An open design space with many reference UIs rather than a fixed option set.", "secondaryShape": "choice", "fitsFlows": ["find", "ask-teammate", "build-pr", "settle"], "gaps": ["off-platform decision: the visual design and the choice of official PR over the community one happened outside the thread", "visual references as evidence: options arrived as screenshots of other tools, with no way to compare them side by side", "votes as evidence: the most upvoted design ask was never acknowledged by the team", "staged acceptance: shipped essentials while deferring write actions to later requests"]}, "evalUse": "Tests whether a model can extract an implied design question and its outcome from a wishlist thread where the deciders barely speak.", "notes": "Decider is the Zed team; the opening and closing maintainer is JosephTLyons.", "caseId": "zed-commit-log-graph", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-git-panel-file-diff", "sources": [{"url": "https://github.com/zed-industries/zed/discussions/33773", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:20.898545+00:00"}], "repo": "zed-industries/zed", "domain": "ui-ux", "title": "Single-file full diff and Git panel click behaviour", "question": "How should a user see a whole file's diff from the Git panel, and should that or the multibuffer be the default click?", "questionExplicit": true, "context": "Zed's Git panel opened a project-wide multibuffer of hunks. Users coming from VS Code wanted one complete file with its changes, ideally side by side.", "options": [{"label": "Rely on existing expand-all-hunks action plus better docs", "proposedBy": "contributor", "fate": "rejected"}, {"label": "Toolbar toggle to turn the multibuffer off", "proposedBy": "user", "fate": "merged"}, {"label": "Dedicated single-file diff view on cmd-click", "proposedBy": "contributor (implementer)", "fate": "chosen"}, {"label": "Make single-file diff the default click", "proposedBy": "users", "fate": "partly"}, {"label": "Default single-file view to full file rather than changes only", "proposedBy": "users via implementer poll", "fate": "chosen"}], "criteria": ["context while reviewing", "parity with VS Code", "discoverability", "keeping the multibuffer for those who like it"], "participants": {"count": 28, "roles": ["staff", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "implementation-pr", "poll": true, "escalation": "none", "subQuestions": ["Full file or changes only by default", "Which click opens which view", "Same view for branch and commit diffs"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 378, "comments": 64, "reactionsTotal": 489, "decidedOffPlatform": false, "notableMoves": ["Workarounds via tasks and a hidden action surfaced before any build", "Community PR merged and shipped behind cmd-click", "Implementer ran an informal reply poll on the default", "Default click made configurable instead of flipped"]}, "outcome": {"decided": true, "decision": "Ship a single-file diff view opened by cmd or ctrl click, show the full file by default, and let users set the Git panel's primary click to open it.", "how": "consensus", "rationale": "Users needed full-file context for review; making the click configurable keeps the multibuffer for those who prefer it.", "dissent": "Several users still want single-file to be the out-of-the-box default.", "confidence": "implied", "reversibility": "stated-easy", "implementedIn": ["https://github.com/zed-industries/zed/pull/56152", "https://github.com/zed-industries/zed/pull/60989"]}, "chopinFit": {"shape": "tune", "shapeWhy": "The core questions were defaults and dials: which view a click opens and whether to show full file or only changes.", "secondaryShape": "choice", "fitsFlows": ["ask-teammate", "settle", "build-pr", "revisit-reopen"], "gaps": ["votes as evidence: the default was settled by a quick poll of reply votes from the implementer", "settled then reshaped: the thread was closed when the first version shipped, but the default-click question kept running after close", "existing-capability check: a hidden existing action partly answered the request, a fact that needed checking before building"]}, "evalUse": "Tests whether an agent separates the shipped view from the later default and setting decisions in one long feature thread.", "notes": "Decider is the Zed team via a community implementer (chirivelli) and staff (JosephTLyons, franciskafyi). durationDays runs to the default-setting reply.", "caseId": "zed-single-file-diff-view", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-file-tree-refresh-approach", "sources": [{"url": "https://github.com/zed-industries/zed/discussions/54150", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:22.198811+00:00"}], "repo": "zed-industries/zed", "domain": "product-behaviour", "title": "Recovering from missed file system events", "question": "When file system notifications fail, should Zed offer a manual file tree refresh, or rely on automatic mechanisms such as polling?", "questionExplicit": true, "context": "Zed refreshes its file tree only from OS file events, which are unreliable on network, cluster and some virtual file systems. Community PRs adding manual refresh had been closed after a staff review.", "options": [{"label": "Manual refresh command or context menu item", "proposedBy": "opener and users", "fate": "rejected"}, {"label": "Per-folder refresh", "proposedBy": "contributor", "fate": "rejected"}, {"label": "Polling file watcher backend", "proposedBy": "linked issue / Zed staff", "fate": "chosen"}, {"label": "Expose refresh to plugins", "proposedBy": "user", "fate": "deferred"}], "criteria": ["coverage of failure modes", "not masking scanning bugs", "resource and power cost", "user retention", "ease of configuration"], "participants": {"count": 26, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should polling be selectable by a setting rather than an environment variable?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 7, "comments": 44, "reactionsTotal": 455, "decidedOffPlatform": false, "notableMoves": ["staff opinion recorded in an earlier PR review governed the thread", "team shipped an alternative mechanism instead of the requested one", "opener closed the discussion while many still objected", "requests to reopen went unanswered and a follow-up discussion was closed"]}, "outcome": {"decided": true, "decision": "Ship a polling watcher backend chosen automatically where needed (or via an environment variable) instead of a manual refresh action.", "how": "maintainer-decision", "rationale": "Staff had argued manual refresh could hide file scanning bugs; polling addresses environments without reliable events.", "dissent": "Users and contributors argued polling misses cases like remote changes on event-capable network file systems and exhausted watch limits, costs power, and that an escape hatch is standard in other editors.", "confidence": "implied", "reversibility": "unknown", "implementedIn": ["https://github.com/zed-industries/zed/pull/54481"]}, "chopinFit": {"shape": "check", "shapeWhy": "The core dispute is whether polling plus watching covers every failure mode, a claim that could be verified.", "secondaryShape": "choice", "fitsFlows": ["find", "research-or-spike", "settle", "revisit-reopen"], "gaps": ["decider not in thread: the staff member whose PR review blocked manual refresh never joined the discussion", "substitute solution: the team answered with a different mechanism and never explicitly settled the original question", "closure by the opener: the thread closed as resolved while most participants still disputed the outcome", "reopen requests ignored: there is no way to record a demand to revisit a settled question", "votes as evidence: hundreds of reactions and repeated duplicates were the main signal of demand"]}, "evalUse": "Tests whether a model separates the requested option from the substitute that actually shipped.", "notes": "ChristopherBiscardi is labelled CONTRIBUTOR but relays the staff position and announces the polling backend, so is treated as a Zed team voice. The governing staff review lives on PR #46291 and was not fetched.", "caseId": "zed-manual-file-tree-refresh", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-threads-sidebar-disable-option", "sources": [{"url": "https://github.com/zed-industries/zed/discussions/55157", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:23.546979+00:00"}], "repo": "zed-industries/zed", "domain": "ui-ux", "title": "Disable option for the agent threads sidebar", "question": "Should Zed let users turn off the new agent threads sidebar independently of AI, or address the friction another way?", "questionExplicit": true, "context": "A new cross-project threads sidebar changed how projects open and took space next to the Agent Panel. It could only be removed by disabling all AI features.", "options": [{"label": "Setting to disable the sidebar on its own", "proposedBy": "opener and users", "fate": "rejected"}, {"label": "Move thread list into the Agent Panel", "proposedBy": "user", "fate": "rejected"}, {"label": "Lightweight thread switcher in the Agent Panel title", "proposedBy": "user", "fate": "rejected"}, {"label": "open_behavior setting for new vs existing window, keep sidebar tied to AI", "proposedBy": "maintainers", "fate": "chosen"}, {"label": "Dock Agent Panel beneath the sidebar / threads above chat", "proposedBy": "users (with fork prototype)", "fate": "deferred"}, {"label": "Replace-in-current-window open mode", "proposedBy": "user", "fate": "deferred"}], "criteria": ["screen space", "muscle memory and familiar window behaviour", "cost of maintaining two thread-navigation surfaces", "information hierarchy across projects and worktrees", "users who use AI lightly"], "participants": {"count": 16, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "none", "spike": "prototype", "poll": false, "escalation": "none", "subQuestions": ["How should opening a project choose between new and existing windows?", "Where should thread navigation live?"], "deferred": false, "reopened": false, "superseded": false, "durationDays": 38, "comments": 42, "reactionsTotal": 315, "decidedOffPlatform": true, "notableMoves": ["team first signalled a disable option was coming, then reversed after internal discussion", "a user built a fork to demonstrate an alternative", "spin-off ideas redirected to a new discussion"]}, "outcome": {"decided": true, "decision": "No standalone disable; add an `open_behavior` setting so projects can default to new windows, make Open in New Window consistent, and keep the sidebar enabled whenever AI is enabled.", "how": "maintainer-decision", "rationale": "Maintaining a second thread-history surface would add too much complexity, and any light switcher would need to handle concurrent threads and worktrees, effectively rebuilding the sidebar.", "dissent": "Users argued that people who use AI only occasionally are left with a space-hungry surface and asked for in-panel or stacked layouts.", "confidence": "stated", "reversibility": "unknown", "implementedIn": []}, "chopinFit": {"shape": "choice", "shapeWhy": "Competing ways to relieve the sidebar friction weighed against maintenance cost and hierarchy.", "secondaryShape": "explore", "fitsFlows": ["ask-teammate", "settle", "research-or-spike", "reshape"], "gaps": ["off-platform decision: the outcome was reached in internal team discussion and only announced in the thread", "reversal before shipping: the team first said a disable option was coming, then decided against it", "votes as evidence: hundreds of reactions on the request were the main pressure signal", "external prototype as evidence: a user's fork demonstrated an alternative the team deferred", "spin-off questions: alternative layouts were moved to a new discussion rather than tracked here"]}, "evalUse": "Tests whether a model can identify the substitute decision and the reversal of an announced plan.", "notes": "macraig is labelled CONTRIBUTOR but speaks for the Zed team and announces decisions, so is treated as a maintainer. Implementing PRs are not linked in the thread.", "caseId": "zed-disable-threads-sidebar", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-hide-title-bar", "sources": [{"url": "https://github.com/zed-industries/zed/discussions/55183", "kind": "discussion", "retrievedAt": "2026-10-18T07:19:24.621057+00:00"}, {"url": "https://github.com/zed-industries/zed/pull/37428", "kind": "pr", "retrievedAt": "2026-10-18T07:19:24.621057+00:00"}, {"url": "https://github.com/zed-industries/zed/pull/42540", "kind": "pr", "retrievedAt": "2026-10-18T07:19:24.621057+00:00"}], "repo": "zed-industries/zed", "domain": "ui-ux", "title": "Let users hide the title and status bars", "question": "Should Zed let users hide the title bar and status bar, and in what form (setting, full-screen only, runtime toggle, Linux only)?", "questionExplicit": true, "context": "Many users find the title and status bars waste vertical space, especially on small screens and tiling window managers. The Zed team wants the title bar for collaboration controls and a planned redesign, and has worried about macOS window controls and users missing important information.", "options": [{"label": "Setting to hide the title bar entirely", "proposedBy": "opener / bgub (contributor PR)", "fate": "rejected"}, {"label": "Hide the title bar only in full screen", "proposedBy": "juliangarnier (user)", "fate": "partly"}, {"label": "Setting to hide the status bar", "proposedBy": "opener", "fate": "partly"}, {"label": "Runtime ToggleTitleBar action plus setting", "proposedBy": "xipeng-jin (contributor)", "fate": "rejected"}, {"label": "Linux-only option for tiling window managers", "proposedBy": "Zed team member in PR review", "fate": "deferred"}, {"label": "Move title bar items into the status bar", "proposedBy": "mcpeng (user)", "fate": "deferred"}, {"label": "Keep the title bar always visible for collaboration and redesign", "proposedBy": "Zed team", "fate": "chosen"}], "criteria": ["vertical screen space", "access to collaboration controls and status information", "macOS traffic-light layout", "fit with a planned title bar redesign", "parity with other editors"], "participants": {"count": 70, "roles": ["maintainers", "contributors", "users"], "decider": "team"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Is the status bar hide (experimental) enough?", "Should hiding be limited to full screen or Linux?"], "deferred": true, "reopened": true, "superseded": false, "durationDays": 1427, "comments": 112, "reactionsTotal": 1844, "decidedOffPlatform": true, "notableMoves": ["the team stance lived in PR reviews linked from the thread", "a contributed setting shipped in a preview and was reverted", "community forks became the de facto workaround", "the issue was converted to a discussion, which users read as closing it", "a team member later said the redesign was dropped and a new PR was opened"]}, "outcome": {"decided": false, "decision": null, "how": "unclear", "rationale": null, "dissent": "Overwhelming user demand for an opt-in hide; users dispute the redesign rationale.", "confidence": "none", "reversibility": "stated-easy", "implementedIn": ["https://github.com/zed-industries/zed/pull/37428"]}, "chopinFit": {"shape": "choice", "shapeWhy": "Several concrete forms of the setting were weighed against screen space, collaboration and platform constraints.", "secondaryShape": "tune", "fitsFlows": ["find", "build-pr", "revisit-reopen", "research-or-spike"], "gaps": ["reversal after shipping: a merged setting appeared in a preview build and was reverted, with the reasons only in PR comments", "off-platform decision: the team's stance was stated in PR reviews, never in this thread", "votes as evidence: over a thousand reactions signal demand but have no formal weight", "blocked on an unseen dependency: the answer hinged on a redesign nobody could see, later reportedly dropped", "decider not in the thread: the core team almost never speaks here, so users argue with an absent decider"]}, "evalUse": "Tests reconstructing a decision history scattered across PRs from a demand thread, and recognising it as still open after a revert.", "notes": "Status as of retrieval: setting reverted; new PR #65671 open. durationDays runs to the last event. Revert PR is #38756.", "caseId": "zed-hide-title-status-bar", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} +{"id": "zed-smooth-scroll-trackpad", "sources": [{"url": "https://github.com/zed-industries/zed/pull/44827", "kind": "pr", "retrievedAt": "2026-10-18T07:21:57.529921+00:00"}], "repo": "zed-industries/zed", "domain": "ui-ux", "title": "Treating already-smooth input in editor smooth scrolling", "question": "How should editor smooth scrolling handle input such as trackpads that may already be smoothed, and what should be configurable?", "questionExplicit": true, "context": "A community PR animated editor scrolling. Review reshaped its structure, and the main open question became trackpad input that felt wrong when smoothed again.", "options": [{"label": "Detect pre-smoothed input at the platform level", "proposedBy": "MrSubidubi", "fate": "rejected"}, {"label": "Infer device from delta size and event frequency", "proposedBy": "seanstrom", "fate": "rejected"}, {"label": "Skip smoothing for precise-delta devices", "proposedBy": "seanstrom", "fate": "rejected"}, {"label": "Best-effort device classifier like VS Code", "proposedBy": "marcocondrache", "fate": "deferred"}, {"label": "Smooth all input with a sensible default and an off switch", "proposedBy": "marcocondrache", "fate": "chosen"}, {"label": "Configurable animation duration", "proposedBy": "marcocondrache", "fate": "rejected"}, {"label": "Explicit instant-or-animated scroll parameter", "proposedBy": "MrSubidubi", "fate": "chosen"}], "criteria": ["reliable across mice and trackpads", "natural trackpad feel", "containment to avoid regressions", "good defaults over settings", "keeping the PR scope manageable"], "participants": {"count": 18, "roles": ["maintainers", "contributors", "users"], "decider": "consensus"}, "process": {"research": "links", "spike": "implementation-pr", "poll": false, "escalation": "none", "subQuestions": ["Should duration be a setting?", "Where should smooth-scroll logic live?", "Should new input restart or continue the easing?", "Should smoothing live in GPUI?"], "deferred": true, "reopened": false, "superseded": false, "durationDays": 187, "comments": 81, "reactionsTotal": 576, "decidedOffPlatform": false, "notableMoves": ["duration setting removed after reviewer cited VS Code", "a structural change split out into a maintainer PR", "maintainer dropped his own detection idea after the author's evidence", "maintainer delegated the final call to the author", "PR closed unmerged after testers kept finding feel issues"]}, "outcome": {"decided": true, "decision": "Drop platform-level detection, smooth all input with sensible defaults and a toggle, and leave a device classifier for a later PR; the PR itself was later closed without merging.", "how": "consensus", "rationale": "Precise deltas do not reliably indicate smoothing, since some mice report them too, so detection would misclassify devices.", "dissent": "A tester argued trackpads should track the finger directly and found the result too inertial; users protested the PR's abandonment.", "confidence": "stated", "reversibility": "implied", "implementedIn": []}, "chopinFit": {"shape": "check", "shapeWhy": "The pivot was whether input smoothing can be detected reliably, settled by evidence about device behaviour.", "secondaryShape": "tune", "fitsFlows": ["work-in-place", "research-or-spike", "ask-teammate", "settle", "revisit-reopen"], "gaps": ["staged acceptance: the classifier was deferred to a later PR that never came because the whole PR was abandoned", "decision outlives implementation: settled design questions lost their home when the PR closed unmerged", "feel-based evidence: testers' videos and subjective reports of scroll feel had no structured place as evidence", "delegated decider: the maintainer handed the final call to the contributor, a role the record does not capture"]}, "evalUse": "Tests recording decisions reached in a PR that was later abandoned, and a check-shaped question about device detection.", "notes": "Decision reached between author marcocondrache and maintainer MrSubidubi; durationDays runs to the 2026-06-19 agreement. Several hidden comments are summarised only as hidden.", "caseId": "zed-smooth-scroll-input-handling", "collector": "local-gh", "fidelity": {"method": "gh-api", "truncated": false}} diff --git a/evals/datasets/decisions-v1/manifest.json b/evals/datasets/decisions-v1/manifest.json new file mode 100644 index 000000000..35bfdaea2 --- /dev/null +++ b/evals/datasets/decisions-v1/manifest.json @@ -0,0 +1,3403 @@ +{ + "version": 1, + "dataset": "decisions-v1", + "partition": "development", + "caseSchemaVersion": 2, + "holdoutCheck": { + "status": "passed", + "checkedAt": "2026-10-19", + "holdouts": 8, + "partitionSnapshot": "dda78480888859ae3eec90846c1263cd28552d05" + }, + "cases": [ + { + "id": "appflowy-dark-mode-palette", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/AppFlowy-IO/AppFlowy/issues/31", + "retrievedAt": "2026-10-18T07:20:50.815119+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/appflowy-dark-mode-palette.json", + "sha256": "04867d2455c3788d9e9871d922c0ba6432b35a6aa22c40eaf848c2aa42a3f762", + "bytes": 12766 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "aspnetcore-mvc-in-shared-framework", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/dotnet/aspnetcore/issues/3755", + "retrievedAt": "2026-10-18T07:35:31.975782+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/aspnetcore-mvc-in-shared-framework.json", + "sha256": "a13e84e74cf8a17fe246acbeaca56ed69dc70ec90afea7692d01e1aef2b94c9c", + "bytes": 37032 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "astro-inline-script-processing", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/withastro/roadmap/discussions/995", + "retrievedAt": "2026-10-18T07:20:34.856922+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision" + }, + "file": { + "path": "cases/astro-inline-script-processing.json", + "sha256": "a3fcd973b99c95bceab9a47030ae63ce97e2722a1a02b29d41c368b64d6fe1d8", + "bytes": 9238 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "astro-remove-script-define-vars", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/withastro/roadmap/discussions/1246", + "retrievedAt": "2026-10-18T07:20:34.034225+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/astro-remove-script-define-vars.json", + "sha256": "97a0a0ef3f611e6d60e532a978cad1bc1c5c0ae49f09a0e09addf4c02e0fb2e9", + "bytes": 7747 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "astro-scripts-only-when-rendered", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/withastro/roadmap/discussions/664", + "retrievedAt": "2026-10-18T07:20:35.887853+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "options-on-table" + }, + "file": { + "path": "cases/astro-scripts-only-when-rendered.json", + "sha256": "f4621becb3b093c7b86dcd90c5774752280a96b63143de83c22d8ee7261cf109", + "bytes": 12527 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "atuin-classic-up-arrow-from-db", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/atuinsh/atuin/issues/798", + "retrievedAt": "2026-10-18T07:35:19.304519+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/atuin-classic-up-arrow-from-db.json", + "sha256": "0ca3eb7e8b85435afb2b72e8d35d00e9a829efac8b04a8e38d80c19f44def110", + "bytes": 21462 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "bat-builtin-pager", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/sharkdp/bat/issues/1053", + "retrievedAt": "2026-10-18T07:34:57.040476+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/bat-builtin-pager.json", + "sha256": "b87bfad034350f8f20af39510fc39109337fc0d94dd2949d62dced49f586aed2", + "bytes": 15146 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "bat-debian-batcat-name", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/sharkdp/bat/issues/2455", + "retrievedAt": "2026-10-18T07:35:01.511207+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/bat-debian-batcat-name.json", + "sha256": "08bf5181266b48c8e973b66c3d7b7fe0ddbb604f59bb9847cd3bf23a452dcd45", + "bytes": 16042 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "crystal-io-argument-position", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/crystal-lang/crystal/issues/5916", + "retrievedAt": "2026-10-18T07:28:49.050097+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/crystal-io-argument-position.json", + "sha256": "b2059ecc6ea792aefc686ff05bcffd25f25e546fc210210c646b0a94160340cb", + "bytes": 22246 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "delta-auto-light-dark-detection", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/dandavison/delta/issues/447", + "retrievedAt": "2026-10-18T07:35:10.590404+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/delta-auto-light-dark-detection.json", + "sha256": "9e9c3a5438008a313b231129aa47bbed1b9b37f4876e7fe27bc99bcf09ad9110", + "bytes": 22030 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "deno-deny-flags-strict-check", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/denoland/deno/pull/19070", + "retrievedAt": "2026-10-18T07:26:37.376617+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "after-decision" + }, + "file": { + "path": "cases/deno-deny-flags-strict-check.json", + "sha256": "6a4f410753ce974a2e6732e7db12dd916feceea34ecb2f495118694d9d89e305", + "bytes": 34176 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "deno-jupyter-rich-display", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/denoland/deno/pull/20337", + "retrievedAt": "2026-10-18T07:26:44.582099+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/deno-jupyter-rich-display.json", + "sha256": "fc4e3ab17f0f39b25e1832c93923e2f95131fa31cf9815c5ab05678cadb612f1", + "bytes": 35117 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "deno-permissions-in-config", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/denoland/deno/issues/12763", + "retrievedAt": "2026-10-18T07:28:14.989356+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/deno-permissions-in-config.json", + "sha256": "b8cef1acb96dca259dbd93fde7bd40738788568f5bb8df71faa21de991a6d48f", + "bytes": 26352 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "deno-typescript-checker-in-rust", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/denoland/deno/issues/5432", + "retrievedAt": "2026-10-18T07:28:06.778259+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/deno-typescript-checker-in-rust.json", + "sha256": "7a56cfdb7db8dddb18983385be33d57b0cb105a6761aa6b8c2dc5637541b38b2", + "bytes": 27199 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "eslint-codemod-replace-migrators", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/eslint/eslint/issues/20442", + "retrievedAt": "2026-10-18T07:28:24.652611+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/eslint-codemod-replace-migrators.json", + "sha256": "d6e043ecc497f4f74e636c543bb487dc78a1f33c3fd243eda58648e17350fca2", + "bytes": 22788 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "eslint-deprecate-formatting-rules", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/eslint/eslint/issues/17522", + "retrievedAt": "2026-10-18T07:28:20.045468+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/eslint-deprecate-formatting-rules.json", + "sha256": "ccdc45c0685e6738b662c2dc26db9cac286853620cbe83e9ec59f043a0342b69", + "bytes": 24185 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "eslint-native-ts-config-flag", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/eslint/eslint/issues/19985", + "retrievedAt": "2026-10-18T07:28:27.741960+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "before-decision", + "c3": "after-decision", + "c4": "options-on-table" + }, + "file": { + "path": "cases/eslint-native-ts-config-flag.json", + "sha256": "96aac7cc48f9f071decae82372e99c1a03b6415fc5e09407c8b59b22a26fae24", + "bytes": 18290 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-arrow-binding-default", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/excalidraw/excalidraw/pull/1899", + "retrievedAt": "2026-10-18T07:21:08.980203+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-arrow-binding-default.json", + "sha256": "13090ba6ebeab22f98bcf261c5a19e4717738a2c40b895c450a93e30a786f8c8", + "bytes": 46602 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-export-dialog-redesign", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/excalidraw/excalidraw/pull/3613", + "retrievedAt": "2026-10-18T07:21:33.632923+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-export-dialog-redesign.json", + "sha256": "53490863816bb12f8030fdaad471978f62e678474fd70219d8086e4810e12270", + "bytes": 29516 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-handwritten-font-search", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/excalidraw/excalidraw/issues/2945", + "retrievedAt": "2026-10-18T07:02:46.312371+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-handwritten-font-search.json", + "sha256": "8d238ce9d3b817662d699c1f69748f10034d2c12b30919fd181375bb4e75c152", + "bytes": 22320 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-new-drawing-button", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/excalidraw/excalidraw/issues/1957", + "retrievedAt": "2026-10-18T07:02:48.939729+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-new-drawing-button.json", + "sha256": "42f6071b23530bdaf16c7de587804429db14c3af417e1cc622298accf4e5fa70", + "bytes": 18615 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-paste-chart-type-choice", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/excalidraw/excalidraw/discussions/2533", + "retrievedAt": "2026-10-18T07:20:16.073854+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-paste-chart-type-choice.json", + "sha256": "367dc2a73e0ce5003c636b8c50d743d6d26f2b2390c9718284b501080d9deaab", + "bytes": 8502 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-web-embeds-design", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/excalidraw/excalidraw/pull/6691", + "retrievedAt": "2026-10-18T07:21:16.768228+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-web-embeds-design.json", + "sha256": "529f9d6f89f2608f037e5d0867c1758660fa2050b4499fb61242a59aa28b2dd0", + "bytes": 38258 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-wheel-zoom-mode", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/excalidraw/excalidraw/discussions/5515", + "retrievedAt": "2026-10-18T07:20:15.285799+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table" + }, + "file": { + "path": "cases/excalidraw-wheel-zoom-mode.json", + "sha256": "922e7b1b79e29fa609de0a83638e6d77541b23c1238d9aeec56226c30ecf2f13", + "bytes": 5916 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "excalidraw-zen-mode-exit", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/excalidraw/excalidraw/pull/1450", + "retrievedAt": "2026-10-18T07:21:25.214665+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/excalidraw-zen-mode-exit.json", + "sha256": "cf595e9a84afa2656c44c80bde581817490b97fd2797032b79c7f310793ec3e3", + "bytes": 30069 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "frontend-section-border-background", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/frontend/discussions/22288", + "retrievedAt": "2026-10-18T07:11:46.882772+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/frontend-section-border-background.json", + "sha256": "b299d24e288208de64c156bee2c6744e50df13f0d0e0a37dd24da8d94e3930b5", + "bytes": 13940 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "fzf-default-opts-file", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/junegunn/fzf/discussions/2528", + "retrievedAt": "2026-10-18T07:35:03.796709+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "before-decision", + "c3": "after-decision" + }, + "file": { + "path": "cases/fzf-default-opts-file.json", + "sha256": "10d0afe7c44561352ddab24b9fb99abf6bfba020ce2ffab2f605acaaf38ea14a", + "bytes": 10830 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "fzf-preview-window", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/junegunn/fzf/issues/587", + "retrievedAt": "2026-10-18T07:35:04.683974+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/fzf-preview-window.json", + "sha256": "cf356de21314e338e07e577edfa8ac41e9a47881af753c6159ce5571a563e7de", + "bytes": 17246 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ghostty-broadcast-groups", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/ghostty-org/ghostty/pull/13745", + "retrievedAt": "2026-10-18T07:26:22.165954+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "options-on-table", + "c2": "before-decision", + "c3": "after-decision" + }, + "file": { + "path": "cases/ghostty-broadcast-groups.json", + "sha256": "49afd7f6e0a5a29c0ef455e0f2fd2ab4a4ba98fec3ccf527362a8c7247047884", + "bytes": 29805 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ghostty-official-snap", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/ghostty-org/ghostty/pull/3931", + "retrievedAt": "2026-10-18T07:26:16.175633+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/ghostty-official-snap.json", + "sha256": "61590509419b2424492e61fc9559f5031a6dcef3257cac634363fc826352858a", + "bytes": 33462 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-cmp-or", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/60204", + "retrievedAt": "2026-10-18T07:30:08.433067+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-cmp-or.json", + "sha256": "8be0ee77c84bf139af19ccc1226550c77f89cee62a030ca6041677235f37a5a4", + "bytes": 36470 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-drop-binary-only-packages", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/28152", + "retrievedAt": "2026-10-18T07:30:31.465919+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-drop-binary-only-packages.json", + "sha256": "455ef9966b151d013fa4d4dd35c4433e36bd09bc214e9cacca176ebf6846a8b2", + "bytes": 33736 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-loopvar-per-iteration", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/60078", + "retrievedAt": "2026-10-18T07:00:45.118123+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-loopvar-per-iteration.json", + "sha256": "1a9686607596922b824a9799b9743d6ed2a4405585e6747ffa08a900f3dc146c", + "bytes": 67174 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-slice-to-array-conversion", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/46505", + "retrievedAt": "2026-10-18T07:30:18.642093+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-slice-to-array-conversion.json", + "sha256": "019d6e5f55dac849622f80aa1507eed2820e2e93a526632559fd1ed1a1e64e54", + "bytes": 35698 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-testing-output-writer", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/59928", + "retrievedAt": "2026-10-18T07:30:35.939718+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-testing-output-writer.json", + "sha256": "ab1626c5bdeb4782b717b8f232f6610729956cb195c8dd3d58abc1ddccc9aaff", + "bytes": 36667 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-try-builtin", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/32437", + "retrievedAt": "2026-10-18T06:59:58.759699+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-try-builtin.json", + "sha256": "aef5b8c0a4fca713c1bab5e9b20ed15b8fae5139a7c4c2b79d3d43881fb1218e", + "bytes": 68288 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-unique-handle", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/62483", + "retrievedAt": "2026-10-18T07:30:12.620768+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-unique-handle.json", + "sha256": "0eed37435646987a931dc191f22502b7e0a55f475c3a86253a6363f4fcd4e764", + "bytes": 36417 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "go-xterm-pluggable-history", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/golang/go/issues/68780", + "retrievedAt": "2026-10-18T07:30:44.388568+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/go-xterm-pluggable-history.json", + "sha256": "7868242e9accaba286476d1844deee94b3cd64339452cdb480d55b3fdd75ec12", + "bytes": 39335 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "godot-object-metadata-fate", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/godotengine/godot/issues/18591", + "retrievedAt": "2026-10-18T07:28:42.623422+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/godot-object-metadata-fate.json", + "sha256": "ce770c529e8be4c07c9e8d3ee4b46cdbce0d4d975619069301cf8d680316d5d0", + "bytes": 36654 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ha-toggle-confirmation", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/frontend/discussions/8905", + "retrievedAt": "2026-10-18T07:11:47.937987+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/ha-toggle-confirmation.json", + "sha256": "fdc80706bde53799c5f2ec12bd6cf1dbb42b7c8c824a7846316778abdbb4bb5b", + "bytes": 17368 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "helix-file-explorer-pr", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/helix-editor/helix/pull/2377", + "retrievedAt": "2026-10-18T07:24:57.765035+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/helix-file-explorer-pr.json", + "sha256": "e8a2059ca8504089693723ab018def111b4884e6e2f6006faea7f6f490164d5e", + "bytes": 35966 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "helix-integrated-terminal", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/helix-editor/helix/issues/1976", + "retrievedAt": "2026-10-18T07:29:24.405468+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision" + }, + "file": { + "path": "cases/helix-integrated-terminal.json", + "sha256": "fcb64798fbd7f1d72c887af016f6971fa01e69c6ee3645e1d8530240a4f9d4d8", + "bytes": 31205 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "helix-persistent-state", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/helix-editor/helix/pull/9143", + "retrievedAt": "2026-10-18T07:24:49.680534+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "options-on-table", + "c2": "after-decision", + "c3": "question-clear", + "c4": "after-decision" + }, + "file": { + "path": "cases/helix-persistent-state.json", + "sha256": "df28619f5154d5d2eeb5502012363cb2d4e73ff5d8ecbb21f4cbaad60c5ac789", + "bytes": 39369 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "helix-picker-file-explorer", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/helix-editor/helix/pull/11285", + "retrievedAt": "2026-10-18T07:25:13.469782+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/helix-picker-file-explorer.json", + "sha256": "d2f56ba9898a20036ae4f5dd1ba8e4f349cb29000092c9bf9b1e8432ebce7cfa", + "bytes": 39977 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-choose-branch-syntax", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/378", + "retrievedAt": "2026-10-18T07:19:10.775658+00:00", + "relatedUrls": [ + "https://github.com/home-assistant/core/pull/37818" + ], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-choose-branch-syntax.json", + "sha256": "7c18707534094259564c4cd1d0149044ba2dface9fca427022a282d2aced3685", + "bytes": 45596 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-device-ip-mac-display", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/717", + "retrievedAt": "2026-10-18T07:11:45.574165+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "options-on-table" + }, + "file": { + "path": "cases/home-assistant-device-ip-mac-display.json", + "sha256": "a6d52a4430c9579bee922f511860d89acc523241f21fa4365a76bae4d1b102d1", + "bytes": 23160 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-entity-name-editing", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/1185", + "retrievedAt": "2026-10-18T07:19:03.921825+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-entity-name-editing.json", + "sha256": "56425aec4a0ac7a8af9065e295bc63df9151172c3a8774f9bf08b02c48a0127a", + "bytes": 28750 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-event-entity", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/929", + "retrievedAt": "2026-10-18T07:19:07.387256+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-event-entity.json", + "sha256": "3f5f98e131ffa5df4ce8f1cf0ed9d435dcfa7dcaad69f20a06e8e60a88ffbf57", + "bytes": 38375 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-fan-speed-percentage", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/127", + "retrievedAt": "2026-10-18T07:19:17.229783+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-fan-speed-percentage.json", + "sha256": "da8112787d6403cef6d45af945da4d4bb7fdeba44734de467b4d4de49add7b55", + "bytes": 29411 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-last-changed-restart", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/230", + "retrievedAt": "2026-10-18T07:19:14.186756+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-last-changed-restart.json", + "sha256": "bb0938e4a377c6662a72ec8c60dfd875b7a490aebc3b04404faa7833d981d1b6", + "bytes": 20574 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-lawn-mower-entity", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/894", + "retrievedAt": "2026-10-18T07:19:08.491708+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-lawn-mower-entity.json", + "sha256": "440b26ad4d3af4a579ab30ec8d14f0570406d77b84c43f7ab70f85e024a7e62e", + "bytes": 26726 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-network-interface-binding", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/509", + "retrievedAt": "2026-10-18T07:19:06.290479+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-network-interface-binding.json", + "sha256": "ea8aff39e9db2fe96ee331f0b6397a8b5c27db861db3980de5e156c50ead756d", + "bytes": 28766 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-numeric-state-unavailable", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/668", + "retrievedAt": "2026-10-18T07:19:05.302738+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-numeric-state-unavailable.json", + "sha256": "b00bd4c0095e04358e7f53b78af859d5d6cf2fbc07b2991a2568f5e661018c95", + "bytes": 24960 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-require-code-owner", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/287", + "retrievedAt": "2026-10-18T07:27:40.229751+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-require-code-owner.json", + "sha256": "dba5fb3f1a6020ffbdeadfd347f80167d367fb98118a2f62e02e2ca29e577a4b", + "bytes": 20643 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "home-assistant-zwave-js-switch", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/483", + "retrievedAt": "2026-10-18T07:27:34.354470+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/home-assistant-zwave-js-switch.json", + "sha256": "cbe5623f78684406edabc6820c50b98302804b42064657861a8d4dd134dce92c", + "bytes": 23623 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "homeassistant-addons-to-apps", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/1287", + "retrievedAt": "2026-10-18T07:18:59.823484+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/homeassistant-addons-to-apps.json", + "sha256": "0550c626ec96395f02b6617f7ce0fa595e53c01693667ae6adaae025546666e5", + "bytes": 39346 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "homeassistant-floors-vs-nested-areas", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/1021", + "retrievedAt": "2026-10-18T07:19:02.025609+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/homeassistant-floors-vs-nested-areas.json", + "sha256": "3a77999b9c231b0cb687aa26801b4bd4bf3f05b7dbc7bbce10423d1f9de1470f", + "bytes": 48222 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "homeassistant-release-cycle", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/home-assistant/architecture/issues/192", + "retrievedAt": "2026-10-18T07:27:45.463455+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/homeassistant-release-cycle.json", + "sha256": "4cfa8ee67ff081eb8dd9b467ac866406ed8de7bfd8aad6d7ae016c431725f6b0", + "bytes": 20372 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "homeassistant-template-delay-ui", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/home-assistant/architecture/discussions/1340", + "retrievedAt": "2026-10-18T07:11:41.465649+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/homeassistant-template-delay-ui.json", + "sha256": "a476242c838eddb34a4d1528471899e207df42e9036c9a829ce095c6071e7201", + "bytes": 9453 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "just-format-string-interpolation", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/casey/just/issues/11", + "retrievedAt": "2026-10-18T07:34:33.121135+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/just-format-string-interpolation.json", + "sha256": "baa09c155fb902bff46f012d7d0cfbb38ced71cc29e5a2c972fadc66f28327c4", + "bytes": 20506 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "just-parallel-dependencies", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/casey/just/issues/626", + "retrievedAt": "2026-10-18T07:34:26.346426+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/just-parallel-dependencies.json", + "sha256": "f038b9804b428df8e2b3f6cd0da35c7aa4eb40072bdad27b78c2eaf5468d9026", + "bytes": 29696 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "just-telemetry-hooks", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/casey/just/discussions/2934", + "retrievedAt": "2026-10-18T07:34:37.015790+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision" + }, + "file": { + "path": "cases/just-telemetry-hooks.json", + "sha256": "0175ff083c8ff44138c9bfc48acd24468beac6a3a42a6eba984c031af83e370a", + "bytes": 6125 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "lazygit-worktree-ux", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/jesseduffield/lazygit/discussions/2803", + "retrievedAt": "2026-10-18T07:35:23.230693+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "after-decision" + }, + "file": { + "path": "cases/lazygit-worktree-ux.json", + "sha256": "51255e9e1e0a6256ce83e92260fccb7714400fe0697172311c086d4b2061f72a", + "bytes": 11488 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "logseq-hierarchy-above-backlinks", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/logseq/logseq/discussions/5115", + "retrievedAt": "2026-10-18T07:11:49.075834+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table" + }, + "file": { + "path": "cases/logseq-hierarchy-above-backlinks.json", + "sha256": "dc16ae166024d28587631f4587b837a9994ffb95532b6491f185d7ff1b52ec9e", + "bytes": 6146 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "mastodon-browse-remote-local-timeline", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/mastodon/mastodon/issues/1053", + "retrievedAt": "2026-10-18T07:20:46.364884+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/mastodon-browse-remote-local-timeline.json", + "sha256": "3e3138b9420e55b468b951c56c538e562f97cb7114c27bf733e9402fa0beedb7", + "bytes": 29523 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "mastodon-local-only-posts", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/mastodon/mastodon/issues/861", + "retrievedAt": "2026-10-18T07:20:40.698297+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "options-on-table" + }, + "file": { + "path": "cases/mastodon-local-only-posts.json", + "sha256": "d3bbc60d6de0a0fcfcc41161b7cf956eb20d8da15de25a362fa5ef42363cad62", + "bytes": 43273 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "mastodon-quote-toots", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/mastodon/mastodon/issues/12753", + "retrievedAt": "2026-10-18T07:02:20.634890+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/mastodon-quote-toots.json", + "sha256": "cc49f3ad369533d46746e495a466f61ad7ae0697774084a83df462348da563f9", + "bytes": 19625 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "mastodon-toot-text-formatting", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/mastodon/mastodon/issues/853", + "retrievedAt": "2026-10-18T07:20:36.622112+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/mastodon-toot-text-formatting.json", + "sha256": "898fc7f41f4370c34c4a75975895657d52ee69d9a20de507964ec9fb5a5188fb", + "bytes": 34950 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nextjs-app-router-file-conventions", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/vercel/next.js/discussions/37136", + "retrievedAt": "2026-10-18T07:35:55.684501+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/nextjs-app-router-file-conventions.json", + "sha256": "523d6b2d00101f78728a28e9c424a76b9ff591fbe01a470591d0909c7651c7e9", + "bytes": 67291 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nextjs-forbidden-unauthorized-rfc", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/vercel/next.js/discussions/73753", + "retrievedAt": "2026-10-18T07:20:00.753718+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table" + }, + "file": { + "path": "cases/nextjs-forbidden-unauthorized-rfc.json", + "sha256": "d6ea0b201b3127f4942b7d09ebb58014c05d94ac180deaee050735b125d891b5", + "bytes": 22044 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nextjs-global-css-imports-rfc", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/vercel/next.js/discussions/27953", + "retrievedAt": "2026-10-18T07:19:56.113465+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/nextjs-global-css-imports-rfc.json", + "sha256": "e64fe59c7a6969a273edce16715d82ff2efec8258fa1d3fa0eaa3039ea60dcfa", + "bytes": 33420 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nextjs-strict-csp-support", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/vercel/next.js/pull/4943", + "retrievedAt": "2026-10-18T07:23:20.800105+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/nextjs-strict-csp-support.json", + "sha256": "f8f993e3631d554c8f853cfe609016d4a8a02c340828a9133c8caed7e16ab940", + "bytes": 53496 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "node-incomingmessage-autodestroy", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/nodejs/node/pull/33035", + "retrievedAt": "2026-10-18T07:26:02.258094+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "options-on-table", + "c2": "before-decision", + "c3": "after-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/node-incomingmessage-autodestroy.json", + "sha256": "fa048fe9e3157333b0524def6851fe2689051ea388cc56e46c92c03d4132b5f9", + "bytes": 51547 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "node-rm-windows-eperm", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/nodejs/node/pull/38810", + "retrievedAt": "2026-10-18T07:25:53.244474+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/node-rm-windows-eperm.json", + "sha256": "b5bb4ae65562fc3d3673ae6ccdfbbee0c1ff771869c712e9c38293ff9127e287", + "bytes": 42838 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nodejs-remove-primordials", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/nodejs/TSC/issues/1438", + "retrievedAt": "2026-10-18T07:33:15.072420+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/nodejs-remove-primordials.json", + "sha256": "82275516ee48756bdb7ac8fdf035988e31f8d84fed905bb11568ec194c6d1a44", + "bytes": 31790 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "nodejs-tsc-yarn-corepack-vote", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/nodejs/TSC/issues/1012", + "retrievedAt": "2026-10-18T07:33:11.421003+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/nodejs-tsc-yarn-corepack-vote.json", + "sha256": "808ef3e4d17d7cd7ca0ea0b9c7eb98aa6ab64f0dae3130611f7efc681a79be59", + "bytes": 25002 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "outline-database-board-views", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/outline/outline/discussions/3440", + "retrievedAt": "2026-10-18T07:20:31.420671+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "before-decision", + "c3": "after-decision", + "c4": "options-on-table" + }, + "file": { + "path": "cases/outline-database-board-views.json", + "sha256": "42beca6e0fed84ed6e58e1aa3ee858b89462a760bf13acc34a4b2980a634407e", + "bytes": 18876 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "outline-document-tags", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/outline/outline/discussions/2256", + "retrievedAt": "2026-10-18T07:20:28.529082+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "after-decision", + "c3": "options-on-table" + }, + "file": { + "path": "cases/outline-document-tags.json", + "sha256": "c6471deeda10cefdf1749d1a3edbbe194869f0ad29f06cec6af76c5ab2d3dfeb", + "bytes": 13361 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "outline-raw-markdown-mode", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/outline/outline/discussions/3326", + "retrievedAt": "2026-10-18T07:11:50.222678+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "before-decision", + "c2": "after-decision", + "c3": "options-on-table" + }, + "file": { + "path": "cases/outline-raw-markdown-mode.json", + "sha256": "f0323851e4b287554521003d61a0e00d9a277fc549b46ae8b258998745bb6403", + "bytes": 13386 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "penpot-desktop-app", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/penpot/penpot/discussions/475", + "retrievedAt": "2026-10-18T07:20:27.035518+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/penpot-desktop-app.json", + "sha256": "840a4989ac78df5be7db6f949066fc9ed2c3e2b5eb11b305b034fc98a0903ca1", + "bytes": 24254 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "pnpm-package-manager-strict-default", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/pnpm/pnpm/issues/8087", + "retrievedAt": "2026-10-18T07:27:51.818990+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/pnpm-package-manager-strict-default.json", + "sha256": "b4ead5a06b7e34988abad6da576cc92ee38ee6d8a704ea16cc0831e6c56aacf8", + "bytes": 20376 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "pnpm-pre-post-scripts", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/pnpm/pnpm/issues/2891", + "retrievedAt": "2026-10-18T07:27:47.886110+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "after-decision", + "c3": "options-on-table", + "c4": "before-decision" + }, + "file": { + "path": "cases/pnpm-pre-post-scripts.json", + "sha256": "49faf26ab5ee4c5a0df7ec7a5750b38e2b6f26d193d220c21b77a6c2d896e877", + "bytes": 25757 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "prettier-final-newline-option", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/prettier/prettier/issues/6360", + "retrievedAt": "2026-10-18T07:29:04.610813+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "before-decision", + "c3": "after-decision", + "c4": "options-on-table" + }, + "file": { + "path": "cases/prettier-final-newline-option.json", + "sha256": "bc367029aba1afd5004c2accba99c9424dcebd234a7e8cd50f144bf171443e7d", + "bytes": 35829 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "prettier-generator-star-revert", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/prettier/prettier/issues/7512", + "retrievedAt": "2026-10-18T07:35:29.051289+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/prettier-generator-star-revert.json", + "sha256": "453b635b5424e5e6e0df4addefc6254a90b82c45c8e5de498df4f10541d49367", + "bytes": 34443 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "prettier-nested-ternaries", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/prettier/prettier/issues/9561", + "retrievedAt": "2026-10-18T07:35:39.700810+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/prettier-nested-ternaries.json", + "sha256": "1f06245b8a88ce8b4daaf2921b51c54b7147006c15d26ce3429c573462a7f2cf", + "bytes": 42688 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rfcs-abort-by-default", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/1759", + "retrievedAt": "2026-10-18T07:31:56.948960+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rfcs-abort-by-default.json", + "sha256": "1f9d20164dae2a19489524cefadf80a8c55049e17ca2591c12b3d610cfd252bd", + "bytes": 37602 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rfcs-bool-to-option-methods", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/2180", + "retrievedAt": "2026-10-18T07:31:43.661364+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rfcs-bool-to-option-methods.json", + "sha256": "a795e18574f8e71bd7f2792472abdd5413c4b1b0b644ff0a943087fd7a73af0f", + "bytes": 39436 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rfcs-crate-changelogs", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/2129", + "retrievedAt": "2026-10-18T07:31:26.303846+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rfcs-crate-changelogs.json", + "sha256": "ede0efa12416d6113ecd52fab78cfaa1bc966595b1ecb1b8a7f1c404c6a40253", + "bytes": 36218 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rfcs-derive-from-single-field", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/3809", + "retrievedAt": "2026-10-18T07:32:02.801726+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rfcs-derive-from-single-field.json", + "sha256": "647184b52d35de8005e67093ba3a9602a4c1c88f8a436ac6e6a0ef7ec22bac8f", + "bytes": 43544 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ripgrep-built-in-pager", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/BurntSushi/ripgrep/issues/86", + "retrievedAt": "2026-10-18T07:34:37.711589+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/ripgrep-built-in-pager.json", + "sha256": "d83ecdadd4cba2600a741866633e6575ca3de615e7b462390dbabf107fdd5d3d", + "bytes": 30125 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ripgrep-file-hyperlinks", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/BurntSushi/ripgrep/issues/665", + "retrievedAt": "2026-10-18T07:34:48.647898+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/ripgrep-file-hyperlinks.json", + "sha256": "476428ad7eb3c17f6e2f6dc4c9866714fcc54aff82721884ff34cd5cf54b4af4", + "bytes": 26501 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "ripgrep-max-columns", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/BurntSushi/ripgrep/issues/129", + "retrievedAt": "2026-10-18T07:34:45.722882+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/ripgrep-max-columns.json", + "sha256": "c1553dcc25954d71316085d89df5a86e4287f980883d81772018fbc43c831080", + "bytes": 28087 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rust-analyzer-proc-macro-syntax-fixup", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/rust-lang/rust-analyzer/issues/11014", + "retrievedAt": "2026-10-18T07:28:31.402863+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rust-analyzer-proc-macro-syntax-fixup.json", + "sha256": "33805c3023e032d9b5b4dc50f6f6b00e5d7939ee6dd4ad6ec271e2808774c980", + "bytes": 18989 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rust-analyzer-upstream-inlay-hints", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "eng-issue", + "sourceUrl": "https://github.com/rust-lang/rust-analyzer/issues/2797", + "retrievedAt": "2026-10-18T07:28:34.549592+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rust-analyzer-upstream-inlay-hints.json", + "sha256": "32e9a9cac1b3dd4d14f7d120606c1425a2f5e00751c0325f6e0f1f4ad3f9e0ff", + "bytes": 16757 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rust-cargo-feature-docs", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/3485", + "retrievedAt": "2026-10-18T07:31:37.127676+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rust-cargo-feature-docs.json", + "sha256": "74dbbcf6452c3063d7912c2347d3698eccbc83bef30f03d8b92c2977c5c151d5", + "bytes": 40055 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "rust-check-cfg-rfc", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/rust-lang/rfcs/pull/3013", + "retrievedAt": "2026-10-18T07:32:11.108967+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/rust-check-cfg-rfc.json", + "sha256": "4d832e36d94e745264ec0d2a3314e66cedca02943f6212e76fe4b48e880e57c0", + "bytes": 39721 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "svelte-create-raw-snippet-shape", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/sveltejs/svelte/pull/12409", + "retrievedAt": "2026-10-18T07:23:36.509493+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/svelte-create-raw-snippet-shape.json", + "sha256": "d03acd1014924ea37a379df0863daf8e9e5c7fdee083d255fd3a02ffa15bdc4f", + "bytes": 36190 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "svelte-css-nesting-approach", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/sveltejs/svelte/pull/9549", + "retrievedAt": "2026-10-18T07:23:46.860789+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/svelte-css-nesting-approach.json", + "sha256": "a1e5caca60293557d9f0144c22f0d2054dff7f377914a3d1bfaa3c22504890c4", + "bytes": 27915 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "svelte-dynamic-element-attr", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/sveltejs/svelte/pull/5481", + "retrievedAt": "2026-10-18T07:23:55.771302+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/svelte-dynamic-element-attr.json", + "sha256": "0e4464b04ac6d94ee3b10e3a6791132d14c315d30d769ca3bf2c6247d1154320", + "bytes": 26375 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "tailwindcss-prettier-whitespace-dedupe", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/tailwindlabs/tailwindcss/discussions/7560", + "retrievedAt": "2026-10-18T07:20:07.937703+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/tailwindcss-prettier-whitespace-dedupe.json", + "sha256": "b8b5bff3b22e0b57c3de20f3916e9e35d806a5a9b6aa9e6feae0f0f7a85b6e18", + "bytes": 34902 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "tailwindcss-variant-grouping", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/tailwindlabs/tailwindcss/discussions/11701", + "retrievedAt": "2026-10-18T07:20:10.242009+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/tailwindcss-variant-grouping.json", + "sha256": "52e55bbc3913bd33df8157a97c5cdc670926f4c46bfab614b6fdbe8e1c6a30e5", + "bytes": 34859 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "tc39-import-reflection-extensible-syntax", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/tc39/proposal-source-phase-imports/issues/18", + "retrievedAt": "2026-10-18T07:32:47.831632+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/tc39-import-reflection-extensible-syntax.json", + "sha256": "486995f70a14cc6ab3d236279d1a6d43455cef7c31f4abbd7541a82f1de202e4", + "bytes": 35315 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "tsc-primordials-error-path-vote", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "formal-process", + "sourceUrl": "https://github.com/nodejs/TSC/issues/1104", + "retrievedAt": "2026-10-18T07:33:04.394895+00:00", + "relatedUrls": [ + "https://github.com/nodejs/TSC/pull/1158" + ], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/tsc-primordials-error-path-vote.json", + "sha256": "7e35cd56067ac824034bb1a8df74be381bd6e5b4eac75387abc6bfea2cdc90aa", + "bytes": 50591 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "typescript-node12-esm-mode", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/microsoft/TypeScript/pull/44501", + "retrievedAt": "2026-10-18T07:25:35.775255+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/typescript-node12-esm-mode.json", + "sha256": "586139a0cb550d46518bccda931e47b065cc2a984ce73d6987a4be253de39fa6", + "bytes": 44740 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "uuid6-alt-text-encoding", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/uuid6/new-uuid-encoding-techniques-ietf-draft/issues/3", + "retrievedAt": "2026-10-18T07:35:36.576120+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/uuid6-alt-text-encoding.json", + "sha256": "12e6130b6992c13dd169c57aab864c4d467fb259bff46271de864ed5e63ae479", + "bytes": 51443 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "uv-named-explicit-indexes", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/astral-sh/uv/pull/7481", + "retrievedAt": "2026-10-18T07:26:30.340037+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/uv-named-explicit-indexes.json", + "sha256": "a8a20830fe2d50f94084c20d742c4b34055aad5f6dd2ba905d564ba55ec44c16", + "bytes": 32155 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vite-lib-auto-externalize-deps", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/vitejs/vite/pull/10632", + "retrievedAt": "2026-10-18T07:24:14.097739+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vite-lib-auto-externalize-deps.json", + "sha256": "3dbfcb3adb35b66cfa30bbb6f4a913a4f167ca5c64eabc80349891bc65a512e5", + "bytes": 16389 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vite-node-worker-threads", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/vitejs/vite/pull/3932", + "retrievedAt": "2026-10-18T07:24:07.231242+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vite-node-worker-threads.json", + "sha256": "4d01bbea85878ea567d320632128c73f7024b1c890e59e88596f111c59c1febb", + "bytes": 21490 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vite-optimizer-browserhash-restart", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/vitejs/vite/pull/20609", + "retrievedAt": "2026-10-18T07:24:19.484868+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vite-optimizer-browserhash-restart.json", + "sha256": "7010b19e2c3ca140573ef28fc1a486a3c4167e3e7bff7d8d3ba3e300e456c69d", + "bytes": 20391 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-centered-editor-layout", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/15684", + "retrievedAt": "2026-10-18T07:19:37.866245+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-centered-editor-layout.json", + "sha256": "0e711e0d52becfda2246701140a28b6842eebadceb39e01b269cfa7280ffb53d", + "bytes": 29854 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-completion-label-details", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/39441", + "retrievedAt": "2026-10-18T07:19:44.221446+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-completion-label-details.json", + "sha256": "261c4b5aeb4ace45bb1a52921ca38923ce6ffed36bd044f2ce27513cadfbf6d8", + "bytes": 26442 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-dim-unfocused-views", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/30522", + "retrievedAt": "2026-10-18T07:19:29.342140+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "options-on-table", + "c2": "before-decision", + "c3": "after-decision", + "c4": "before-decision" + }, + "file": { + "path": "cases/vscode-dim-unfocused-views.json", + "sha256": "dd40608a46d3bc424104cb9d9a438e3122971fa59346c0bbd29f36666a000c7e", + "bytes": 33672 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-fixed-width-tabs", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/microsoft/vscode/pull/181729", + "retrievedAt": "2026-10-18T07:26:59.903031+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-fixed-width-tabs.json", + "sha256": "505325071302a96d86ca9d2f847827a157d83eac36d9e955b7bb92ff14f35b29", + "bytes": 34733 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-modern-ui-classic-removal", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/334285", + "retrievedAt": "2026-10-18T07:02:35.992461+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "options-on-table" + }, + "file": { + "path": "cases/vscode-modern-ui-classic-removal.json", + "sha256": "49051212112c6f45df6be203255418d34c4e63b73f6c6259122f1c52b3c9dc74", + "bytes": 47244 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-modern-ui-default-optin", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/330693", + "retrievedAt": "2026-10-18T07:02:33.211966+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision" + }, + "file": { + "path": "cases/vscode-modern-ui-default-optin.json", + "sha256": "18bf88a1a6a05bf68efffa7af6d2e5b986da742a44e1529fb76a4b1060e0fce1", + "bytes": 8556 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-modern-ui-default", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "open-choice", + "sourceUrl": "https://github.com/microsoft/vscode/issues/326328", + "retrievedAt": "2026-10-18T07:35:24.400218+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-modern-ui-default.json", + "sha256": "b932562b55832a55033ddea845a8a273056a4d41d4b62b4c9c56c07227d9bb23", + "bytes": 21120 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-pinned-tab-sizing", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/98161", + "retrievedAt": "2026-10-18T07:02:28.318269+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-pinned-tab-sizing.json", + "sha256": "fc074a475fdc47f3edc1d96fb39037363f4d394b1f247b2569220c7d15eb115a", + "bytes": 27949 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-quick-open-eager-preview", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/8939", + "retrievedAt": "2026-10-18T07:19:48.278981+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-quick-open-eager-preview.json", + "sha256": "6d92e65d4e9ae76098e2922d945bdef1b7f09743a85852b1e81d02b0ed561b87", + "bytes": 34585 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-scm-single-view-backlash", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/microsoft/vscode/issues/102118", + "retrievedAt": "2026-10-18T07:19:33.830459+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-scm-single-view-backlash.json", + "sha256": "5e6dcb1c05353bea1d8677fe3c732c524a20c07dd22156aa186dd6198f4e39c9", + "bytes": 30989 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "vscode-windows-custom-titlebar", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/microsoft/vscode/pull/39972", + "retrievedAt": "2026-10-18T07:26:52.092607+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/vscode-windows-custom-titlebar.json", + "sha256": "bc614b2e0cf738efaa111271e3443b6e6a8bdf12d9c7de36acafce6926141d2f", + "bytes": 32708 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-commit-log-graph", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/zed-industries/zed/discussions/26511", + "retrievedAt": "2026-10-18T07:19:27.939511+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "options-on-table", + "c2": "before-decision", + "c3": "after-decision" + }, + "file": { + "path": "cases/zed-commit-log-graph.json", + "sha256": "9ebb7d4e2a829b26c95c48bce8d4888eeac39bf09cb5eb637026f611a1b801b5", + "bytes": 17639 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-disable-threads-sidebar", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/zed-industries/zed/discussions/55157", + "retrievedAt": "2026-10-18T07:19:23.546979+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/zed-disable-threads-sidebar.json", + "sha256": "e2d3de99854196d16219b5d5e5e48be45823d61c5c45b778ab9e77325312f967", + "bytes": 19814 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-hide-title-status-bar", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/zed-industries/zed/discussions/55183", + "retrievedAt": "2026-10-18T07:19:24.621057+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/zed-hide-title-status-bar.json", + "sha256": "db77ad3cf41752e46ebd98c551f7c7727ba25e6b42181d68daaaf1792a4e15ba", + "bytes": 48931 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-manual-file-tree-refresh", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/zed-industries/zed/discussions/54150", + "retrievedAt": "2026-10-18T07:19:22.198811+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/zed-manual-file-tree-refresh.json", + "sha256": "796c016ec59dad0a3a21e8209106a776a31222b057a9e9d88e585d3476b3d3da", + "bytes": 20589 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-single-file-diff-view", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "product-ui", + "sourceUrl": "https://github.com/zed-industries/zed/discussions/33773", + "retrievedAt": "2026-10-18T07:19:20.898545+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/zed-single-file-diff-view.json", + "sha256": "7620b1337f29c0369c317a51995f630ccdebc4c5d96c74b366223ef26091eef7", + "bytes": 27699 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zed-smooth-scroll-input-handling", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "pr-debate", + "sourceUrl": "https://github.com/zed-industries/zed/pull/44827", + "retrievedAt": "2026-10-18T07:21:57.529921+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "after-decision" + }, + "file": { + "path": "cases/zed-smooth-scroll-input-handling.json", + "sha256": "ce16745adb53b49a0ab9792cc2cc69aa6d85787734d96e0c3f6cc9e7687bf187", + "bytes": 38650 + }, + "reuse": "attributed-paraphrase" + }, + { + "id": "zoxide-fish-cd-alias-recursion", + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": "small-team", + "sourceUrl": "https://github.com/ajeetdsouza/zoxide/issues/145", + "retrievedAt": "2026-10-18T07:35:06.752010+00:00", + "relatedUrls": [], + "checkpoints": [ + "c1", + "c2", + "c3", + "c4" + ], + "checkpointPurposes": { + "c1": "question-clear", + "c2": "options-on-table", + "c3": "before-decision", + "c4": "after-decision" + }, + "file": { + "path": "cases/zoxide-fish-cd-alias-recursion.json", + "sha256": "f61b4075ff4e5fa3e6e6e50ae3b0d0a2f2d808a12d707c00fdba567ec9b7919b", + "bytes": 11159 + }, + "reuse": "attributed-paraphrase" + } + ] +} diff --git a/evals/datasets/decisions-v1/stats.json b/evals/datasets/decisions-v1/stats.json new file mode 100644 index 000000000..40dbb1522 --- /dev/null +++ b/evals/datasets/decisions-v1/stats.json @@ -0,0 +1,294 @@ +{ + "decisions": 132, + "cases": 127, + "byQuota": { + "product-ui": 35, + "pr-debate": 26, + "formal-process": 24, + "eng-issue": 20, + "open-choice": 11, + "small-team": 11 + }, + "byDomain": { + "ui-ux": 32, + "product-behaviour": 22, + "api-design": 22, + "architecture": 11, + "compatibility": 8, + "language-design": 8, + "data-model": 8, + "process-governance": 6, + "tooling": 5, + "naming": 5, + "security": 3, + "infra": 1, + "dependency": 1 + }, + "byOutcomeHow": { + "maintainer-decision": 78, + "consensus": 18, + "fcp": 12, + "default/no-action": 10, + "abandoned": 7, + "unclear": 4, + "vote": 3 + }, + "decidedShare": 0.886, + "shapeDistribution": { + "choice": 93, + "mixed": 11, + "check": 11, + "explore": 10, + "tune": 7 + }, + "secondaryShapeDistribution": { + "explore": 33, + "check": 32, + "choice": 30, + "tune": 22 + }, + "flowDistribution": { + "settle": 114, + "ask-teammate": 99, + "build-pr": 76, + "revisit-reopen": 55, + "research-or-spike": 54, + "work-in-place": 50, + "reshape": 38, + "find": 35 + }, + "topGapClusters": [ + { + "gap": "off-platform decision", + "decisions": 55, + "share": 0.417, + "examples": [ + "uv-named-explicit-indexes", + "deno-permissions-in-config", + "deno-deny-flags-strict-check", + "deno-jupyter-rich-display", + "aspnetcore-mvc-in-shared-framework" + ] + }, + { + "gap": "staged acceptance", + "decisions": 54, + "share": 0.409, + "examples": [ + "appflowy-dark-mode-palette", + "ripgrep-max-columns", + "atuin-classic-up-arrow-from-db", + "just-parallel-dependencies", + "crystal-io-argument-position" + ] + }, + { + "gap": "votes as evidence", + "decisions": 53, + "share": 0.402, + "examples": [ + "appflowy-dark-mode-palette", + "ripgrep-built-in-pager", + "atuin-classic-up-arrow-from-db", + "just-telemetry-hooks", + "just-parallel-dependencies" + ] + }, + { + "gap": "coupled decisions", + "decisions": 51, + "share": 0.386, + "examples": [ + "appflowy-dark-mode-palette", + "ripgrep-max-columns", + "uv-named-explicit-indexes", + "just-format-string-interpolation", + "deno-typescript-checker-in-rust" + ] + }, + { + "gap": "decider not in thread", + "decisions": 46, + "share": 0.348, + "examples": [ + "appflowy-dark-mode-palette", + "deno-permissions-in-config", + "deno-typescript-checker-in-rust", + "deno-deny-flags-strict-check", + "eslint-codemod-replace-migrators" + ] + }, + { + "gap": "reversal after shipping", + "decisions": 29, + "share": 0.22, + "examples": [ + "ripgrep-file-hyperlinks", + "ripgrep-built-in-pager", + "zoxide-fish-cd-alias-recursion", + "just-format-string-interpolation", + "deno-permissions-in-config" + ] + }, + { + "gap": "experiments as evidence", + "decisions": 29, + "share": 0.22, + "examples": [ + "excalidraw-wheel-zoom-mode", + "excalidraw-new-drawing-button", + "excalidraw-handwritten-font-search", + "excalidraw-zen-mode-exit", + "excalidraw-arrow-binding-default" + ] + }, + { + "gap": "duplicates merged", + "decisions": 17, + "share": 0.129, + "examples": [ + "ripgrep-built-in-pager", + "zoxide-fish-cd-alias-recursion", + "atuin-classic-up-arrow-from-db", + "deno-permissions-in-config", + "go-cmp-or" + ] + }, + { + "gap": "superseded or moved to another thread", + "decisions": 15, + "share": 0.114, + "examples": [ + "ripgrep-file-hyperlinks", + "delta-auto-light-dark-detection", + "deno-typescript-checker-in-rust", + "helix-file-explorer-pr", + "mastodon-toot-text-formatting" + ] + }, + { + "gap": "dormant or ownerless question", + "decisions": 13, + "share": 0.098, + "examples": [ + "just-telemetry-hooks", + "just-format-string-interpolation", + "just-parallel-dependencies", + "delta-auto-light-dark-detection", + "helix-persistent-state" + ] + }, + { + "gap": "stale or edited record", + "decisions": 12, + "share": 0.091, + "examples": [ + "uv-named-explicit-indexes", + "aspnetcore-mvc-in-shared-framework", + "eslint-native-ts-config-flag", + "go-unique-handle", + "homeassistant-addons-to-apps" + ] + }, + { + "gap": "external dependency", + "decisions": 10, + "share": 0.076, + "examples": [ + "ripgrep-file-hyperlinks", + "ripgrep-built-in-pager", + "deno-jupyter-rich-display", + "eslint-deprecate-formatting-rules", + "ghostty-official-snap" + ] + }, + { + "gap": "reframing", + "decisions": 10, + "share": 0.076, + "examples": [ + "just-telemetry-hooks", + "excalidraw-handwritten-font-search", + "go-try-builtin", + "homeassistant-addons-to-apps", + "home-assistant-fan-speed-percentage" + ] + }, + { + "gap": "unresolved dissent", + "decisions": 9, + "share": 0.068, + "examples": [ + "crystal-io-argument-position", + "eslint-native-ts-config-flag", + "excalidraw-new-drawing-button", + "go-slice-to-array-conversion", + "go-xterm-pluggable-history" + ] + }, + { + "gap": "competing implementations", + "decisions": 5, + "share": 0.038, + "examples": [ + "ripgrep-max-columns", + "ripgrep-file-hyperlinks", + "just-parallel-dependencies", + "homeassistant-template-delay-ui", + "svelte-create-raw-snippet-shape" + ] + }, + { + "gap": "configurable outcome", + "decisions": 4, + "share": 0.03, + "examples": [ + "delta-auto-light-dark-detection", + "logseq-hierarchy-above-backlinks", + "vscode-pinned-tab-sizing", + "tailwindcss-variant-grouping" + ] + }, + { + "gap": "other: spec iteration in comments", + "decisions": 1, + "share": 0.008, + "examples": [ + "ripgrep-max-columns" + ] + }, + { + "gap": "other: deferred follow-ups", + "decisions": 1, + "share": 0.008, + "examples": [ + "uv-named-explicit-indexes" + ] + }, + { + "gap": "other: residual limits after settling", + "decisions": 1, + "share": 0.008, + "examples": [ + "delta-auto-light-dark-detection" + ] + }, + { + "gap": "other: progress tracking", + "decisions": 1, + "share": 0.008, + "examples": [ + "deno-typescript-checker-in-rust" + ] + } + ], + "shareWithSubQuestionsOrCoupling": 0.985, + "shareWithSubQuestions": 0.985, + "shareWithCouplingGap": 0.386, + "shareFlaggedSupersededOrReopened": 0.265, + "shareDecidedOffPlatform": 0.326, + "shareReversedReopenedOrSuperseded": 0.386, + "medianParticipants": 18.0, + "medianDurationDays": 188.0, + "truncatedShare": 0.015 +} diff --git a/evals/datasets/decisions-v1/tools/ANNOTATING.md b/evals/datasets/decisions-v1/tools/ANNOTATING.md new file mode 100644 index 000000000..626d5df0e --- /dev/null +++ b/evals/datasets/decisions-v1/tools/ANNOTATING.md @@ -0,0 +1,202 @@ +# Annotating a thread + +Each annotator reads one normalised digest and writes one annotation JSON file. +`assemble.py` then builds the case file and decision records. Structural fields +such as event IDs, actors, times, parents and URLs always come from the +skeleton. Do not retype them. + +## Inputs + +- `.cache/decisions/norm/.txt` is the digest. Each event shows its `[event id]`, + kind, actor, association or role, time, parent and reactions, followed by the + source text. `HIDDEN(...)` marks a comment that GitHub collapses, and `ANSWER` + marks a discussion's chosen answer. Long bodies are clipped. When a clipped + body matters, read the raw `.cache/decisions/.json`. +- `.cache/decisions/norm/.json` is the skeleton. It holds the event IDs you + must summarise. +- To follow a cross-reference that carries the decision, such as the PR that + implemented it or the RFC it spawned, fetch it with + `python3 -I evals/datasets/decisions-v1/tools/fetch.py `, then run + `python3 -I evals/datasets/decisions-v1/tools/normalise.py `. Add its key + to `include` only when the decision spans both threads. Follow one hop at most. + +## Rules + +- **Never invent content.** If something is unknown, write `null` and say why + in `notes`. +- **Paraphrase everything.** Never copy a sentence or quote a comment. No run of + 8 or more consecutive words may match the source; the validator checks this. + Code identifiers, option names and titles are fine. +- Each `summary` is one or two neutral sentences. Make the actor's role clear: + "A maintainer…", "A contributor…", "A user…", "The opener…", "A bot…". Use the + association label and context. The Go team, the Rust team members who + sign rfcbot, and a project's MEMBER, OWNER or COLLABORATOR are maintainers. +- Summarise every event in the skeleton, except process events that carry no + meaning for the decision. Put those IDs in `drop`: routine label churn, + `stale` labels, a cross-reference to an unrelated PR. Keep closes, reopens, + merges, renames, decision labels such as `Proposal-Accepted`, FCP and + disposition labels, and cross-references to an implementing or reverting PR. +- A low-content comment such as "+1", "any update?" or a bare emoji still gets + a short summary, e.g. "A user adds support." +- Do not summarise a hidden comment's content if it is off-topic, abusive or + spam. Write "A comment GitHub marks as hidden (off-topic)." Skip the whole + thread if it is dominated by harassment or personal matters. + +## Keep or discard + +Keep a thread only if at least two people, or at least two options, are +genuinely weighed, and the decision can be stated as one question. "Genuinely" +needs a second human to engage. A lone options memo with no replies is a +discard. Discard bug +reports with no design choice, support Q&A and spam. When you discard, give a +one-line `discardReason` and omit everything else. + +## Cutoffs + +Place 2–4 cutoffs at meaningful moments, chosen from: + +- `question-clear`: just after the question is clear +- `options-on-table`: just after the main options have been proposed +- `before-decision`: just before the deciding event +- `after-decision`: just after it + +Use `c1`, `c2`, … in time order. `at` is an ISO timestamp strictly between two +events' `createdAt` values, so the cutoff's visible set is unambiguous. Do not +place a cutoff before the opening event. + +## The Chopin question model (for `chopinFit`) + +Chopin's questions feature has four shapes: + +- **explore:** open text +- **choice:** a table of options × criteria +- **tune:** a preview plus dials +- **check:** verify a claim as True, Partly or False, by research or a spike + +A question moves from open, to waiting or researching, to settled, and may be +reopened. Teammates can be asked for a quick take: thumbs, an emoji or a reply. +A settled question becomes a record with the answer, explanation, who settled +it, who was involved, confidence, a timeline, what we knew, what we considered, +and the PRs it was built into. + +`fitsFlows` names which flows the decision exercised: `find`, `work-in-place`, +`research-or-spike`, `ask-teammate`, `settle`, `revisit-reopen`, `build-pr` +and `reshape`. + +**`gaps` is the most valuable field.** Name concretely what this decision needed +that the design does not offer. Common candidates: coupled decisions decided +together; staged "accept in principle, details later"; a decider who isn't in +the thread; votes or 👍 counts as evidence; reversal after shipping; decisions +taken off-platform; experiments or feature flags as evidence; duplicates +merged. Write each gap as a short phrase that starts with the clustered gap +name, then a colon and the specific detail, e.g. `"off-platform decision: the +outcome was agreed in a team call and only reported here"`. An empty list is +allowed when the design really covers the decision. + +## Output + +Write `.cache/decisions/ann/.json`: + +```json +{ + "key": "", + "verdict": "keep", + "discardReason": null, + "quota": "product-ui|pr-debate|eng-issue|formal-process|small-team|open-choice", + "caseId": "short-kebab-id, unique, e.g. zed-soft-wrap-off", + "title": "Short neutral name", + "include": [], + "drop": ["process event ids omitted"], + "summaries": {"": "paraphrase", "…": "…"}, + "cutoffs": [{"id": "c1", "at": "ISO", "purpose": "question-clear"}], + "decisions": [DECISION_RECORD, …] +} +``` + +Write a `DECISION_RECORD` for each distinct decision in the thread, usually +one. `assemble.py` fills in `caseId`, `collector` and `fidelity`. + +```json +{ + "id": "short-kebab-id", + "sources": [ + { + "url": "https://…", + "kind": "discussion|issue|pr|rfc|proposal|adr|design-doc|minutes|meeting-notes|other", + "retrievedAt": "ISO-8601 from meta.retrievedAt" + } + ], + "repo": "owner/name", + "domain": "api-design|language-design|ui-ux|product-behaviour|architecture|dependency|performance|security|naming|process-governance|compatibility|tooling|docs|infra|data-model|other", + "title": "Short neutral name", + "question": "The decision as one question, paraphrased as participants framed it", + "questionExplicit": true, + "context": "1–3 sentences, paraphrased", + "options": [ + { + "label": "…", + "proposedBy": "handle or role", + "fate": "chosen|rejected|deferred|merged|partly" + } + ], + "criteria": ["…"], + "participants": { + "count": 0, + "roles": ["maintainers", "users"], + "decider": "consensus|named maintainer|vote|BDFL|team|unclear" + }, + "process": { + "research": "none|links|benchmarks|survey|data-analysis", + "spike": "none|prototype|implementation-pr|experiment|feature-flag", + "poll": false, + "escalation": "none|core-team|steering|tsc|vote", + "subQuestions": [], + "deferred": false, + "reopened": false, + "superseded": false, + "durationDays": 0, + "comments": 0, + "reactionsTotal": 0, + "decidedOffPlatform": false, + "notableMoves": [] + }, + "outcome": { + "decided": true, + "decision": "paraphrase, or null if undecided", + "how": "consensus|maintainer-decision|vote|fcp|default/no-action|abandoned|unclear", + "rationale": "paraphrase or null", + "dissent": "paraphrase or null", + "confidence": "stated|implied|none", + "reversibility": "stated-easy|stated-hard|implied|unknown", + "implementedIn": ["PR URLs"] + }, + "chopinFit": { + "shape": "explore|choice|tune|check|mixed|none", + "shapeWhy": "one line", + "secondaryShape": null, + "fitsFlows": [], + "gaps": [] + }, + "evalUse": "one line", + "notes": "" +} +``` + +- Copy `participants.count`, `process.comments` and `process.reactionsTotal` + from the digest's meta line (`humanParticipants`, `comments`, `reactionsTotal`). + These are computed over the whole thread, before the cap. For a merged + multi-thread case, add the parts together. +- `durationDays` runs from the opening to the deciding event, or to the last + event if the thread is undecided. Round it to a whole number. +- `decider` uses the exact enum strings. For "named maintainer", put the handle + in `notes`. +- Judge roles by behaviour as well as by the association label. Someone + labelled CONTRIBUTOR who triages, decides and merges is a maintainer. +- When something was agreed in principle but only partly built, use + `decided: true`, set the option's `fate` to `partly`, and record the shortfall + as a `staged acceptance` gap. +- Write a separate decision record only when a sub-decision was debated in its + own right. A quick follow-up adjustment, such as a default flipped a week + later, goes in `subQuestions` and `notableMoves` of the same record. +- Values must come from the enums. Use `secondaryShape: null` when there is + none. diff --git a/evals/datasets/decisions-v1/tools/assemble.py b/evals/datasets/decisions-v1/tools/assemble.py new file mode 100644 index 000000000..29c827ba4 --- /dev/null +++ b/evals/datasets/decisions-v1/tools/assemble.py @@ -0,0 +1,117 @@ +"""Build case files, decisions.jsonl and candidate statuses from annotations. + +Usage: python3 -I assemble.py + +Reads every .cache/decisions/ann/.json annotation and its normalised +skeleton(s). Structural fields (ids, actors, times, parents, URLs) always come +from the skeleton; annotations supply only paraphrased summaries, cutoffs and +decision records. Reruns rebuild every output from scratch. +""" + +import json +import pathlib +import sys + +ROOT = pathlib.Path(__file__).resolve().parents[4] +CACHE = ROOT / ".cache" / "decisions" +DATASET = ROOT / "evals" / "datasets" / "decisions-v1" +FIELD_ORDER = ["id", "kind", "actor", "createdAt", "editedAt", "visibleAt", "url", "summary", + "actorId", "actorType", "parentId"] + + +def load_norm(key): + return json.loads((CACHE / "norm" / f"{key}.json").read_text()) + + +def build_case(ann): + primary = load_norm(ann["key"]) + parts = [primary] + [load_norm(k) for k in ann.get("include", [])] + drop = set(ann.get("drop", [])) + events = sorted((e for p in parts for e in p["events"] if e["id"] not in drop), + key=lambda e: (e["createdAt"], e["kind"] != "opening")) + for e in events: + if e.get("default") and not ann["summaries"].get(e["id"], "").strip(): + ann["summaries"][e["id"]] = e["default"] + missing = [e["id"] for e in events if not ann["summaries"].get(e["id"], "").strip()] + if missing: + raise ValueError(f"{ann['key']}: {len(missing)} events lack summaries, e.g. {missing[:3]}") + unknown = set(ann["summaries"]) - {e["id"] for e in events} + if unknown: + raise ValueError(f"{ann['key']}: summaries for unknown events {sorted(unknown)[:3]}") + out = [] + for e in events: + e = dict(e, summary=ann["summaries"][e["id"]].strip()) + out.append({k: e[k] for k in FIELD_ORDER if e.get(k) is not None}) + meta = primary["meta"] + source = {"url": meta["url"], "retrievedAt": meta["retrievedAt"], "repository": meta["repo"], + "number": meta["number"]} + if meta.get("nodeId"): + source["nodeId"] = meta["nodeId"] + related = [{"url": p["meta"]["url"], "retrievedAt": p["meta"]["retrievedAt"]} for p in parts[1:]] + if related: + source["related"] = related + cutoffs = sorted(ann["cutoffs"], key=lambda c: c["at"]) + case = {"schemaVersion": 2, "origin": "adapted", "id": ann["caseId"], "title": ann["title"], + "source": source, "cutoffs": [{"id": c["id"], "at": c["at"]} for c in cutoffs], "events": out} + dropped = sum(p["meta"]["droppedEvents"] for p in parts) + return case, parts, dropped, cutoffs + + +def main(): + anns = [json.loads(p.read_text()) for p in sorted((CACHE / "ann").glob("*.json"))] + cand_path = DATASET / "candidates.json" + candidates = json.loads(cand_path.read_text()) + by_url = {c["url"]: c for c in candidates["candidates"]} + cases_dir = DATASET / "cases" + cases_dir.mkdir(exist_ok=True) + for stale in cases_dir.glob("*.json"): + stale.unlink() + decisions, purposes, errors, merged = [], {}, 0, {} + for ann in anns: + norm = load_norm(ann["key"]) + entry = by_url.get(norm["meta"]["url"]) + if entry is None: + entry = by_url[norm["meta"]["url"]] = {"url": norm["meta"]["url"], "source": "follow-up"} + candidates["candidates"].append(entry) + if ann["verdict"] != "keep": + entry.update(status="discarded", reason=ann.get("discardReason")) + continue + try: + case, parts, dropped, cutoffs = build_case(ann) + except ValueError as error: + errors += 1 + print(f"ERROR {error}", file=sys.stderr) + continue + entry.update(status="kept", reason=None, quota=ann["quota"], caseId=ann["caseId"]) + for part in parts[1:]: + merged[part["meta"]["url"]] = ann["caseId"] + text = json.dumps(case, indent="\t", ensure_ascii=False) + "\n" + (cases_dir / f"{ann['caseId']}.json").write_text(text) + purposes[ann["caseId"]] = {"quota": ann["quota"], + "checkpoints": {c["id"]: c.get("purpose") for c in cutoffs}} + for record in ann["decisions"]: + record = dict(record, caseId=ann["caseId"], collector="local-gh") + record["fidelity"] = {"method": "gh-api", "truncated": dropped > 0} + if dropped: + note = f"{dropped} low-signal comments omitted by the 150-event cap." + record["notes"] = (record.get("notes") or "").strip() + (" " if record.get("notes") else "") + note + decisions.append(record) + # Applied after every annotation so a thread kept as its own case is never relabelled. + for url, case_id in merged.items(): + linked = by_url.get(url) + if linked and linked.get("status") != "kept": + linked.update(status="merged", reason=f"part of case {case_id}") + for entry in candidates["candidates"]: + if entry.get("status") in (None, "pending"): + entry.update(status="not-screened", + reason="Fetched but not annotated: its quota was already met when screening stopped.") + (DATASET / "decisions.jsonl").write_text( + "".join(json.dumps(d, ensure_ascii=False) + "\n" for d in decisions)) + (CACHE / "purposes.json").write_text(json.dumps(purposes, indent=1)) + cand_path.write_text(json.dumps(candidates, indent="\t", ensure_ascii=False) + "\n") + print(f"{len(purposes)} cases, {len(decisions)} decisions, {errors} errors") + sys.exit(1 if errors else 0) + + +if __name__ == "__main__": + main() diff --git a/evals/datasets/decisions-v1/tools/check_ann.py b/evals/datasets/decisions-v1/tools/check_ann.py new file mode 100644 index 000000000..ac65bd981 --- /dev/null +++ b/evals/datasets/decisions-v1/tools/check_ann.py @@ -0,0 +1,52 @@ +"""Check one or more annotations in isolation, without touching shared outputs. + +Usage: python3 -I check_ann.py KEY [KEY ...] + +Builds each case in memory and runs the record, case-shape and verbatim-leak +checks from validate.py. Safe to run while other annotators work. +""" + +import json +import pathlib +import sys +import tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parent)) +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[1])) +import assemble # noqa: E402 +import validate # noqa: E402 + + +def check(key): + ann = json.loads((assemble.CACHE / "ann" / f"{key}.json").read_text()) + if ann["verdict"] != "keep": + return [] if ann.get("discardReason") else [f"{key}: discard without discardReason"] + problems = [] + try: + case, parts, dropped, cutoffs = assemble.build_case(ann) + except ValueError as error: + return [str(error)] + if ann.get("quota") not in {"product-ui", "pr-debate", "eng-issue", "formal-process", + "small-team", "open-choice"}: + problems.append(f"{key}: bad quota {ann.get('quota')!r}") + for c in cutoffs: + if c.get("purpose") not in {"question-clear", "options-on-table", "before-decision", + "after-decision"}: + problems.append(f"{key}: cutoff {c.get('id')} purpose {c.get('purpose')!r}") + with tempfile.TemporaryDirectory() as tmp: + path = pathlib.Path(tmp) / f"{ann['caseId']}.json" + path.write_text(json.dumps(case)) + validate.check_case(path, problems) + records = [dict(r, caseId=ann["caseId"], collector="local-gh", + fidelity={"method": "gh-api", "truncated": dropped > 0}) for r in ann["decisions"]] + validate.check_records(records, {ann["caseId"]: case}, problems) + validate.check_leaks(records, {ann["caseId"]: case}, problems) + return problems + + +if __name__ == "__main__": + problems = [p for key in sys.argv[1:] for p in check(key)] + for p in problems: + print(p) + print(f"{len(sys.argv) - 1} annotations, {len(problems)} problems") + sys.exit(1 if problems else 0) diff --git a/evals/datasets/decisions-v1/tools/fetch.py b/evals/datasets/decisions-v1/tools/fetch.py new file mode 100644 index 000000000..202ddbe16 --- /dev/null +++ b/evals/datasets/decisions-v1/tools/fetch.py @@ -0,0 +1,168 @@ +"""Fetch GitHub threads at full fidelity into the git-ignored raw cache. + +Usage: python3 -I fetch.py URL [URL ...] + +Each thread is cached under .cache/decisions/______.json. +Reruns skip threads already cached, so the fetch is idempotent. +""" + +import json +import pathlib +import re +import subprocess +import sys +from datetime import datetime, timezone + +ROOT = pathlib.Path(__file__).resolve().parents[4] +CACHE = ROOT / ".cache" / "decisions" + +USER = "author { login ... on User { databaseId id } ... on Bot { databaseId id } __typename }" +COMMENT_FIELDS = f""" + id databaseId url createdAt lastEditedAt body upvoteCount isAnswer authorAssociation + {USER} + reactionGroups {{ content reactors {{ totalCount }} }} +""" +DISCUSSION_QUERY = f""" +query($owner: String!, $repo: String!, $number: Int!, $after: String) {{ + repository(owner: $owner, name: $repo) {{ + discussion(number: $number) {{ + id url title body createdAt lastEditedAt upvoteCount closed closedAt + stateReason locked authorAssociation {USER} + category {{ name }} labels(first: 20) {{ nodes {{ name }} }} + answer {{ id }} answerChosenAt answerChosenBy {{ login }} + reactionGroups {{ content reactors {{ totalCount }} }} + comments(first: 50, after: $after) {{ + pageInfo {{ hasNextPage endCursor }} + nodes {{ + {COMMENT_FIELDS} + replies(first: 100) {{ + pageInfo {{ hasNextPage endCursor }} + nodes {{ {COMMENT_FIELDS} }} + }} + }} + }} + }} + }} +}} +""" +REPLIES_QUERY = f""" +query($id: ID!, $after: String) {{ + node(id: $id) {{ + ... on DiscussionComment {{ + replies(first: 100, after: $after) {{ + pageInfo {{ hasNextPage endCursor }} + nodes {{ {COMMENT_FIELDS} }} + }} + }} + }} +}} +""" + + +def gh(*args): + out = subprocess.run(["gh", "api", *args], capture_output=True, text=True) + if out.returncode != 0: + raise RuntimeError(f"gh api {' '.join(args[:3])}: {out.stderr.strip()}") + return json.loads(out.stdout) if out.stdout.strip() else None + + +def graphql(query, **variables): + args = ["graphql", "-f", f"query={query}"] + for key, value in variables.items(): + if value is None: + continue + args += ["-F" if isinstance(value, int) else "-f", f"{key}={value}"] + data = gh(*args) + if data.get("errors"): + raise RuntimeError(json.dumps(data["errors"])[:500]) + return data["data"] + + +def paged(path): + """REST pagination with --slurp so every page lands in one list.""" + path += ("&" if "?" in path else "?") + "per_page=100" + pages = gh(path, "--paginate", "--slurp", "-H", "Accept: application/vnd.github+json") + return [item for page in pages for item in page] + + +def parse(url): + m = re.match(r"https://github\.com/([^/]+)/([^/]+)/(issues|pull|discussions)/(\d+)", url) + if not m: + raise ValueError(f"Unsupported URL: {url}") + owner, repo, kind, number = m.groups() + return owner, repo, {"pull": "pr", "issues": "issue", "discussions": "discussion"}[kind], int(number) + + +def cache_path(owner, repo, kind, number): + return CACHE / f"{owner}__{repo}__{kind}__{number}.json" + + +def fetch_discussion(owner, repo, number): + comments, after, head = [], None, None + while True: + data = graphql(DISCUSSION_QUERY, owner=owner, repo=repo, number=number, after=after) + discussion = data["repository"]["discussion"] + page = discussion.pop("comments") + head = head or discussion + for comment in page["nodes"]: + replies = comment["replies"] + while replies["pageInfo"]["hasNextPage"]: + more = graphql(REPLIES_QUERY, id=comment["id"], after=replies["pageInfo"]["endCursor"]) + nxt = more["node"]["replies"] + replies["nodes"] += nxt["nodes"] + replies["pageInfo"] = nxt["pageInfo"] + comments += page["nodes"] + if not page["pageInfo"]["hasNextPage"]: + break + after = page["pageInfo"]["endCursor"] + return {"discussion": head, "comments": comments} + + +def fetch_issue(owner, repo, number, pr): + base = f"repos/{owner}/{repo}" + issue = gh(f"{base}/issues/{number}") + thread = { + "issue": issue, + "comments": paged(f"{base}/issues/{number}/comments"), + "timeline": paged(f"{base}/issues/{number}/timeline"), + "reactions": paged(f"{base}/issues/{number}/reactions"), + } + if pr or issue.get("pull_request"): + pull = gh(f"{base}/pulls/{number}") + thread["pull"] = pull + thread["reviews"] = paged(f"{base}/pulls/{number}/reviews") + thread["reviewComments"] = paged(f"{base}/pulls/{number}/comments") + thread["fileCount"] = pull.get("changed_files") + return thread + + +def fetch(url, force=False): + owner, repo, kind, number = parse(url) + path = cache_path(owner, repo, kind, number) + if path.exists() and not force: + return path, "cached" + CACHE.mkdir(parents=True, exist_ok=True) + retrieved = datetime.now(timezone.utc).isoformat() + if kind == "discussion": + raw = fetch_discussion(owner, repo, number) + else: + raw = fetch_issue(owner, repo, number, kind == "pr") + body = {"url": url, "owner": owner, "repo": repo, "kind": kind, "number": number, + "retrievedAt": retrieved, "raw": raw} + tmp = path.with_suffix(".tmp") + tmp.write_text(json.dumps(body)) + tmp.replace(path) + return path, "fetched" + + +if __name__ == "__main__": + force = "--force" in sys.argv + failed = 0 + for url in [a for a in sys.argv[1:] if a != "--force"]: + try: + path, state = fetch(url, force) + print(f"{state}\t{url}") + except Exception as error: # report every failure and keep going + failed += 1 + print(f"FAILED\t{url}\t{error}", file=sys.stderr) + sys.exit(1 if failed else 0) diff --git a/evals/datasets/decisions-v1/tools/holdout_check.py b/evals/datasets/decisions-v1/tools/holdout_check.py new file mode 100644 index 000000000..5bea95dc2 --- /dev/null +++ b/evals/datasets/decisions-v1/tools/holdout_check.py @@ -0,0 +1,55 @@ +"""Check decisions-v1 against holdout thread URLs before committing. + +Usage: python3 -I holdout_check.py URLS_FILE (one GitHub URL per line) + +Matches each holdout against every candidate, case source, related thread, and +the sources and implementations of every thread and document decision record, +ignoring URL fragments, trailing slashes and case. Exits 1 if +any kept or merged material matches; remove those cases, mark the candidates +`holdout`, rerun assemble.py and package.py, then rerun this check. +""" + +import json +import pathlib +import re +import sys + +DATASET = pathlib.Path(__file__).resolve().parents[1] + + +def canon(url): + url = url.strip().split("#")[0].split("?")[0].rstrip("/").lower() + # Issues, PRs and discussions share one number space per repository. + return re.sub(r"/(pull|discussions)/", "/issues/", url) + + +def main(): + holdouts = {canon(line) for line in pathlib.Path(sys.argv[1]).read_text().splitlines() if line.strip()} + hits = [] + for c in json.loads((DATASET / "candidates.json").read_text())["candidates"]: + if canon(c["url"]) in holdouts: + hits.append(f"candidate {c['url']} (status {c.get('status')})") + for path in sorted((DATASET / "cases").glob("*.json")): + source = json.loads(path.read_text())["source"] + for url in [source["url"]] + [r["url"] for r in source.get("related", [])]: + if canon(url) in holdouts: + hits.append(f"case {path.stem}: {url}") + for name in ("decisions.jsonl", "documents/decisions.jsonl"): + path = DATASET / name + if not path.exists(): + continue + for line in path.read_text().splitlines(): + if not line.strip(): + continue + record = json.loads(line) + for url in [s["url"] for s in record["sources"]] + record["outcome"]["implementedIn"]: + if canon(url) in holdouts: + hits.append(f"{name}: {record['id']} cites {url}") + for hit in hits: + print(hit) + print(f"{len(holdouts)} holdouts checked, {len(hits)} matches") + sys.exit(1 if hits else 0) + + +if __name__ == "__main__": + main() diff --git a/evals/datasets/decisions-v1/tools/normalise.py b/evals/datasets/decisions-v1/tools/normalise.py new file mode 100644 index 000000000..7e42cc7bd --- /dev/null +++ b/evals/datasets/decisions-v1/tools/normalise.py @@ -0,0 +1,261 @@ +"""Turn cached raw threads into v2 event skeletons plus a reading digest. + +Usage: python3 -I normalise.py [CACHE_KEY ...] (default: every cached thread) + +Writes .cache/decisions/norm/.json (skeleton events with source text) and +.txt (a compact digest for annotators). Both stay in the git-ignored cache +because they carry verbatim source text. +""" + +import json +import pathlib +import re +import sys + +ROOT = pathlib.Path(__file__).resolve().parents[4] +CACHE = ROOT / ".cache" / "decisions" +NORM = CACHE / "norm" +CAP = 150 +BODY_LIMIT = 3000 +OPENING_LIMIT = 8000 +KNOWN_BOTS = { + "gopherbot", "rfcbot", "rustbot", "rust-highfive", "bors", "k8s-ci-robot", + "k8s-triage-robot", "nodejs-github-bot", "github-actions", "dependabot", "codecov", + "changeset-bot", "vercel", "netlify", "stale", "msftbot", "vscodenpm", "vs-code-engineering", + "vscode-triage-bot", "linear", "home-assistant", "rust-log-analyzer", "triagebot", +} +MAINTAINER = {"OWNER", "MEMBER", "COLLABORATOR"} +PROCESS = { + "labeled", "unlabeled", "closed", "reopened", "renamed", "merged", "locked", + "converted_to_discussion", "ready_for_review", "convert_to_draft", "review_dismissed", + "cross-referenced", +} + + +def slug(repo, number): + return f"{re.sub(r'[^a-z0-9]+', '-', repo.lower()).strip('-')}-{number}" + + +def actor_type(login, kind=None): + if not login: + return "unknown" + if kind == "Bot" or login.endswith("[bot]") or login.lower() in KNOWN_BOTS: + return "bot" + return "human" + + +def reaction_total(groups): + return sum(g["reactors"]["totalCount"] for g in groups or []) + + +def clip(text, limit=BODY_LIMIT): + text = (text or "").replace("\r\n", "\n").strip() + return text if len(text) <= limit else text[:limit] + " …[clipped]" + + +def event(**fields): + return {k: v for k, v in fields.items() if v is not None} + + +def from_discussion(raw): + d = raw["discussion"] + root = d["id"] + + def who(node): + author = node.get("author") or {} + return author.get("login") or "ghost", author.get("id"), actor_type(author.get("login"), + author.get("__typename")) + + def edited(node): + return node["lastEditedAt"] if node.get("lastEditedAt") and node["lastEditedAt"] != node["createdAt"] else None + + login, aid, atype = who(d) + events = [event(id=root, kind="opening", actor=login, actorId=aid, actorType=atype, + createdAt=d["createdAt"], editedAt=edited(d), url=d["url"], title=d["title"], + text=clip(d["body"], OPENING_LIMIT), reactions=reaction_total(d["reactionGroups"]) + d["upvoteCount"], + assoc=d.get("authorAssociation"))] + for c in raw["comments"]: + login, aid, atype = who(c) + events.append(event(id=c["id"], kind="comment", actor=login, actorId=aid, actorType=atype, + createdAt=c["createdAt"], editedAt=edited(c), url=c["url"], parentId=root, + text=clip(c["body"]), reactions=reaction_total(c["reactionGroups"]) + c["upvoteCount"], + assoc=c.get("authorAssociation"), isAnswer=c.get("isAnswer") or None)) + for r in c["replies"]["nodes"]: + login, aid, atype = who(r) + events.append(event(id=r["id"], kind="reply", actor=login, actorId=aid, actorType=atype, + createdAt=r["createdAt"], editedAt=edited(r), url=r["url"], parentId=c["id"], + text=clip(r["body"]), reactions=reaction_total(r["reactionGroups"]) + r["upvoteCount"], + assoc=r.get("authorAssociation"), isAnswer=r.get("isAnswer") or None)) + if d.get("answerChosenAt"): + by = (d.get("answerChosenBy") or {}).get("login") + events.append(event(id=f"{root}:process:answered:{d['answerChosenAt']}", kind="process", + actor=by or "unknown", actorType=actor_type(by), createdAt=d["answerChosenAt"], + url=d["url"], parentId=root, text=f"[marked an answer: {d['answer']['id']}]")) + if d.get("closed") and d.get("closedAt"): + events.append(event(id=f"{root}:process:closed:{d['closedAt']}", kind="process", + actor="unknown", actorType="unknown", createdAt=d["closedAt"], url=d["url"], parentId=root, + text=f"[discussion closed, reason {d.get('stateReason')}]")) + meta = {"title": d["title"], "nodeId": root, "category": (d.get("category") or {}).get("name"), + "labels": [l["name"] for l in d["labels"]["nodes"]], "closed": d["closed"], + "answered": bool(d.get("answer"))} + return events, meta + + +def from_issue(raw, repo, number): + issue = raw["issue"] + pr = "pull" in raw + base = slug(repo, number) + root = f"{base}:{'pr' if pr else 'issue'}:{number}" + + def user(u): + u = u or {} + return u.get("login") or "ghost", u.get("id"), actor_type(u.get("login"), u.get("type")) + + def edited(node): + return node["updated_at"] if node.get("updated_at") and node["updated_at"] != node["created_at"] else None + + login, aid, atype = user(issue["user"]) + events = [event(id=root, kind="opening", actor=login, actorId=aid, actorType=atype, + createdAt=issue["created_at"], url=issue["html_url"], title=issue["title"], + text=clip(issue["body"], OPENING_LIMIT), reactions=issue.get("reactions", {}).get("total_count"), + assoc=issue.get("author_association"))] + for c in raw["comments"]: + login, aid, atype = user(c["user"]) + minimized = (c.get("minimized") or {}).get("reason") if isinstance(c.get("minimized"), dict) else None + events.append(event(id=f"{base}:comment:{c['id']}", kind="comment", actor=login, actorId=aid, + actorType=atype, createdAt=c["created_at"], editedAt=edited(c), url=c["html_url"], + parentId=root, text=clip(c["body"]), reactions=c.get("reactions", {}).get("total_count"), + assoc=c.get("author_association"), minimized=minimized)) + reviews = {} + for r in raw.get("reviews", []): + if not r.get("submitted_at"): + continue + login, aid, atype = user(r["user"]) + rid = f"{base}:review:{r['id']}" + reviews[r["id"]] = rid + if r["state"] == "COMMENTED" and not (r.get("body") or "").strip(): + continue # an empty container for inline review comments + events.append(event(id=rid, kind="review", actor=login, actorId=aid, actorType=atype, + createdAt=r["submitted_at"], url=r["html_url"], parentId=root, + text=clip(f"[{r['state']}] {r.get('body') or ''}"), assoc=r.get("author_association"))) + kept = {e["id"] for e in events} + for c in raw.get("reviewComments", []): + login, aid, atype = user(c["user"]) + if c.get("in_reply_to_id"): + parent = f"{base}:review-comment:{c['in_reply_to_id']}" + elif reviews.get(c.get("pull_request_review_id")) in kept: + parent = reviews[c["pull_request_review_id"]] + else: + parent = root + events.append(event(id=f"{base}:review-comment:{c['id']}", kind="review-comment", actor=login, + actorId=aid, actorType=atype, createdAt=c["created_at"], editedAt=edited(c), + url=c["html_url"], parentId=parent, + text=clip(f"[on {c.get('path')}] {c.get('body') or ''}"), + reactions=c.get("reactions", {}).get("total_count"), assoc=c.get("author_association"))) + seen = set() + for t in raw["timeline"]: + kind = t.get("event") + if kind not in PROCESS: + continue + at = t.get("created_at") + login, aid, atype = user(t.get("actor")) + if kind == "labeled" or kind == "unlabeled": + detail = t["label"]["name"] + elif kind == "renamed": + detail = f"{t['rename']['from']} -> {t['rename']['to']}" + elif kind == "closed": + detail = t.get("state_reason") or "" + elif kind == "cross-referenced": + source = (t.get("source") or {}).get("issue") or {} + if not source.get("pull_request"): + continue # keep one-hop links to PRs; issue mentions are noise at this scale + detail = f"{source.get('html_url')} [{source.get('state')}] {source.get('title')}" + login, aid, atype = user(source.get("user")) + else: + detail = "" + pid = f"{base}:process:{kind}:{at}" + while pid in seen: + pid += "+" + seen.add(pid) + events.append(event(id=pid, kind="process", actor=login, actorId=aid, actorType=atype, + createdAt=at, url=issue["html_url"], parentId=root, text=f"[{kind}] {detail}".strip())) + if issue.get("closed_at") and not any(e["id"].startswith(f"{base}:process:closed:") for e in events): + # GitHub sometimes omits the close from the timeline API; closed_at is still authoritative. + merged = (raw.get("pull") or {}).get("merged_at") + kind = "merged" if merged and merged == issue["closed_at"] else "closed" + events.append(event(id=f"{base}:process:{kind}:{issue['closed_at']}", kind="process", + actor="unknown", actorType="unknown", createdAt=issue["closed_at"], url=issue["html_url"], + parentId=root, text=f"[{kind}] (time from closed_at; actor not returned by the API)", + default=f"The {'pull request' if pr else 'issue'} is {kind}; the API does not record by whom.")) + pull = raw.get("pull") or {} + meta = {"title": issue["title"], "state": issue["state"], "stateReason": issue.get("state_reason"), + "labels": [l["name"] for l in issue["labels"]], "isPr": pr, "merged": pull.get("merged"), + "fileCount": raw.get("fileCount"), "reactions": issue.get("reactions", {}).get("total_count")} + return events, meta + + +def cap(events): + """Keep the opening, process, bot and maintainer events, then the most-reacted rest.""" + talk = [e for e in events if e["kind"] != "process"] + if len(talk) <= CAP: + return events, 0 + must = {e["id"] for e in talk if e["kind"] == "opening" or e["actorType"] == "bot" + or e.get("assoc") in MAINTAINER or e.get("isAnswer")} + rest = sorted((e for e in talk if e["id"] not in must), key=lambda e: -(e.get("reactions") or 0)) + keep = set(must) | {e["id"] for e in rest[:max(0, CAP - len(must))]} + byid = {e["id"]: e for e in events} + for eid in list(keep): # a kept reply keeps its parent so reply structure stays true + parent = byid[eid].get("parentId") + while parent and parent in byid and parent not in keep: + keep.add(parent) + parent = byid[parent].get("parentId") + kept = [e for e in events if e["kind"] == "process" or e["id"] in keep] + return kept, len(events) - len(kept) + + +def digest(key, meta, events, dropped, total): + lines = [f"# {key}", json.dumps(meta), f"events kept {len(events)} of {total}; dropped {dropped}", ""] + for e in events: + head = f"[{e['id']}] {e['kind']} by {e['actor']} ({e.get('assoc') or e['actorType']})" \ + f" at {e['createdAt']}" + if e.get("editedAt"): + head += f" edited {e['editedAt']}" + if e.get("parentId"): + head += f" parent={e['parentId']}" + if e.get("reactions"): + head += f" reactions={e['reactions']}" + if e.get("isAnswer"): + head += " ANSWER" + if e.get("minimized"): + head += f" HIDDEN({e['minimized']})" + lines += [head, e.get("text") or "", ""] + return "\n".join(lines) + + +def normalise(path): + doc = json.loads(path.read_text()) + if doc["kind"] == "discussion": + events, meta = from_discussion(doc["raw"]) + else: + events, meta = from_issue(doc["raw"], doc["repo"], doc["number"]) + events.sort(key=lambda e: (e["createdAt"], e["kind"] != "opening")) + total = len(events) + talk = [e for e in events if e["kind"] != "process"] + counts = {"humanParticipants": len({e["actor"] for e in talk if e["actorType"] == "human"}), + "comments": sum(e["kind"] != "opening" for e in talk), + "reactionsTotal": sum(e.get("reactions") or 0 for e in talk)} + events, dropped = cap(events) + meta.update(url=doc["url"], repo=f"{doc['owner']}/{doc['repo']}", kind=doc["kind"], + number=doc["number"], retrievedAt=doc["retrievedAt"], slug=slug(doc["repo"], doc["number"]), + totalEvents=total, droppedEvents=dropped, **counts) + NORM.mkdir(parents=True, exist_ok=True) + (NORM / f"{path.stem}.json").write_text(json.dumps({"meta": meta, "events": events}, indent=1)) + (NORM / f"{path.stem}.txt").write_text(digest(path.stem, meta, events, dropped, total)) + return meta + + +if __name__ == "__main__": + keys = sys.argv[1:] or [p.stem for p in sorted(CACHE.glob("*__*.json"))] + for key in keys: + meta = normalise(CACHE / f"{key}.json") + print(f"{key}\t{meta['totalEvents']}\tdropped={meta['droppedEvents']}") diff --git a/evals/datasets/decisions-v1/tools/package.py b/evals/datasets/decisions-v1/tools/package.py new file mode 100644 index 000000000..3d342c5bc --- /dev/null +++ b/evals/datasets/decisions-v1/tools/package.py @@ -0,0 +1,124 @@ +"""Write manifest.json and stats.json from the assembled case files and records. + +Usage: python3 -I package.py (run after assemble.py) +""" + +import collections +import hashlib +import json +import pathlib +import statistics + +ROOT = pathlib.Path(__file__).resolve().parents[4] +CACHE = ROOT / ".cache" / "decisions" +DATASET = ROOT / "evals" / "datasets" / "decisions-v1" + + +# Annotators wrote free-form gap names; these keyword rules fold synonyms into one cluster. +# Order matters: the first matching rule wins. +CLUSTERS = [ + ("staged acceptance", ["staged", "in principle", "settled but not shipped", "interim decision"]), + ("off-platform decision", ["off-platform", "off platform", "off-thread", "decided elsewhere", + "meeting", "discord", "private evidence"]), + ("votes as evidence", ["vote", "poll", "reaction", "👍", "demand signal", "+1"]), + ("coupled decisions", ["coupled", "split scope", "bundled", "per-item"]), + ("decider not in thread", ["decider", "absent", "outside the thread", "authority"]), + ("reversal after shipping", ["revers", "revert", "rollback", "flip"]), + ("superseded or moved to another thread", ["supersed", "successor", "moved to another", + "another thread", "implementation elsewhere", "vehicle", "relocat"]), + ("duplicates merged", ["duplicate"]), + ("experiments as evidence", ["experiment", "feature flag", "spike", "prototype", "preview", + "fork", "benchmark", "visual evidence", "user research", "data"]), + ("competing implementations", ["competing"]), + ("dormant or ownerless question", ["dorman", "stall", "no owner", "ownerless", "abandon"]), + ("unresolved dissent", ["dissent", "contested settled", "reopen request"]), + ("stale or edited record", ["stale", "edited", "living", "drift", "source of truth"]), + ("reframing", ["refram", "problem before solution", "requirement"]), + ("external dependency", ["external", "upstream", "ecosystem", "cross-repo"]), + ("configurable outcome", ["configurable", "setting as", "workaround"]), +] + + +def cluster(gap): + head = gap.split(":", 1)[0].strip().lower() + for name, keys in CLUSTERS: + if any(k in head for k in keys): + return name + return "other: " + head[:50] + + +def share(n, total): + return round(n / total, 3) if total else 0 + + +def main(): + purposes = json.loads((CACHE / "purposes.json").read_text()) + records = [json.loads(l) for l in (DATASET / "decisions.jsonl").read_text().splitlines() if l.strip()] + entries = [] + for path in sorted((DATASET / "cases").glob("*.json")): + data = path.read_bytes() + case = json.loads(data) + meta = purposes[case["id"]] + entries.append({ + "id": case["id"], + "kind": "async-discussion", + "origin": "adapted", + "sourceCluster": meta["quota"], + "sourceUrl": case["source"]["url"], + "retrievedAt": case["source"]["retrievedAt"], + "relatedUrls": [p["url"] for p in case["source"].get("related", [])], + "checkpoints": [c["id"] for c in case["cutoffs"]], + "checkpointPurposes": meta["checkpoints"], + "file": {"path": f"cases/{path.name}", "sha256": hashlib.sha256(data).hexdigest(), + "bytes": len(data)}, + "reuse": "attributed-paraphrase", + }) + manifest = {"version": 1, "dataset": "decisions-v1", "partition": "development", + "caseSchemaVersion": 2, "holdoutCheck": {"status": "passed", "checkedAt": "2026-10-19", "holdouts": 8, + "partitionSnapshot": "dda78480888859ae3eec90846c1263cd28552d05"}, "cases": entries} + (DATASET / "manifest.json").write_text(json.dumps(manifest, indent="\t") + "\n") + + n = len(records) + gaps = collections.Counter() + gap_examples = collections.defaultdict(list) + for r in records: + for c in {cluster(g) for g in r["chopinFit"]["gaps"]}: + gaps[c] += 1 + if len(gap_examples[c]) < 5: + gap_examples[c].append(r["caseId"]) + coupled = sum(bool(r["process"]["subQuestions"]) + or any(cluster(g) == "coupled decisions" for g in r["chopinFit"]["gaps"]) for r in records) + reversed_ = sum(r["process"]["superseded"] or r["process"]["reopened"] + or any(cluster(g) == "reversal after shipping" for g in r["chopinFit"]["gaps"]) for r in records) + stats = { + "decisions": n, + "cases": len(entries), + "byQuota": dict(collections.Counter(e["sourceCluster"] for e in entries).most_common()), + "byDomain": dict(collections.Counter(r["domain"] for r in records).most_common()), + "byOutcomeHow": dict(collections.Counter(r["outcome"]["how"] for r in records).most_common()), + "decidedShare": share(sum(r["outcome"]["decided"] for r in records), n), + "shapeDistribution": dict(collections.Counter(r["chopinFit"]["shape"] for r in records).most_common()), + "secondaryShapeDistribution": dict(collections.Counter( + r["chopinFit"]["secondaryShape"] for r in records if r["chopinFit"]["secondaryShape"]).most_common()), + "flowDistribution": dict(collections.Counter( + f for r in records for f in r["chopinFit"]["fitsFlows"]).most_common()), + "topGapClusters": [{"gap": g, "decisions": c, "share": share(c, n), "examples": gap_examples[g]} + for g, c in gaps.most_common(20)], + "shareWithSubQuestionsOrCoupling": share(coupled, n), + "shareWithSubQuestions": share(sum(bool(r["process"]["subQuestions"]) for r in records), n), + "shareWithCouplingGap": share(sum(any(cluster(g) == "coupled decisions" + for g in r["chopinFit"]["gaps"]) for r in records), n), + "shareFlaggedSupersededOrReopened": share(sum(r["process"]["superseded"] or r["process"]["reopened"] + for r in records), n), + "shareDecidedOffPlatform": share(sum(r["process"]["decidedOffPlatform"] for r in records), n), + "shareReversedReopenedOrSuperseded": share(reversed_, n), + "medianParticipants": statistics.median(r["participants"]["count"] for r in records) if n else None, + "medianDurationDays": statistics.median(r["process"]["durationDays"] for r in records) if n else None, + "truncatedShare": share(sum(r["fidelity"]["truncated"] for r in records), n), + } + (DATASET / "stats.json").write_text(json.dumps(stats, indent="\t", ensure_ascii=False) + "\n") + print(json.dumps({k: stats[k] for k in ("cases", "decisions", "byQuota", "shapeDistribution")})) + + +if __name__ == "__main__": + main() diff --git a/evals/datasets/decisions-v1/validate.py b/evals/datasets/decisions-v1/validate.py new file mode 100644 index 000000000..6b83a4915 --- /dev/null +++ b/evals/datasets/decisions-v1/validate.py @@ -0,0 +1,298 @@ +"""Validate decisions-v1: records, case files, manifest and licensing leaks. + +Usage: python3 -I evals/datasets/decisions-v1/validate.py [--no-leaks] + +The leak check compares every summary and every free-text record field with the +git-ignored raw cache (.cache/decisions/). Without that cache it is skipped +with a warning; run it on the collector's machine before committing. +""" + +import hashlib +import json +import pathlib +import re +import sys +from datetime import datetime + +HERE = pathlib.Path(__file__).resolve().parent +ROOT = HERE.parents[2] +CACHE = ROOT / ".cache" / "decisions" +NGRAM = 8 + +ENUMS = { + "sources.kind": {"discussion", "issue", "pr", "rfc", "proposal", "adr", "design-doc", "minutes", + "meeting-notes", "other"}, + "domain": {"api-design", "language-design", "ui-ux", "product-behaviour", "architecture", + "dependency", "performance", "security", "naming", "process-governance", "compatibility", + "tooling", "docs", "infra", "data-model", "other"}, + "options.fate": {"chosen", "rejected", "deferred", "merged", "partly"}, + "participants.decider": {"consensus", "named maintainer", "vote", "BDFL", "team", "unclear"}, + "process.research": {"none", "links", "benchmarks", "survey", "data-analysis"}, + "process.spike": {"none", "prototype", "implementation-pr", "experiment", "feature-flag"}, + "process.escalation": {"none", "core-team", "steering", "tsc", "vote"}, + "outcome.how": {"consensus", "maintainer-decision", "vote", "fcp", "default/no-action", + "abandoned", "unclear"}, + "outcome.confidence": {"stated", "implied", "none"}, + "outcome.reversibility": {"stated-easy", "stated-hard", "implied", "unknown"}, + "chopinFit.shape": {"explore", "choice", "tune", "check", "mixed", "none"}, + "chopinFit.fitsFlows": {"find", "work-in-place", "research-or-spike", "ask-teammate", "settle", + "revisit-reopen", "build-pr", "reshape"}, + "collector": {"local-gh"}, + "fidelity.method": {"gh-api"}, +} +REQUIRED = { + "": ["id", "caseId", "collector", "sources", "repo", "domain", "title", "question", + "questionExplicit", "context", "options", "criteria", "participants", "process", "outcome", + "chopinFit", "evalUse", "fidelity", "notes"], + "participants": ["count", "roles", "decider"], + "process": ["research", "spike", "poll", "escalation", "subQuestions", "deferred", "reopened", + "superseded", "durationDays", "comments", "reactionsTotal", "decidedOffPlatform", + "notableMoves"], + "outcome": ["decided", "decision", "how", "rationale", "dissent", "confidence", "reversibility", + "implementedIn"], + "chopinFit": ["shape", "shapeWhy", "secondaryShape", "fitsFlows", "gaps"], + "fidelity": ["method", "truncated"], +} +EVENT_REQUIRED = ["id", "kind", "actor", "createdAt", "summary"] +EVENT_ALLOWED = {"id", "kind", "actor", "actorId", "actorType", "createdAt", "editedAt", "visibleAt", + "url", "parentId", "summary"} +EVENT_KINDS = {"opening", "comment", "reply", "review", "review-comment", "process"} + + +def time(value): + return datetime.fromisoformat(value.replace("Z", "+00:00")) + + +def parse_time(value): + """The timestamp, or None when it is missing or malformed.""" + try: + return time(value) + except (AttributeError, TypeError, ValueError): + return None + + +def words(text): + return re.findall(r"[a-z0-9']+", text.lower()) + + +def ngrams(text): + w = words(text) + return {tuple(w[i:i + NGRAM]) for i in range(len(w) - NGRAM + 1)} + + +def raw_texts(doc): + """Every human-written string in a cached raw response.""" + out = [] + + def walk(node): + if isinstance(node, dict): + for key, value in node.items(): + if key in ("body", "title") and isinstance(value, str): + out.append(value) + else: + walk(value) + elif isinstance(node, list): + for item in node: + walk(item) + walk(doc) + return out + + +def record_texts(r): + """Every free-text field of a decision record that the leak check compares.""" + outcome = r.get("outcome") or {} + fit = r.get("chopinFit") or {} + process = r.get("process") or {} + fields = [r.get("title"), r.get("question"), r.get("context"), r.get("evalUse"), r.get("notes"), + outcome.get("decision"), outcome.get("rationale"), outcome.get("dissent"), fit.get("shapeWhy")] + fields += [o.get("label") for o in r.get("options") or []] + list(r.get("criteria") or []) + fields += list(fit.get("gaps") or []) + list(process.get("notableMoves") or []) + fields += list(process.get("subQuestions") or []) + return [f for f in fields if isinstance(f, str)] + + +def check_records(records, cases, problems, enums=ENUMS, nullable=(), file="decisions.jsonl", + require_case=True): + """Check record shape. `nullable` names process counts allowed to be null; with + `require_case=False` a record carries no case file (document records).""" + ids = set() + for n, r in enumerate(records, 1): + where = f"{file}:{n} ({r.get('id')})" + for section, keys in REQUIRED.items(): + node = r if not section else r.get(section) + if not isinstance(node, dict): + problems.append(f"{where}: missing object {section}") + continue + for key in keys: + if key not in node: + problems.append(f"{where}: missing {section + '.' if section else ''}{key}") + for path, allowed in enums.items(): + head, _, tail = path.partition(".") + if not tail: + values = [r.get(head)] + else: + node = r.get(head) + if isinstance(node, list): + values = [item.get(tail) for item in node] + elif isinstance(node, dict): + value = node.get(tail) + values = value if isinstance(value, list) else [value] + else: + values = [] + for value in values: + if value not in allowed: + problems.append(f"{where}: {path}={value!r} not in enum") + second = (r.get("chopinFit") or {}).get("secondaryShape") + if second is not None and second not in enums["chopinFit.shape"]: + problems.append(f"{where}: chopinFit.secondaryShape={second!r} not in enum") + if r.get("id") in ids: + problems.append(f"{where}: duplicate id") + ids.add(r.get("id")) + if require_case and r.get("caseId") not in cases: + problems.append(f"{where}: caseId {r.get('caseId')!r} has no case file") + if not require_case and r.get("caseId") is not None: + problems.append(f"{where}: caseId must be null without a case file") + if not isinstance(r.get("questionExplicit"), bool): + problems.append(f"{where}: questionExplicit must be boolean") + for key in ("poll", "deferred", "reopened", "superseded", "decidedOffPlatform"): + if not isinstance((r.get("process") or {}).get(key), bool): + problems.append(f"{where}: process.{key} must be boolean") + for key in ("durationDays", "comments", "reactionsTotal"): + value = (r.get("process") or {}).get(key) + if not isinstance(value, int) and not (value is None and key in nullable): + problems.append(f"{where}: process.{key} must be an integer") + + +def check_case(path, problems): + where = f"cases/{path.name}" + try: + case = json.loads(path.read_text()) + except json.JSONDecodeError as error: + problems.append(f"{where}: invalid JSON {error}") + return None + if case.get("schemaVersion") != 2 or case.get("origin") != "adapted": + problems.append(f"{where}: must be schemaVersion 2, origin adapted") + if case.get("id") != path.stem: + problems.append(f"{where}: id does not match file name") + source = case.get("source") or {} + for key in ("url", "retrievedAt", "number"): + if key not in source: + problems.append(f"{where}: source.{key} missing") + events = case.get("events") or [] + ids = [e.get("id") for e in events] + if len(set(ids)) != len(ids): + problems.append(f"{where}: duplicate event ids") + known = set(ids) + if not events or events[0].get("kind") != "opening": + problems.append(f"{where}: first event must be the opening") + for e in events: + for key in EVENT_REQUIRED: + if not e.get(key): + problems.append(f"{where}: event {e.get('id')} missing {key}") + if set(e) - EVENT_ALLOWED: + problems.append(f"{where}: event {e.get('id')} has extra fields {set(e) - EVENT_ALLOWED}") + if e.get("kind") not in EVENT_KINDS: + problems.append(f"{where}: event {e.get('id')} kind {e.get('kind')!r}") + if e.get("parentId") and e["parentId"] not in known: + problems.append(f"{where}: event {e.get('id')} parent {e['parentId']} not in case") + if parse_time(e.get("createdAt")) is None: + problems.append(f"{where}: event {e.get('id')} bad createdAt") + cutoffs = case.get("cutoffs") or [] + if not 2 <= len(cutoffs) <= 4: + problems.append(f"{where}: needs 2–4 cutoffs, has {len(cutoffs)}") + if [c.get("id") for c in cutoffs] != [f"c{i}" for i in range(1, len(cutoffs) + 1)]: + problems.append(f"{where}: cutoff ids must be c1..cN") + ats = [parse_time(c.get("at")) for c in cutoffs] + for c, at in zip(cutoffs, ats): + if at is None: + problems.append(f"{where}: cutoff {c.get('id')} bad at") + timed = [(c, at) for c, at in zip(cutoffs, ats) if at is not None] + if [at for _, at in timed] != sorted(at for _, at in timed): + problems.append(f"{where}: cutoffs out of order") + first = parse_time(events[0].get("createdAt")) if events else None + if first is not None: + for c, at in timed: + if at < first: + problems.append(f"{where}: cutoff {c.get('id')} precedes the opening") + return case + + +def check_manifest(cases, problems): + path = HERE / "manifest.json" + if not path.exists(): + problems.append("manifest.json missing") + return + manifest = json.loads(path.read_text()) + listed = {entry["id"]: entry for entry in manifest["cases"]} + if set(listed) != set(cases): + problems.append(f"manifest ids differ from case files: {sorted(set(listed) ^ set(cases))[:5]}") + for cid, entry in listed.items(): + file = HERE / entry["file"]["path"] + if not file.exists(): + continue + data = file.read_bytes() + if len(data) != entry["file"]["bytes"] or hashlib.sha256(data).hexdigest() != entry["file"]["sha256"]: + problems.append(f"manifest: {cid} size or sha256 mismatch") + + +def cache_key(url): + """The raw-cache key for a GitHub thread URL, or None for any other URL.""" + m = re.match(r"https://github\.com/([^/]+)/([^/]+)/(issues|pull|discussions)/(\d+)", url) + if m is None: + return None + owner, repo, kind, number = m.groups() + kind = {"pull": "pr", "issues": "issue", "discussions": "discussion"}[kind] + return f"{owner}__{repo}__{kind}__{number}" + + +def check_leaks(records, cases, problems): + if not any(CACHE.glob("*.json")): + print("WARNING: raw cache absent; verbatim leak check skipped", file=sys.stderr) + return + by_case = {} + for r in records: + by_case.setdefault(r.get("caseId"), []).append(r) + for cid, case in cases.items(): + urls = [case["source"]["url"]] + [p["url"] for p in case["source"].get("related", [])] + urls += [s["url"] for r in by_case.get(cid, []) for s in r.get("sources", []) + if "github.com" in s.get("url", "")] + source = set() + for url in set(urls): + key = cache_key(url) + path = CACHE / f"{key}.json" + if key and path.exists(): + for text in raw_texts(json.loads(path.read_text())["raw"]): + source |= ngrams(text) + texts = [(f"cases/{cid}.json event {e['id']}", e.get("summary", "")) for e in case["events"]] + for r in by_case.get(cid, []): + texts += [(f"decisions.jsonl {r.get('id')}", f) for f in record_texts(r)] + for where, text in texts: + hits = ngrams(text) & source + if hits: + sample = " ".join(sorted(hits)[0]) + problems.append(f"LEAK {where}: {len(hits)} verbatim 8-word run(s), e.g. \"{sample}\"") + + +def main(): + problems = [] + records = [json.loads(line) for line in (HERE / "decisions.jsonl").read_text().splitlines() if line.strip()] + cases = {} + for path in sorted((HERE / "cases").glob("*.json")): + case = check_case(path, problems) + if case: + cases[path.stem] = case + check_records(records, cases, problems) + orphans = set(cases) - {r.get("caseId") for r in records} + for cid in sorted(orphans): + problems.append(f"cases/{cid}.json: no decision record") + check_manifest(cases, problems) + if "--no-leaks" not in sys.argv: + check_leaks(records, cases, problems) + for problem in problems: + print(problem) + print(f"{len(cases)} cases, {len(records)} decisions, {len(problems)} problems") + sys.exit(1 if problems else 0) + + +if __name__ == "__main__": + main()