Skip to content

Combine area and assigned work in named project views - #1581

Closed
Branden Bonaby (bbonaby) wants to merge 2 commits into
mainfrom
user/bbonaby/project-view-membership
Closed

Branden Bonaby (bbonaby) wants to merge 2 commits into
mainfrom
user/bbonaby/project-view-membership

Conversation

@bbonaby

@bbonaby Branden Bonaby (bbonaby) commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

📖 Description

Support one named project view containing all of a person's area work plus
anything assigned to them, including assignments outside their areas.
Area work remains visible when somebody else is assigned.

GitHub Projects cannot express this cross-field OR directly. Add a
deterministic synchronizer that maintains derived View-<login> issue labels
from area rules and assignments, with issue-event updates and hourly
reconciliation. It uses the repository token and needs no organization-project
secret. Pull request runs only execute read-only tests.

Keep the existing Type column and manual ordering, with Labels hidden.
The synchronizer does not change assignments, milestones, issue bodies, or
comments. Existing area/subarea rules are preserved in one configuration.
Include a deployment and rollback guide.

Activation is intentionally separate: merge the reviewed workflow, run a
successful full reconciliation, then switch the existing named view filters
to label:View-LOGIN. The live project filters have not been switched yet.
No new tabs are needed.

🔗 References

🔍 Validation

  • node --test scripts\tests\project-view-membership.test.cjs — passed, 9 tests.
  • node --check scripts\sync-project-view-membership.cjs — passed.
  • node scripts\sync-project-view-membership.cjs --repo microsoft/mxc — passed,
    read-only preview of all 67 open issues; processcontainer: intra-container loopback communication is blocked by default #1261 includes View-bbonaby.
  • git diff --cached --check — passed.
  • Live label writes and project-filter activation were not run; they require
    the reviewed workflow to be deployed first.
  • Product builds and SDK/backend suites were not run; no product code changed.

✅ Checklist

📋 Issue Type

  • Bug fix
  • Feature
  • Task

GitHub Actions runs the PR validation build automatically. The ADO pipeline
(MXC-PR-Build) is the Azure version of the PR pipeline, kept in parity with the GitHub
Actions build; it runs on merge to main, and Microsoft reviewers with write access can trigger it
on a PR with /azp run. See pull request builds.

If the dependency-feed-check check fails on a new dependency, the crate must be added to
the feed before the PR can pass. See pull request builds
for the steps.

Microsoft Reviewers: Open in CodeFlow

Maintain derived view labels with deterministic issue-event and hourly reconciliation. Preserve area rules and assignments, include cross-area assigned work, and document the gated project-filter rollout.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3e7c7c53-21df-41fa-9268-93af2b6824b3
@bbonaby
Branden Bonaby (bbonaby) requested a review from a team as a code owner October 27, 2026 06:53
Copilot AI balanced review requested due to automatic review settings October 27, 2026 06:53
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Reconcile all open issues for every queued trigger so coalesced events are retained and scheduled scans cannot race issue-event updates. Keep pull-request test runs separate and read-only.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3e7c7c53-21df-41fa-9268-93af2b6824b3

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Overlapping reconciliation and issue-event runs can delete required membership labels and temporarily hide assigned work.

1 open issue
What changed in this PR

Adds repository automation to combine area responsibility and assignments in existing named project views using derived View-<login> labels. Project-filter activation remains a separate deployment step; no SDK or backend behavior changes.

Changes:

  • Centralizes ownership rules and adds label synchronization with read-only previews.
  • Adds issue-event and hourly reconciliation, with read-only tests on pull requests.
  • Documents activation and rollback while preserving existing view layout and ordering.
File Description
scripts/​tests/​project-view-membership.test.cjs Tests membership rules, label updates, and failure handling.
scripts/​sync-project-view-membership.cjs Calculates membership and synchronizes derived labels.
scripts/​project-view-owners.json Defines area ownership and subarea exclusions.
docs/​development/​guides/​project-view-membership.md Explains ownership rules, activation, rollback, and local checks.
.github/​workflows/​Project.View.Membership.yml Runs validation and event-driven or scheduled synchronization.

Review effort: Balanced

Comment thread .github/workflows/Project.View.Membership.yml Outdated
Copilot AI balanced review requested due to automatic review settings October 27, 2026 06:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The automation is narrowly scoped to derived labels, separates PR validation from writes, and leaves live filter activation for a successful deployment.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

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