8000 feat(board): a task stands under its inherited team on every board by kvaps · Pull Request #299 · aenix-io/aeman · GitHub
[go: up one dir, main page]

Skip to content

feat(board): a task stands under its inherited team on every board - #299

Merged
kvaps merged 9 commits into
mainfrom
feat/effective-team-boards
Nov 6, 2026
Merged

kvaps merged 9 commits into
mainfrom
feat/effective-team-boards

Conversation

@kvaps
@kvaps kvaps commented Nov 6, 2026
Copy link
Copy Markdown
Member

A task with no team of its own under a plan item with a team counted under that team on the Roadmap, but stood in the "No team" group on the Team board, the Backlog and the Me filter, so filtering by the team hid it. The team is still inherited, not written down; it now places the task everywhere.

  • A task stands under its effective team (its own, else the nearest plan item's) on the Team grid, in the backlogs, in the Me filter and in the team selectors of the API, MCP and watch. A review card with no team of its own stands under its task's.
  • Sprints follow the same team: take, create, dates, review, finished-earlier, reopen and carry-over resolve the sprint by where the task stands.
  • When a plan item's team changes, or a task is moved under another plan item, its tasks in work move into the new team's current sprint in the same commit.
  • Storage, the repository a card lives in and every write still use the card's own team. Picking a team writes it as the card's own; "No owner" on a task under an epic leaves it under the epic's team.
  • A recurrent task re-seeded under a plan item keeps its parent.
  • Docs: ownership.md (O3, O13), backlog.md, dates.md, git-backend.md, plugin-impact.md, api.md.

kvaps added 9 commits November 6, 2026 22:58
A task with no team of its own under a plan item with a team stood in
the no-team group on the Team board, the Backlog and every team
filter, so filtering by the plan item's team hid it. It now stands
under its effective team everywhere a team places a card: the grid,
the Me board's sprint gate, the backlogs, the team selectors and
their watches, a day's record, and every sprint resolved for it,
carry-over included. A review card stands under its task's team. The
own team stays what is stored and written, and the domain rule is
unchanged, so a plan item's team change moves the tasks below
between teams' watches without a write.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
The board's mirrors follow the server: the Team board's team filter
and sprint, the Backlog's lists and its add box, and the Me board's
team filter and sprint gate read the team a task stands under, its
own else its plan item's, and a review card follows its task's.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
…s overwrote

The effective-team tests were written over placed_test.go, which held
the parking tests the matrix cites. They live in effectiveteam_test.go
now and the parking tests are back as they were.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
A task's placed team changes without a write to it when its plan item
takes another team, when it is filed under another plan item or taken
out from under one, or when its plan item is deleted and the children
handed up. A task in work stayed in its old team's sprint, which its
new team never opens and no carry-over reached. Such cards now join
the new team's current sprint in the same action, as a direct team
change does. A recurrent inheriting task is reseeded under the same
plan item, so the copy inherits the same way instead of standing in
the no-team group.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Index.EffectiveTeam counts a review card with no team under its
task's; a frame cut for a watcher still read only the review card's
own chain, so it disagreed with the watcher's listing.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
A subtask typed from a past day under a task that inherits its team
names no team of its own, so the record guard asked the no-team
group and let it through onto a day that was over for its team. It
now asks the team the card will stand under. MergeAsOf says why it
picks a card's copy by today's placement and draws it as it stood.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
Placing a task by its effective team built an index per team grid,
per Me list and per helper. A listing now builds one index on first
use and hands it to the grid, the Me list, the backlogs, the subtask
and record passes and the team filter.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
A plan item's team change moves a task and its subtask between the
teams' day-grid watches and a parked task between their backlog
watches; taken out from under the plan item it leaves the backlog.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
The boards still read sprints by a card's own team: leaving a past
day offered the no-team group's carry-over for an inheriting task,
and the remove and finished-earlier menus, review, dates, team
changes, take and the carry-over's optimistic move did the same.
They now read the team the card stands under. The placement is read
once per render rather than with a fresh map per card, a review
card's inherited team is shown from its task, and the drawer takes
the server's placement from the answer to own, a team or a parent.

Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
@kvaps
kvaps merged commit f326c88 into main Nov 6, 2026
2 checks passed
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.

1 participant

0