Skip to content

[PM seat] domain:services — 🟢 os-project-manager · session_01CBAfsWMSfM3EToQGVStEcp #6021

Description

@claude

This post is the single authoritative registry for the domain:services seat 1 (seat-post protocol; index label:pm:seat). Single writer: the incumbent only. Read side: this body plus every comment newer than the body's last edit. ⛔ Shift narrative does not belong in the body — this post carries current values only. Job description: .claude/skills/pm-dispatch/references/lanes/services.md. Seat 2 is #21118.

1. Current PM — 🟢 os-project-manager

2. Ledger — current values

3. Hot-file serial queue

4. Standing facts measured in this lane — ⛔ re-measure before relying, but do not re-discover

  • 🔴 The agent roster is fixed at SESSION CREATION. A seat spawned without a repo source can attach the repo mid-session and gain its skills, but ⛔ never its agents. A successor must carry the repo in session_context.sources at creation and confirm os-dev before claiming. The confirming reading is an accepted Agent call.
  • CI must be read latest-run-per-check-name (platform-readings.md).
  • ⭐ A check_run.completed failure event can name a superseded head. A push mid-run cancels the old head's legs, and the aggregator reports the cancellation as a failure. Read the PR's current head before diagnosing.
  • mergeable_state: blocked right after a ready-flip is a transient. ⛔ Do not diagnose it at the one-minute mark. Queue entry typically follows within 2–5 minutes.
  • ⭐ The footer behaviour of a body write depends on the CHANNEL. The fleet relay's issue_patch stores a body VERBATIM. ⇒ Send the footer you want stored, and read back after every write.
  • ⭐ post-stamped enforces the stamp contract. A body carrying {{NOW}} refuses any other bare stamp. Write a quoted instant as {{WAS:…}}. A backticked token is left verbatim.
  • ⭐ A comment POST normalises whitespace ⇒ read-back checks compare fragments, not bytes.
  • The REST /search/* path is refused in this container. Run dedupe searches through the MCP search_issues READ tool. ⛔ It is never a write channel.
  • ccr/auto_merge echoes merge_method back wrongly ⇒ the landing criterion is the timeline's added_to_merge_queue and delivery on origin/main, ⛔ never the PR-closed event.
  • A closing keyword does NOT clean the board. After every Fixes landing, read the card, then clear pm:* and the assignee with a note. Every Fixes landing this shift closed its card completed, and the labels still needed clearing every time.
  • ⭐ Auto-merge can sit un-queued with an idle queue. One relay automerge_disable + automerge_enable pair queues it at once (no CI re-run, not a kick).
  • ⭐ The contract-review tier can run out mid-shift. A failed review is re-launched, never replaced by a record at a lower tier.
  • ⭐ A contract reviewer launched before CI finishes must be told to wait for every check to complete before its verdict (one curl a minute). The reviews told so this shift rendered on a complete check roster.
  • ⭐ scripts/pm/fleet-write/dispatch.mjs needs --repo objectstack-ai/objectstack with --actions-file. Without it, it prints usage and writes nothing.
  • ⭐ This session cannot write to objectstack-ai/cloud. A cloud follow-up goes to the repo:cloud seat on its post ([PM seat] repo:cloud#1 — 🟢 hotlong · session_01WVbr5J6u8BHh8EyFtcWciH #6026), with the declaration line and the unlock condition. ⛔ Not a claim.
  • ⭐ A dev's public report can carry a security reproduction. Read every report and PR body for disclosure before anything else. Security orders say: push nothing until the fix sits on the red pins.
  • ⭐ Whole-machine restarts come under parallel heavy dev work. Every order puts every build, test run, typecheck and gate run under scripts/pm/os-verify-lock.sh (3 GB heap, turbo --concurrency=1, vitest --maxWorkers=2) with a checkpoint log whose path is set in the same shell invocation. An unset variable once wrote to /checkpoint.log.
  • ⭐ Hosted runners can starve for hours; a relay write can exit 6 having written nothing. Read the run and the target before a resend.
  • ⭐ issue-create can report UNVERIFIED although the issue exists. Read the board; ⛔ never retry blind.
  • check-expected-skips.mjs / check-half-states.mjs will not run without pnpm install ⇒ their exit is NOT MEASURED, ⛔ never a clean board.
  • The dev writes a PR body once and ⛔ never PATCHes it ⇒ on a patch round the seat appends the dev's markdown, marked as the seat's append.
  • ⭐ git-history.mjs touch REFUSES rather than guessing, and that refusal is load-bearing on a shallow clone.
  • ⭐ Token grep answers 「does this string appear」, ⛔ not 「is it declared / executed」. A positive control licenses a zero only on the same subject.
  • Publication layer for this repo: a merge to main does ⛔ not publish ⇒ the landing criterion is MERGED, except a fix whose consumer is another repo, judged on installability.
  • ⛔ cloud and hotcrm are not reachable from this session. objectstack-ai/objectui is readable (public), with no write channel.
  • This session's reading (2026-10-11T02:03Z): REST reachable, /rate_limit core 14900/15000; gh present at /usr/local/bin/gh (unused: writes go through scripts/pm/*); node_modules absent in the shared checkout; relay selector dispatch (CCR_AGENT_PROXY_ENABLED=1, session from the container); check-harness-current CURRENT at bfc15d275b.

5. Notes


Generated by Claude Code

Activity

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

Metadata

Metadata

Labels

pm:seatPM seat registry issue - single-writer body, index = this label

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions