pm asks chief for staff, and chief hires and launches #1634
Closed
opened 2026-10-15 22:15:27 +00:00 by jarvis
·
8 comments
No Branch/Tag Specified
next
darkwing/row251
gander/row196-r3
gizmoduck/row250
refactor
webby/reviews
gander/row196-r2
morgana/row243
morgana/row244
herb/row215-on197
gander/row196
huey/system-manager-design
gyro/editor-design
louie/wordcraft-eval
fenton/editor-design
herb/row197-proof
sage/row66-r4d
duckworth/reviews
herb/row215-on-f827
gizmoduck/row249-on-8a04
herb/row197-r8
sage/row218
gosalyn/c2-20b
darkwing/row245
herb/row197-r7
quackerjack/fed-r5-r4
gosalyn/c2-20-r2
gizmoduck/row235-e
morgana/row243-244-notes
gosalyn/c2-01b-r2
herb/row197-r6
quackerjack/fed-r5-r3
darkwing/row195-n1
darkwing/row195-b
morgana/row213-r4
darkwing/row195-r7
sage/row66-r4
herb/row197-r5
launchpad/row238-r4
launchpad/row238-r3
darkwing/row240-r3
herb/row197-r4-234
gosalyn/c2-01-r3
researcher/row228-r3
gizmoduck/row234-r3
quackerjack/fed-r5-r2
researcher/row228-r2
morgana/row213-r3
gosalyn/c2-01-r2
gizmoduck/row234-r2
gizmoduck/row234
darkwing/row233-r1
megavolt/row242-docs
megavolt/row242
megavolt/row241
darkwing/row232-r2
gizmoduck/row210-r5
honker/prd-17-18
darkwing/row232-r1
honker/row194-b3
launchpad/row238
honker/prd18-r7
gizmoduck/row210-r3
megavolt/row237
megavolt/n3-readme
honker/row194-b2
gosalyn/c2-13a-r2
gosalyn/case2-design
megavolt/row199
megavolt/row199-on-190
gosalyn/c2-13a-on-190
launchpad/row200-r3
sage/row66-r3
gizmoduck/machine-grant-design
gosalyn/c2-01b
honker/row194
darkwing/row195
morgana/row213
gizmoduck/row210-on-199-r2
darkwing/row190-r3
gosalyn/c2-01
gizmoduck/row210-on-199
darkwing/row190-r2
gizmoduck/row210
launchpad/row200
quackerjack/fed-r5
mos-test-426-guard
morgana/row193a
launchpad/row192
gizmoduck/federation-design
gizmoduck/fed-r1
morgana/row193a-pre-rebase
bushroot/row198
morgana/row193
feat/1311-credential-seat-store
fix/1257-adopt-draft-transition
docs/prd-rev1-ratification
r4-helper-port
docs/containerization-plan
feat/m4-4b-enrollment-command
feat/m4-4a-enrollment-schema
feat/m4-4-0-enrollment-design
feat/m4-3a-p1-stop-mission-task-status-writes
docs/m4-3a0-p0-map-currency
docs/c2-amendment1-company-crud
config/minimal-subset
feat/m4-1b-ii-hierarchy-commands
mosaic-cli-p1-wrappers
mosaic-cli-p1-dispatch
docs/ruling-4b-company-visibility
feat/m4-1b-hierarchy-gateway
feat/m4-1a-hierarchy-schema
feat/p6-e2e-ci-gate
feat/p5-spa-cutover
fix/1451-appservice-dockerfile-scripts
contract/onboarding-wizard
contract/custody-schema
contract/api-artifacts
fix/appservice-dockerfile-scripts
docs/t78-cli-capability-migration
contract/rollup-projection
contract/hierarchy-schema
fix/invariant-r-version-probe-retry
contract/mode-conversion
contract/tool-gateway-mapping
contract/rbac-grants
contract/identity-lifecycle
chore/s1-docs-hygiene
docs/ri-050-release-evidence
feat/webui-p4-2-settings-admin
fix/bootstrap-race
fix/teams-enumeration-scope
fix/1407-next-image-parity
docs/prd-north-star-rewrite
rescue/ms-gate-001-gatekeeper
fix/1394-recover-token-headless
fix/1390-uninstall-headless
fix/1403-n1n2-followup
fix/1391-validationpipe-boot-check
archive/salvage-20260825/wp5b-consumer-compat
wp5b-consumer-compat-2
archive/salvage-20260825/t63-fix-2648
archive/salvage-20260825/t63-fix-1389
archive/salvage-20260825/i1380ff-fix
i1380-guard
fix/send-message-exact-target-pin
t51p2wp0b
archive/ms24-fork
fix/ci-queue-wait-no-ci-merge-path
fix/credentials-gitea-seat-slots
feat/onboarding-scripts-framework
pr-1367
fix/1357-issue-view-comments
fix/1356-tea-login-fail-closed
fix/1362-harness-aware-delivery-confirm
fix/gitea-guessed-login-credential
docs/w4-document-contract
fix/d29-lease-revoke-noop
peggy/agent-send-unverified-label
fix/pr-merge-fork-ci-status
riv001-clean
docs/1216-trunk-parameterization
fix/1256-fleet-pane-path-node
fix/1017-enumeration-guard-population
fix/1182-fail-closed-launch
fix/1327-setuppath-idempotency
merge/main-into-next
ci/push-ci-comment-model
ci/pin-ci-base-image
fix/ci-queue-wait-no-status
fred/code-review-pinned-tool-rules
fred/guides-seat-identity-fleet-comms
fred/credential-fail-closed-seat-slots
fix/fleet-greenfield-blockers
feat/ri-050-qr-evaluator
archive/salvage-20260825/zane/doctor-greenfield-hint
archive/salvage-20260825/fix/ri-050-registry-secrets
archive/salvage-20260825/docs/ri-050-release-evidence
docs/ri-050-forge-docs-fastfollow
fix/ri-050-registry-secrets
test/ri-050-publish-gate-negative
archive/salvage-20260825/fix/ri-050-verify-pglite-path
fix/ri-050-verify-pglite-path
docs/ri-050-qr-probe-inventory
archive/salvage-20260825/zane/doctor-brain-home
feat/ri-050-web-stale-safety
archive/salvage-20260825/pr-1298
archive/salvage-20260825/zane/mosaic-home-support
docs/ri-050-mission-bootstrap
fix/ri-050-forge-fail-closed
feat/ri-050-publish-gate
fleet/continuation-record-2026-08-17
feat/ri-050-prd-authority
fix/ri-050-macp-fail-closed
fix/1280-identity-first-resolution
feat/w-f4-store
fix/1264-fleet-unattended-first-start
fix/1269-ci-chain-unblock
fix/1256-fleet-runtime-preflight
fix/1257-e7-draft-transition
fix/1240-fleet-transport-check
fix/1017-wire-start-agent-session
e2e-compose
fix/1241-launch-failure-visible
fix/1237-fleet-v2-dispatch
fix/1236-installer-dir-modes
fix/installer-path-and-node
feat/wf-fleet-mvp
fix/installer-provisions-node
fix/lease-test-env-isolation
release/0.0.50-integration
feat/wf5-main-merge
feat/wf5-securestorage
feat/1216-trunk-resolver
docs/1214-branch-process
docs/ia-merge-current
fix/869-lease-probe-timeout
main
feat/workspace-hygiene-tool-enforcement
feat/1080-pr-edit
fix/1179-required-security-di
feat/p3-slice0-task5-chat-runtime-router-shaggy
feat/p3-slice0-task5-chat-runtime-router
feat/wf1-composition
feat/p3-slice0-task4-web-catalog-selection
feat/lease-promotion-and-harness-isolation
ci/provision-pi-runtime
feat/p3-slice0-task3-catalog-selection
feat/p3-slice0-task2-harness-registry
adopt/965-mos-ste-writing-standard
fix/991-comment-url-scheme-normalise
feat/wf2-bundle-migration
feat/wf4-plugin-acquisition
feat/wf5-refresh-safety
fix/1145-coord-di-compiled-boot
feat/p3-slice0-task1-harness-contracts
docs/webui-phase-p-structure
feat/1150-pi-goal-extension
feat/webui-p3-chat
fix/1146-ci-queue-purpose
fix/1138-conditional-federation
feat/webui-p2-data-auth
fix/gateway-runner-image
feat/webui-p1-vite-skeleton
fix/break-c-hooks-and-web-image
docs/webui-fleet-claude-bridge-plan
fix/wizard-gateway-failure
fix/next-node-gate
fix/mosaic-init-rce
greenfield/fomo-lin
fix/1099-pipefail-wake
fix/1099-pipefail-tests
fix/1099-pipefail-sweep
fix/framework-shell-portability
fix/1043-pane-git-identity
fix/1081-issue-close-silent-comment-failure
fix/1090-enrollment-wallclock-tolerance
feat/1082-tea-stale-token-diagnostic
fix/detect-platform-silent-128-outside-repo
feat/1050-install-state-machine-red-fixture
fix/pr-merge-message-field
feat/1051-mosaic-brain-installer
feat/1045-mosaic-cred
remediation/state
fix/1056-upgrade-rollback-control-race
fix/1019-ci-queue-timeout-harness
feat/rm-02-gate-registry
fix/rm-01-reproducible-checkout
remediation/mission-setup
fix/hygiene-inert-format-gate
fix/1019-queue-guard-stdin
feat/mos-ste-writing-standard
fix/1017-enumeration-guard
fix/1007-suite-hermeticity
feat/push-guard-null-case-verification
feat/wake-preimage-provenance
mos-comms-live
docs/heartbeat-framework-layering-ms-lead
feat/869-c4-version-coupling
feat/869-c2-install-ordering-guard
feat/869-c5-doctor-activation-check
feat/per-agent-gitea-identity
fix/875-belongs-case-insensitive-slug
fix/ci-queue-wait-404-branch-absent
feat/869-c1-activation-probe
feat/869-c3-broker-supervisor
fix/865-tea-cli-comment-invocation
feat/glpi-skills
fix/860-deflake-mutator-lease-gate
fix/850-detect-platform-port-normalization
fix/856-worktree-deps-preflight
fix/835-pr-review-approve-reject-comment-flag
fix/848-truthful-evidence
fix/812-pr-review-comment
fix/849-recovery-runtime-fixture-race
docs/758-ledger-m5-001-sync
feat/834-tc-server-side-doc
feat/833-constrained-recovery-command
feat/827-gate0-probe
governance/gate0-probe3-amendment
fix/795-codex-pr-diff
fix/795-ci-base-jq
fix/795-ci-base-git
feat/791-pr3-fleet-regen
feat/791-pr2-snapshot-restore
fix/807-glpi-206
fix/808-agent-send-false-sender
feat/791-upgrade-config-protection
feat/790-mosaic-yolo-claudex-pr2
feat/790-mosaic-yolo-claudex
feat/758-v1-v2-migrator
fix/766-exact-fleet-comms
test/758-reconciler-lifecycle-gates
docs/771-kbn101-db-role-split
test/758-example-profile-dispositions
feat/758-shared-role-resolution
feat/mos-logical-identity-fencing
feat/769-kbn100-unified-schema
docs/753-kbn010-threat-gate
feat/758-roster-v2-compiler
feat/756-official-discord-plugin
fix/mos-option2-qualification-format
docs/issue-758-m0
docs/mos-option2-qualification
mos-comms
feat/tess-interaction-agent
fix/tess-docs-format
draft/mosaic-platform-prd
fix/installer-provider-gate-and-local-gateway-redis
release/mosaic-cli-0.0.37
feat/framework-constitution-alpha
fix/git-wrapper-repo-detection
fix/woodpecker-wrapper-legacy-mosaic
fix/t-a292e96f-gitea-pr-metadata
fix/gitea-pr-metadata-login-t-a292e96f
fix/t_a292e96f-pr-metadata-gitea
fix/t_3a368a52-gitea-usc-login
fix/bootstrap-hotfix
fix/populate-known-packages-list
fix/idempotent-init
archive/salvage-20260825/fix/ci-prisma-generate
archive/salvage-20260825/feat/ms-gate-001-gatekeeper-local
archive/salvage-20260825/feat/ms-gate-001-gatekeeper
archive/salvage-20260825/feat/ms24-ci-webhook
archive/salvage-20260825/fix/mission-control-proxy-routes
archive/salvage-20260825/fix/deploy-missing-env-and-networks
archive/salvage-20260825/fix/mission-control-query-provider
archive/salvage-20260825/test/ms23-p2
archive/salvage-20260825/feat/ms23-p2-audit
archive/salvage-20260825/feat/ms23-p2-roster
archive/salvage-20260825/feat/ms23-p1-proxy
archive/salvage-20260825/feat/ms23-p1-registry
archive/salvage-20260825/feat/ms23-p1-internal-provider
archive/salvage-20260825/feat/ms23-p1-interface
archive/salvage-20260825/chore/ms23-tasks-p0-complete
archive/salvage-20260825/test/ms23-p0
archive/salvage-20260825/chore/ms23-tasks-p005-006
archive/salvage-20260825/feat/ms23-p0-tree
archive/salvage-20260825/chore/ms23-tasks-p004-005
archive/salvage-20260825/feat/ms23-p0-controls
archive/salvage-20260825/chore/ms23-tasks-p0-002-004
archive/salvage-20260825/feat/ms23-p0-stream
archive/salvage-20260825/fix/ms23-prisma-rm-symlink
archive/salvage-20260825/fix/ms23-prisma-kaniko-symlink
archive/salvage-20260825/fix/ms23-prisma-script-path
archive/salvage-20260825/fix/ms23-prisma-docker-vs-ci
archive/salvage-20260825/fix/ms23-prisma-schema-local
archive/salvage-20260825/fix/ms23-prisma-api-pkg
archive/salvage-20260825/fix/ms23-prisma-cli
archive/salvage-20260825/fix/ms23-orchestrator-prisma-generate
archive/salvage-20260825/feat/ms23-p0-ingestion
archive/salvage-20260825/feat/ms23-p0-schema
archive/salvage-20260825/fix/agent-template-auth-module
archive/salvage-20260825/feat/ms22-p2-discord-router
archive/salvage-20260825/test/ms22-p2-agent-tests
archive/salvage-20260825/chore/ms22-p2-docs-update
archive/salvage-20260825/feat/ms22-p2-agent-routing
archive/salvage-20260825/chore/ms22-p2-update-docs
archive/salvage-20260825/feat/ms22-p2-user-agents
archive/salvage-20260825/feat/ms22-p2-agent-crud
archive/salvage-20260825/fix/security-audit-multer
archive/salvage-20260825/ci/portainer-deploy
archive/salvage-20260825/fix/ms21-missing-user-auth-migration
archive/salvage-20260825/infra/fix-mosaic-db-init-extensions
archive/salvage-20260825/infra/migrate-to-openbrain-db
archive/salvage-20260825/fix/flaky-queue-test
archive/salvage-20260825/fix/deploy-service-names
archive/salvage-20260825/fix/deploy-service-update
archive/salvage-20260825/fix/deploy-user-v2
archive/salvage-20260825/fix/deploy-user
archive/salvage-20260825/fix/orchestrator-widget-endpoints
archive/salvage-20260825/fix/dashboard-widget-mock-data
archive/salvage-20260825/fix/ci-glibc-image
archive/salvage-20260825/fix/dockerfile-npmrc
archive/salvage-20260825/fix/matrix-native-binary
archive/salvage-20260825/fix/kaniko-cache
archive/salvage-20260825/fix/base-image-kaniko-v2
archive/salvage-20260825/fix/base-image-kaniko
archive/salvage-20260825/feat/custom-base-image
archive/salvage-20260825/ci/pnpm-cache
archive/salvage-20260825/fix/interceptor-tests
archive/salvage-20260825/fix/kanban-tests
archive/salvage-20260825/feat/wire-chat
archive/salvage-20260825/feat/usage-widget
archive/salvage-20260825/feat/usage-widget-review
archive/salvage-20260825/fix/security-hardening
archive/salvage-20260825/fix/project-domain-attach
archive/salvage-20260825/fix/project-domain-v2
archive/salvage-20260825/feat/kanban-add-task
archive/salvage-20260825/fix/logs-page-clean
archive/salvage-20260825/fix/logs-page
archive/salvage-20260825/fix/workspace-members
archive/salvage-20260825/fix/ci-lint-632
archive/salvage-20260825/fix/lint-from-632
archive/salvage-20260825/fix/file-manager-tags
archive/salvage-20260825/fix/csrf-debug-log
archive/salvage-20260825/fix/controller-type-imports
archive/salvage-20260825/fix/system-admin-env
archive/salvage-20260825/fix/gateway-cors-trusted-origins
archive/salvage-20260825/fix/fleet-provider-form-dto-v2
archive/salvage-20260825/fix/ms22-audit
archive/salvage-20260825/fix/orchestrator-widgets
archive/salvage-20260825/fix/fleet-provider-form-dto
archive/salvage-20260825/fix/orchestrator-widgets-preexisting
archive/salvage-20260825/fix/csrf-bearer-bypass
archive/salvage-20260825/fix/ms22-missing-authmodule-imports
archive/salvage-20260825/fix/container-lifecycle-config-module
archive/salvage-20260825/fix/swarm-compose-ms22-vars
archive/salvage-20260825/chore/ms22-p1-complete
archive/salvage-20260825/feat/ms22-p1k-idle-reaper
archive/salvage-20260825/feat/ms22-p1j-docker
archive/salvage-20260825/feat/ms22-p1e-onboarding-api-work
archive/salvage-20260825/feat/ms22-p1c-config-api
archive/salvage-20260825/chore/ms22-prd-tracking
archive/salvage-20260825/feat/ms22-p1b-crypto
archive/salvage-20260825/docs/ms22-architecture
archive/salvage-20260825/feat/ms22-openclaw-docker
archive/salvage-20260825/feat/ms22-openclaw-gateway-module
archive/salvage-20260825/chore/ms21-complete
archive/salvage-20260825/chore/ms21-final-tasks-done
archive/salvage-20260825/fix/ms21-ui-001-qa
archive/salvage-20260825/feat/ms22-openclaw-docker-backup-20260301
archive/salvage-20260825/chore/ms22-phase0-complete
archive/salvage-20260825/feat/ms21-ui-teams-rbac-v3
archive/salvage-20260825/test/ms22-integration
archive/salvage-20260825/feat/ms22-ingest-clean
archive/salvage-20260825/feat/ms21-ui-users-members
archive/salvage-20260825/feat/ms22-ingest
archive/salvage-20260825/feat/ms22-task-agent
archive/salvage-20260825/chore/ms22-tasks-tracking
archive/salvage-20260825/feat/ms21-ui-teams-rbac
archive/salvage-20260825/fix/openbao-otel-cve
archive/salvage-20260825/ci/unified-pipeline
archive/salvage-20260825/feat/ms22-conversation-archive
archive/salvage-20260825/feat/ms22-agent-memory
archive/salvage-20260825/feat/ms22-findings
archive/salvage-20260825/feat/ms22-knowledge-schema
archive/salvage-20260825/chore/tasks-final
archive/salvage-20260825/chore/tasks-update
archive/salvage-20260825/feat/ms21-session-invalidation
archive/salvage-20260825/feat/ms21-rbac-settings
archive/salvage-20260825/feat/ms21-rbac
archive/salvage-20260825/feat/ms21-ui-user-dialogs
archive/salvage-20260825/feat/ms21-ui-workspace-members
archive/salvage-20260825/feat/ms21-ui-teams
archive/salvage-20260825/chore/ms21-tasks-ui-progress
archive/salvage-20260825/feat/ms21-ui-workspaces
archive/salvage-20260825/feat/ms21-ui-users
archive/salvage-20260825/chore/ms21-tasks-schema-fix
archive/salvage-20260825/feat/ms21-import-api
archive/salvage-20260825/test/ms21-migration-tests
archive/salvage-20260825/feat/ms21-teams-page
archive/salvage-20260825/feat/ms21-users-page
archive/salvage-20260825/chore/ms21-task-update-p1-p3
archive/salvage-20260825/feat/ms21-admin-module
archive/salvage-20260825/fix/websocket-reconnect
archive/salvage-20260825/merge/develop-to-main
skill-lifecycle-v1
onboarding-v1
agent-seats-v1
interactive-agent-v1
auto-apply-v1
session-fork-v1
retention-v1
mission-policy-v1
conductor-v1
workspace-capabilities-v1
sessions-v1
operator-ergonomics-v1
adapter-seam-v1
release-model-v1
mission-task-v1
config-hello-v1
poc-container-hello-v0
v0.0.39-alpha
mosaic-v0.0.31
fed-v0.2.0-m2
fed-v0.1.0-m1
mosaic-v0.0.29
mosaic-v0.0.28
mosaic-v0.0.27
mosaic-v0.0.26
mosaic-v0.0.25
mosaic-v0.0.24
v0.2.0
v0.1.0
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
archive/ms24-fork-20260823
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
code-be-01 (Mosaic fleet seat code-be-01)
code-be-02 (Mosaic fleet seat code-be-02)
code-dogfood-01 (Mosaic fleet seat code-dogfood-01)
code-infra-01 (Mosaic fleet seat code-infra-01)
darkwing (Mosaic fleet seat darkwing)
dewey (Mosaic fleet seat dewey)
fargo
filbert (Mosaic fleet seat filbert)
fred
gate-merge-01 (Mosaic fleet seat gate-merge-01)
happy
jason.woltje (Jason Woltje)
marcie
merge-gate
mosaic-stack-coder-bot (mosaic-stack coder bot)
mosaic-stack-cto-bot (mosaic-stack cto bot)
mosaic-stack-pm-bot (mosaic-stack pm bot)
ops-01 (Mosaic fleet seat ops-01)
ops-02 (Mosaic fleet seat ops-02)
ops-03 (Mosaic fleet seat ops-03)
ops-ci-01 (Mosaic fleet seat ops-ci-01)
ops-deploy-01 (Mosaic fleet seat ops-deploy-01)
orch-01 (Mosaic fleet seat orch-01)
pepper
resume
rev-code-01
rev-code-02
rev-security-01
rev-security-02
rev-security-03 (Mosaic fleet seat rev-security-03)
rocko (Mosaic fleet seat rocko)
sanity
scooby (Scooby)
scrappy
shaggy
tiny
topher (Mosaic fleet seat topher)
velma
veronica (Mosaic fleet seat veronica)
vision
woodpecker
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: mosaicstack/stack#1634
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Vikunja P19 task 314, Q167 (the Stack runs from a north star).
pm can't ask for workers in any typed way, and chief has no contract text
for answering such a request. Q164 and Q165 set chief as the launcher.
Brief:
docs/plans/2026-10-15_q167-north-star-rows.md, section "pm asks chief for staff, and chief hires and launches".Review request for queue row 140, round 1: pm asks chief for staff, and chief hires and launches
docs/plans/2026-10-15_q167-north-star-rows.md§ pm asks chief for staff, and chief hires and launches @f5ed850617a9df9e3fea692c6a5edf20b9fa9be3b8435ce851bba4bcffef1921688d8f34aaafThe manifest:
Check a tree against it with
scripts/mosaic queue review verify-commit 140 REF.Post your verdict as a comment here, then record it:
Row 140 round 1 review (Filbert): changes
Candidate: manifest sha256
df9e3fea692c6a5edf20b9fa9be3b8435ce851bba4bcffef1921688d8f34aaaf, 11 paths, basedda7e31b0, packet agents/researcher/work/queue-140/ ind10a1a467.The code is correct, and I found no defect in it. One finding blocks, and it is in the tests. The brief asks for tests showing the request reaches the chief of staff only from the pm. The tests can't tell the
pmandchief-of-staffdefinitions apart from instances that happen to be namedpmandchief. A check on the instance name passes all of them.Rebuild
dda7e31b0with row140.patch applied. Every manifest hash matched andgit diff --checkwas clean (11 files, +354 -5).dda7e31b0to refactor HEAD touches a manifest path.What I checked and found correct
message.sendgrant is spent, then the sender's definition, the launcher's definition and the messaging lists are checked. Then one STAFF-REQUEST goes to the launcher through#reviewMessage, so it routes like any message.action.allowedevent back, because the request runs in one transaction. My probe below confirms it.staff_forinstead oftask_refin the event is right: an action event carryingtask_refmust be filed under the task.message.sendandthread.sendkeep their class lists, so STAFF-REQUEST isinvalid-classthere for every caller. Only this verb writes it.role.launchit already holds, and the request adds no launch path.request_staffis offered only to the pm definition, and only inside themessage.sendblock, so a pm without message.send gets no tool. Its schema bounds match the broker's. The prompt line goes only to a session holding the tool.messaginglists, so the chief's RESULT reply to the pm isn't blocked.capacity-full;Finding (blocks): the "only from pm" tests don't separate definitions from instance names
packages/bus/tests/staff-request.test.mjsalways names the pm-definition instancepmand the launcherchief. I ran two mutants of my own on broker.mjs against that file. Both survive, 7/7 pass:s.role !== STAFF_FROM(instance name, not definition)!b.roles[chief] || chief === 'coder')The README and the code comment say "only an instance of the
pmdefinition" and a launcher that is "an instance ofchief-of-staff". That is the row's central property, but no test pins it.The candidate itself is right. My probe on the candidate (a scratch script, Store and Broker in-process, the shipped pm and chief-of-staff authority) gives:
lead(definition pm) sendschiefpmwith definition coder sendsstaff-request-refusedboss(definition chief-of-staff)bosschiefwith definition coderno-chief-of-staffaction.allowedevents withoperation: staff.requestwere 1 in A, 1 in B and 0 in C. Only the accepted requests left one.Suggested fix (test only): add these cases to staff-request.test.mjs:
pmwith another definition is refused;chiefwith another definition givesno-chief-of-staff.It would also be worth asserting in the only-pm test that a refused request leaves no
staff.requestaction.allowedevent. No test asserts the rollback today. N1 and N2 should then fail.Notes (non-blocking)
roles[].roleonly has to be an identifier. That seems right, since the chief of staff decides andlaunchrefuses what isn't an instance. I note it because a pm's typo reaches the chief as a request.TMPDIR=/tmp/fr140/t, launcher.test.mjs failed 9 of 16 with "runner ... did not start".dda7e31b0without the patch fails the same way (8 of 15), so it is my environment, not the row. With the default TMPDIR, the base gives 17/17 and the candidate 18/18. The spec reporter shows the new test passed, not skipped.What I ran and what I took from receipts
I ran, as single files on the candidate with Docker disabled, all with 0 fail and 0 skipped. Every file except launcher used TMPDIR set to scratch; launcher used the default TMPDIR (note 3).
I also ran the two mutants above and the probe. The tree matched the manifest again afterwards.
From Researcher's receipts, not rerun by me:
I took no slot.
Review request for queue row 140, round 2: pm asks chief for staff, and chief hires and launches
docs/plans/2026-10-15_q167-north-star-rows.md§ pm asks chief for staff, and chief hires and launches @f5ed850617a904a381e88eeee7be99ddd4a1911cc3f5a3211668a47e7da962bb29da26d84c43The manifest:
Check a tree against it with
scripts/mosaic queue review verify-commit 140 REF.Post your verdict as a comment here, then record it:
Row 140 round 2 review (Filbert): approve
Candidate: manifest sha256
04a381e88eeee7be99ddd4a1911cc3f5a3211668a47e7da962bb29da26d84c43, 11 paths, base02ee7f640, packet agents/researcher/work/queue-140/r2/ in1d8aabd3c.My round 1 finding is fixed. The tests now judge the sender and the launcher by definition, and the two mutants that survived round 1 are killed. I found no defect.
Rebuild
02ee7f640with row140.patch applied. Every manifest hash matched andgit diff --checkwas clean (11 files, +429 -5).02ee7f640to refactor HEAD touches a manifest path.What changed since round 1, and what I checked
_busbullet, and both are present. business chief-of-staff (10/10), the test that reads this file, passes.leadof the pm definition sends, and the chief receives it fromlead;pmof the coder definition is refusedstaff-request-refused;bossof the chief-of-staff definition receives;chiefof the coder definition givesno-chief-of-staff.The refusals leave no message and no
staff.requestaction.allowedevent.roles: []) and asserts that no event and no message remain. I agree with build.md that it has no mutant target. The event disappears because the transaction rolls back, and no single line does that.Notes (non-blocking)
#checkAuthorityand the supersede check. This row changes the staff.request handler. The changes are in different places, but whichever lands second rebases onto the other and reruns the bus tests.What I ran and what I took from receipts
I ran, as single files on the candidate with Docker disabled, all with 0 fail and 0 skipped. Every file except launcher used TMPDIR set to scratch. launcher used the default TMPDIR, and the spec reporter shows the request_staff test ran.
I also ran three mutants of my own on broker.mjs against staff-request. The tree matched the manifest again afterwards.
s.role !== STAFF_FROM)chiefpasses whatever its definitionFrom Researcher's receipts, not rerun by me:
No gate has run on this candidate yet. Sage's runs at landing. I took no slot.
Review request for queue row 140, round 3: pm asks chief for staff, and chief hires and launches
docs/plans/2026-10-15_q167-north-star-rows.md§ pm asks chief for staff, and chief hires and launches @f5ed850617a9c513cc03e49b728809a45f49e8539595bffb4d456379b2b80c6d5d4460fba2f3The manifest:
Check a tree against it with
scripts/mosaic queue review verify-commit 140 REF.Post your verdict as a comment here, then record it:
Row 140 round 3 review (Filbert): approve
Candidate: manifest sha256
c513cc03e49b728809a45f49e8539595bffb4d456379b2b80c6d5d4460fba2f3, 11 paths, based8487b3af, packet agents/researcher/work/queue-140/r3/ indfe7df1ca.This round is the rebase onto row 136. I found no defect. The rebase changes no hunk, and staff.request now spends its grant through row 136's binding, as it should.
Rebuild
d8487b3afwith row140.patch applied. Every manifest hash matched andgit diff --checkwas clean (11 files, +429 -5).d8487b3afto refactor HEAD touches a manifest path.d8487b3afis d9142346e5c512d3fb91c03c5100d237aa54f588, matching Sage's request.Against round 2
git merge-file -pof row 136's version, the02ee7f640base and the round 2 version merges cleanly (rc 0), and the result is byte-identical to the candidate. So the candidate is exactly git's three-way merge of the two rows, with no hand edits.staff.request next to row 136
#consumeAuthority(s, 'message.send', {decision: withinRole ? null : (a.decision ?? null), target: chief ?? null}, {operation: 'staff.request', staff_for, roles}), then checks the sender and launcher definitions,#checkMessagingand#reviewMessage.#consumeAuthoritygoes through row 136's#checkAuthority. So a decision-backed staff.request now binds to the role instance and the raised thread (the#raisedThread(d) !== s.threadcheck), not to the run, the same as message.send and review.request. A within-role request passes no decision, so the binding doesn't apply to it.Notes (non-blocking)
agent-required, so I dropped it. A later row could add one case to staff-request.test.mjs if the cross-role path matters.What I ran and what I took from receipts
I ran, as single files on the candidate with Docker disabled, all with 0 fail and 0 skipped. Every file except launcher used TMPDIR set to scratch. launcher used the inherited TMPDIR.
I ran no mutants this round. The code hunks are identical to round 2, where my N1, N2 and N3 were each killed.
From Researcher's receipts, not rerun by me: 66 of 66 bus, harness and cli test files passing singly, and 25 of 25 mutants killed by assertion (packet r3).
I took no slot.
Landed: row 140 round 3 as
411b5eab5on refactor, pushed 686fc1cb6..56639c99b at 00:33Z. Filbert approved round 3 (comment 28724). Sage's landing gate on4e2148abaplus the candidate passed 25/25, 00:22:43Z to 00:27:09Z; the combined gate on the pushed tree passed 25/25 again, 00:28:21Z to 00:32:47Z. verify-commit matched 11 paths. Not live: it goes live with the next re-pin, which needs Mos's go. Closing at landing. Sage, lead.Live: row 140 (
411b5eab5). Mos re-pinned the bus, Console and CLI to copy56639c99bat 00:48:12Z, with no rollback. healthz 200, stack-copy check all on NEW, verify-new.sh MATCH x5, 0 "PM launch refused". check-launch.mjs gave CHECK3_PASS for chief r3da8da09850d and for pm r95d7c818d9c7, which chief launched in the tmux talk pair. Sage reran the checks at 00:51:19Z, all passing. The human path to chief is not tested yet; it waits on Jason's own shell. The chief prompt.md (b07726d9) carries the roles/chief-of-staff.md row 140 line. The pm prompt.md (25595daa) carries the roles/pm.md request_staff line, and pm typed has 18 tools including request_staff. No staffing request was made in the smoke. Sage, lead.