Skip to content

chore(linear): drop task:* labels; migrate band:* → Linear estimate#23

Merged
Oba-One merged 4 commits into
mainfrom
chore/linear-drop-task-band-estimate
Jun 1, 2026
Merged

chore(linear): drop task:* labels; migrate band:* → Linear estimate#23
Oba-One merged 4 commits into
mainfrom
chore/linear-drop-task-band-estimate

Conversation

@Oba-One

@Oba-One Oba-One commented Jun 1, 2026

Copy link
Copy Markdown
Member

Companion to greenpill-dev-guild/green-goods#537 (which drops task:* on the green-goods side). Part of a Linear label cleanup pass.

Two coordinated changes

1. Drop task:*

Largely redundant with funding:* + projects; routines treated it as optional. Removed from:

  • routines/claude/README.md, docs/linear-operating-model.md, docs/linear-templates.md — canonical scheme + issue templates (added to the retired lists).
  • routines/claude/guild-grant-scout.md, routines/claude/research-synthesis.md — stop applying task:funding-pathway / task:*.

2. Migrate band:* → Linear estimate

band:* was the paid-brief sizing + filter signal. Estimate is the native field for sizing; the filter semantic ("this is a paid brief") moves to a convention: on Product, an estimate is set only on paid scoped briefs.

  • routines/scoped-work-compensation.md — the Band table is now a Tier / Estimate table (Scout=1 / Brief=2 / Deep=3); "band" prose → "tier" / "estimate".
  • docs/linear-operating-model.md, docs/linear-templates.mdband:* family → estimate guidance.
  • routines/claude/research-accountability-pulse.md (⚠️ live, write-enabled) — Product-team filter changes from "carries a band:* label" to "has an estimate set."

⚠️ Rollout order (matters)

  1. Enable estimates on the Product and Research Linear teams (Settings → Estimates), with a scale where 1/2/3 are valid (Linear or Fibonacci).
  2. Merge this PR + green-goods#537. Specs are thin-wrapper triggers that re-read on merge.
  3. Then delete the task: and band: label groups in the Linear UI.

If you skip step 1, the accountability routine will match zero Product briefs (it now keys on estimate). If you delete the labels before merge, the routines re-create task:* by name.

🤖 Generated with Claude Code

Drop task:*: removed from the canonical scheme (routines/claude/README, docs/linear-operating-model, docs/linear-templates) and from guild-grant-scout / research-synthesis label application. Added to the retired-families lists.

Migrate band:* -> Linear estimate: scoped-work-compensation.md now sizes paid briefs by the issue's Linear estimate (Scout~1 / Brief~2 / Deep~3) instead of a band:* label; templates + operating-model updated. research-accountability-pulse now filters Product-team paid briefs on 'estimate is set' instead of 'has a band:* label'.

Sequencing: (1) enable estimates on the Product + Research teams, (2) merge this, (3) then delete the task:/band: groups in Linear. The accountability routine matches zero Product briefs until estimates exist.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings June 1, 2026 00:19
@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6bea59fb-28ba-4798-9957-b601c7a91ac1

📥 Commits

Reviewing files that changed from the base of the PR and between f62fd18 and ac333e1.

📒 Files selected for processing (4)
  • docs/linear-operating-model.md
  • docs/linear-templates.md
  • routines/claude/README.md
  • routines/scoped-work-compensation.md
✅ Files skipped from review due to trivial changes (1)
  • routines/scoped-work-compensation.md
🚧 Files skipped from review as they are similar to previous changes (2)
  • docs/linear-templates.md
  • routines/claude/README.md
📜 Recent review details
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{md,yml}

📄 CodeRabbit inference engine (AGENTS.md)

**/*.{md,yml}: Do not reintroduce the former dev-guild PM URL or old migration language for project-management state
Do not introduce guild-wide 'Season' framing in documentation
Do not describe the dev guild as the entire Greenpill Network in documentation
Avoid growth-hacking and trend-chasing voice in documentation: no FOMO, virality, leaderboards, streaks, or 'AI-first' framing

Files:

  • docs/linear-operating-model.md
🪛 LanguageTool
docs/linear-operating-model.md

[uncategorized] ~44-~44: The official name of this software platform is spelled with a capital “H”.
Context: ...source:*— originating signal, such assource:github, source:discord, source:telegram`, ...

(GITHUB)

🔇 Additional comments (4)
docs/linear-operating-model.md (4)

46-46: LGTM!


48-48: LGTM!


50-50: LGTM!


52-54: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Retired band:* and task:* label vocabularies across guides and routines.
    • Introduced an Estimate field (exponential tiers 1,2,4,8,16) to replace band-based sizing; Scout1 / Brief2 / Deep~4 mapping.
    • Updated scoping, payable brief, compensation, and funding guidance to require/use estimates.
    • Clarified label families to emphasize funding:, source:, agent:* and primary child labels.

Walkthrough

This PR retires the band:* and task:* Linear label families across docs, templates, and routines, replacing band sizing with the Linear estimate field and updating related templates, routines, and compensation guidance.

Changes

Linear Label Model Migration

Layer / File(s) Summary
Core Linear label taxonomy and rules
docs/linear-operating-model.md, docs/linear-operating-model.md, routines/claude/README.md, routines/claude/README.md
Restructures label families to include package:*, activity:*, funding:*, source:*, and agent:*; introduces Estimate (Linear field) replacing band:*; removes task:* references and updates grant-lifecycle labeling rules.
Issue templates and template label/estimate requirements
docs/linear-templates.md
Removes task:*/band:* from templates and guidance, requires estimate for payable scoped briefs (exponential scale), and prefers a single primary child label per label family in templates.
Claude routines: label-resolution and prospect creation updates
routines/claude/research-synthesis.md, routines/claude/research-synthesis.md, routines/claude/research-synthesis.md, routines/claude/guild-grant-scout.md, routines/claude/guild-grant-scout.md
Updates routines to stop resolving/applying task:* and task:funding-pathway; aligns label resolution and prospect-creation templates with activity:research, agent:routine, protocol:*, and funding:*.
Research accountability pulse: select paid briefs by estimate
routines/claude/research-accountability-pulse.md
Changes accountability pulse to select Product paid scoped briefs by presence of a Linear estimate (non-null) instead of band:*, updating scan description, Input contract, and Phase 1 pull rules.
Scoped work compensation reframed to estimates/tiers
routines/scoped-work-compensation.md
Reframes compensation docs from "bands" to "estimate/tier" language, defines explicit exponential estimate scale and tier/price table, updates by-discipline payment descriptions and Linear-tracking to use issue estimate rather than bands.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

  • greenpill-dev-guild/.github#16: This PR's shift from band:* label selection to the Linear estimate field for paid scoped briefs is directly related to concurrent changes in the research-accountability-pulse routine.

