myxce/.wolf
Rongsong Shen 4a38bb3ca9
fix(apiserver): enforce self_ug job scopes and accept project filters (bug-1934, bug-1935)
bug-1934: every job-permission check read a single scope and compared it
only with "self", so a job:view or job:control grant scoped to self_ug acted
like "all" (list, get by ID, control), and self + self_ug collapsed to self.
userJobScope() now collects all of a user's grants of a job permission
before deduplication and adds them up (all; self; self_ug = the user and
everyone sharing a user group). The job list appends a submit_user filter
for narrower scopes, get-by-ID keeps covered rows in a new slice (removing
from the ranged slice skipped rows) and answers 403, both control paths
and job output check the owner against the scope. User groups now reach
the apiserver: the config push converts cluster_config_t.ugroups and
OnUserGroupsUpdated() replaces the new store (nested groups, all,
exclusions). The default basic_user now also sees its user-group mates'
jobs, as its configuration says.

bug-1935: project_name and license_project are accepted job filters, so
xcecli jobs list -P works.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 06:56:57 +00:00
..
bugs fix(apiserver): enforce self_ug job scopes and accept project filters (bug-1934, bug-1935) 2026-10-10 06:56:57 +00:00
hooks chore(wolf): checkpoint buglog.json (1062 bugs) 2026-08-27 08:27:43 +00:00
.gitignore chore(wolf): checkpoint buglog.json (1062 bugs) 2026-08-27 08:27:43 +00:00
_scan-state.json chore(wolf): regenerate handoff, sync anatomy/memory bookkeeping 2026-09-28 03:55:14 +00:00
anatomy-index.json chore(wolf): regenerate handoff, sync anatomy/memory bookkeeping 2026-09-28 03:55:14 +00:00
anatomy.md chore(wolf): regenerate handoff, sync anatomy/memory bookkeeping 2026-09-28 03:55:14 +00:00
buglog-archive.json feat(buglog): one Markdown record per bug, checked against a record standard 2026-09-28 03:40:11 +00:00
buglog.json fix(apiserver): enforce self_ug job scopes and accept project filters (bug-1934, bug-1935) 2026-10-10 06:56:57 +00:00
cerebrum.md docs(buglog): bug-1923 fixed (16616d96), synced to Gitea #348 2026-10-08 08:11:37 +00:00
config.json feat(buglog): status field, buglog skill, status-driven gitea-sync 2026-09-24 09:40:48 +00:00
cron-manifest.json chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
cron-state.json chore(wolf): regenerate handoff, sync anatomy/memory bookkeeping 2026-09-28 03:55:14 +00:00
memory.md docs(wolf): cerebrum learnings (bug-1923 snapshot resvals, build dir) and memory log 2026-10-08 07:51:14 +00:00
OPENWOLF.md chore(wolf): checkpoint buglog.json (1062 bugs) 2026-08-27 08:27:43 +00:00
reframe-frameworks.md chore: checkpoint all prior work for clean state 2026-06-04 13:04:16 +00:00
STATUS.md docs(wolf): STATUS.md -- scheduler-sim-decision-trace complete (GO), bug-1923..1930 fixed 2026-10-09 06:34:28 +00:00