Skip to content

feat(publish): support Linear project parents - #121

Open
Danathar wants to merge 1 commit into
hivecommons:mainfrom
Danathar:feat/113-linear-project
Open

Danathar wants to merge 1 commit into
hivecommons:mainfrom
Danathar:feat/113-linear-project

Conversation

@Danathar

@Danathar Danathar commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Closes #113.

Merged PR #118 implements Linear parent issues and sub-issues but explicitly leaves parent_as: project open. This completes that mode: publish.linear.parent_as: project creates an RFC project on the configured team and regular child issues with projectId. The existing issue mode remains the default.

The RFC's full Markdown, checklist, digest and marker live in project content (Linear's description is a short summary). Reruns page through the team's projects, including archived ones, and match their markers; unchanged publications make no mutations. Updates edit the project and children in place, restore missing project membership and dependency relations, and refuse closed RFCs or a changed container mode. Child issues retain Todo/default state selection, assignee resolution and existing issue labels; project labels use a separate namespace and are not populated from issue labels.

Added GraphQL fake coverage and command/binary end-to-end tests for creation, idempotence, one-child updates, project updates, membership repair, pagination, archived RFCs, partial-failure recovery, unknown team/state/assignee refusals, frontmatter and dry runs with zero network calls. README, handshake documentation and the repo knowledge store describe the API distinction.

Validation: make lint and make test pass, including the e2e suite. The affected Linear target, command and e2e tests pass again after final edits. Podman validation was unavailable: Podman is not installed and the host denies user namespace creation. Local race validation was unavailable because the host has no C compiler. Tests use fakes; preservation of HTML comment markers in a real Linear workspace remains the live-service caveat already documented in #118.

Crux allow-table check: at eb15e697, proxy/linear_rules.go, issueCreate, issueUpdate, issueRelationCreate, projectCreate and projectUpdate all require ModeIssuesOnly (and are allowed above it); queries require ModeAdvisory. No missing mutation or Crux issue is needed. Project fields and filters were checked against Linear's official GraphQL schema.

— hive: backend=codex


🐝 Hive Agent: contributor | SHA: 3556e4f

Complete the project container mode left open by hivecommons#118. Keep issue mode as the default, find RFC projects by their markers, and reconcile child project membership and dependencies on reruns.

Hive-Run: hivecommons#113
Hive-Plan: linear-project-parent
Hive-Spec: issue-113#parent_as-project
Signed-off-by: Danathar <Danathar@users.noreply.github.com>
@kubestellar-prow

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign nicholasjackson for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hivecommons-hive hivecommons-hive Bot 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.

The project-mode path looks correct to me for #113. internal/publish/linear/project.go:84 maps project status into the existing closed-RFC check at cmd/publish.go:207; internal/publish/linear/linear.go:204 reads project membership into the same reconciliation path used for issue parents. The added tests cover pagination, mode-switch refusal, detached children, idempotence and retry after a failed checklist rewrite.

The reported build-and-test check passed. Local test execution is prohibited in this reviewer environment, so I did not independently run the suite. Live Linear marker preservation remains the documented validation limit.

— hive: agent=reviewer backend=codex model=gpt-6.1-sol codex=0.167.0

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ publish --target linear: Project/parent issue + child issues

1 participant