Poem

🐰 I hopped through labels, soft and spry,
From bands and tasks I waved goodbye.
Estimates now guide each brief and chore,
Clearer paths to work once more—
A tiny hop; workflow blooms high.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main changes: dropping task:* labels and migrating band:* to Linear estimate field.
Description check ✅ Passed The description is directly related to the changeset, providing clear context about the two coordinated changes and rollout order.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/linear-drop-task-band-estimate

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Documentation/routine update that retires the task:* and band:* Linear label families. task:* is dropped as redundant with funding:* + projects, and band:* sizing is migrated to Linear's native estimate field (Scout=1 / Brief=2 / Deep=3). The Product-team filter in research-accountability-pulse is updated from "has band:* label" to "has an estimate set."

Changes:

  • Update canonical label scheme docs (README.md, linear-operating-model.md, linear-templates.md) to retire task:*/band:* and document the estimate field.
  • Rewrite sizing language in scoped-work-compensation.md (Band → Tier/Estimate table).
  • Switch live routines (research-accountability-pulse, guild-grant-scout, research-synthesis) off the retired labels.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated no comments.

Show a summary per file
File Description
routines/scoped-work-compensation.md Replaces "band" terminology with "tier/estimate"; updates sizing table.
routines/claude/research-synthesis.md Stops applying task:* labels when creating research issues.
routines/claude/research-accountability-pulse.md Product-team paid-brief filter switched from band:* label to estimate-set.
routines/claude/README.md Retires task:*/band:* in canonical scheme; documents estimate field.
routines/claude/guild-grant-scout.md Removes task:funding-pathway from grant issue labels.
docs/linear-templates.md Removes task:*/band:* from issue templates; documents estimate.
docs/linear-operating-model.md Retires task:*/band:* families; documents estimate field.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…ity-pulse

Verified empirically against the Linear MCP: list_issues and get_issue return the estimate field ONLY when an estimate is set (omit-when-null). So 'has an estimate set' = the estimate field is present in the list_issues object — the routine can gate on it in its bulk pull without a per-issue fetch. No code/filter-param needed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Oba-One

Oba-One commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Verified the estimate-readability assumption that this PR's accountability-filter change depends on. Created a throwaway Product issue with estimate: 2 and read it back: both list_issues and get_issue return "estimate":{"value":2,"name":"2 Points"}. Issues without an estimate omit the field entirely (confirmed against PRD-189/188). So "has an estimate set" = the estimate field is present in the list_issues bulk pull — the routine can gate on it directly, no per-issue fetch or filter param needed. Pushed a one-line spec clarification documenting this. (Test issue PRD-576 was canceled.)

…/2/4)

Bands stay retired (labels dropped). The Scout/Brief/Deep concepts are kept in context as the shared sizing vocabulary, mapped to the exponential Linear estimate scale (Scout=1, Brief=2, Deep=4; a major integration sits above at 8+). Replaces the earlier linear 1/2/3 mapping.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… repos

Estimate mapping on the exponential scale is now Scout=1 / Brief=4 / Deep=16 (was 1/2/4), a major integration above at 32+.

package:* re-anchored to the repo it lives in (orthogonal to protocol: = product; one package can serve several products, e.g. GreenWill contracts in green-goods). Corrects the 'each protocol owns its own package set' wording. Code-touching work only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Oba-One

Oba-One commented Jun 1, 2026

Copy link
Copy Markdown
Member Author

Two more commits layered on:

  1. Estimate mapping widened to exponential 1 / 4 / 16 (Scout / Brief / Deep), major integration above at 32+ (was 1/2/4). Bands stay retired — Scout/Brief/Deep kept as concept vocabulary mapped to the estimate.
  2. package:* re-anchored to the repo it lives in (orthogonal to protocol: = product). Corrects the "each protocol owns its own package set" wording — one package can serve several products (e.g. GreenWill contracts live in green-goods/packages/contracts). Code-touching work only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants