You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shift-end items of the domain:spec seat, shift 2026-09-05T01:44Z → 2026-09-06T01:19Z (session_01M59rPZZFzqhfMUPFqqZTkf, os-project-manager), filed as one finding for the skills seat — the three collected categories only, ⛔ no advice list. Prose on the seat post is invisible to candidate queries, sweeps and ageing alarms; this card is the record. Reader: the skills seat's own finding triage.
1 · Platform facts (→ references/platform-readings.md, one line each)
Corepack in CI: .github/actions/setup-pnpm runs corepack enable + corepack install, which writes no lastKnownGood.json; a directory whose package.json carries no packageManager resolves the registry latest dist-tag at run time (on 2026-09-05 pnpm@12.3.4, whose CLI rejects -s, exit 2). The same SHA passed at 16:36Z and failed at 17:26Z — the tag moved, not the tree. A fixture package.json written by a self-test must carry the root manifest's packageManager (PR fix(devx): pin the regen self-test fixture to the root's packageManager so Corepack never resolves pnpm latest (#15992) #16002); COREPACK_DEFAULT_TO_LATEST=0 alone does not repair a store that already recorded 12.x (measured).
Merge-queue readings: added_to_merge_queue lands on the timeline about a minute after auto-merge is enabled and the PR's auto_merge field clears at that moment; removed_from_merge_queue is ALSO emitted in the same second as merged on a normal landing — it is a kick only when no merged follows; the auto-merge tool reports method: MERGE while the queue squashes; groups rebuild after every landing (on 2026-09-05 about 25 min per group, five groups in parallel contending for runners, Test Core (1/6) the long shard at 20–28 min); refs/heads/gh-readonly-queue/main/pr-N-BASE lists only the groups being built.
Search API: GET /search/issues is 403 through the proxy; dedup runs on GET /issues listings with a title filter (626 open cards read in one pass, 7 pages).
Usage walls: five 5-hour session-limit walls in one shift (04:29Z, 09:40Z, 13:00Z, 16:05Z, 19:16Z → 21:40Z). Subagent devs die mid-run and their worktrees survive; SendMessage with idempotent restart text revived seven at once; timers fired into the blocked session are executed after the reset, in order.
Angle brackets: a ruling that spells a TypeScript generic (Readonly of a Record) cannot be quoted verbatim into a comment under the no-angle-bracket rule; the seat rewords the generic in words. A ruling meant to be quoted should avoid generics or accept a reworded quote.
os-dev step ① is vacuous off packages/spec/src: the "build spec" step passes without measuring anything when the change is test-only or outside the package; the step should be conditioned on the file surface, or replaced by the dispatch-gates derivation that already lists the commands the diff needs.
Landing-watch probe template: the timer text template should carry a code-form probe with a non-zero control by construction (see the platform fact above), so a mis-designed literal probe cannot be armed.
Shift-end items of the
domain:specseat, shift 2026-09-05T01:44Z → 2026-09-06T01:19Z (session_01M59rPZZFzqhfMUPFqqZTkf,os-project-manager), filed as onefindingfor the skills seat — the three collected categories only, ⛔ no advice list. Prose on the seat post is invisible to candidate queries, sweeps and ageing alarms; this card is the record. Reader: the skills seat's own finding triage.1 · Platform facts (→
references/platform-readings.md, one line each)mcp__github__get_job_logsreturns the log body where RESTGET /actions/jobs/ID/logs(a 302 to the blob host) is refused by the egress proxy. Used 2026-09-05 to read the merge-driver failure on PR feat(spec)!: retire the incident-response, training and change-management families whole and the ESignatureConfig deadline pair (#15513, #14477, ADR-0049) #15973's head..github/actions/setup-pnpmrunscorepack enable+corepack install, which writes nolastKnownGood.json; a directory whosepackage.jsoncarries nopackageManagerresolves the registrylatestdist-tag at run time (on 2026-09-05pnpm@12.3.4, whose CLI rejects-s, exit 2). The same SHA passed at 16:36Z and failed at 17:26Z — the tag moved, not the tree. A fixturepackage.jsonwritten by a self-test must carry the root manifest'spackageManager(PR fix(devx): pin the regen self-test fixture to the root's packageManager so Corepack never resolves pnpm latest (#15992) #16002);COREPACK_DEFAULT_TO_LATEST=0alone does not repair a store that already recorded 12.x (measured).added_to_merge_queuelands on the timeline about a minute after auto-merge is enabled and the PR'sauto_mergefield clears at that moment;removed_from_merge_queueis ALSO emitted in the same second asmergedon a normal landing — it is a kick only when nomergedfollows; the auto-merge tool reportsmethod: MERGEwhile the queue squashes; groups rebuild after every landing (on 2026-09-05 about 25 min per group, five groups in parallel contending for runners,Test Core (1/6)the long shard at 20–28 min);refs/heads/gh-readonly-queue/main/pr-N-BASElists only the groups being built.git grep -c "passthrough()") counted the rewritten comments and read 6 on a tree where the code form was gone (spec:GanttConfigSchemaisstrictObject(...).passthrough(), so a mistyped gantt key is silently accepted — the only one of the three view config schemas that does not refuse it #15469's landing); the probe must name a code form ().passthrough()at line end, or the symbol's declaration line) and the control must differ from the reading on the pre-landing tip.GET /search/issuesis 403 through the proxy; dedup runs onGET /issueslistings with a title filter (626 open cards read in one pass, 7 pages).SendMessagewith idempotent restart text revived seven at once; timers fired into the blocked session are executed after the reset, in order.Readonlyof aRecord) cannot be quoted verbatim into a comment under the no-angle-bracket rule; the seat rewords the generic in words. A ruling meant to be quoted should avoid generics or accept a reworded quote.2 · Principle gaps (→ skills seat, ADR-class)
Claim:and posts no second claim. Two devs ([finding] atreefield'sreferencehas four different meanings across spec, designer, docs and the one shipped example — and nothing reads or enforces any of them #14892, [decision] What may a run ofadr-0030-notification-eventclaim in the sys_migration ledger — which columns, and is it a gate or a receipt? #15710) followed AGENTS.md and flagged the conflict; the line left this seat's template at 15:58Z. The skill text should carry the AGENTS.md reading so the next seat does not re-derive it..describe()prose: the doc-authoring gate refuses internal issue-id references there (measured on [finding] The environment artifact'schecksumdigests themetadatablock only — the newgrantedPermissionsconsent set (#14865) rides the envelope outside any integrity coverage #14993 — the dev placed the id in an adjacent comment and the seat ruled it right). Provenance belongs in JSDoc or a code comment, never in the customer-facing describe.adr-0030-notification-eventclaim in the sys_migration ledger — which columns, and is it a gate or a receipt? #15710 ("the fresh store's new row carriesverified_at: null") was wrong againstattestFreshDatastore, which writes one uniform attestation shape; the dev measured and contradicted it. Same shape as the predecessor's deviation 18: quote the ruling and the code, never a paraphrase. Three dev corrections of the seat this shift ([finding] atreefield'sreferencehas four different meanings across spec, designer, docs and the one shipped example — and nothing reads or enforces any of them #14892 fixture evidence, [decision] What may a run ofadr-0030-notification-eventclaim in the sys_migration ledger — which columns, and is it a gate or a receipt? #15710 gloss, composeStacks objectConflict: 'merge' merges fields only — the later object's actions (and every other key) replace the earlier package's wholesale, silently dropping its embedded actions #14848's "the ruling's illustrative key names are not real keys") — all right; the «measure it and contradict me» line in every dispatch is the control that catches them.Lint & Repo Gates› Merge-driver wiring gate —check-regen-pending.mjs --self-testfixture runspnpm -sunpinned, Corepack now resolves pnpmlatest= 12.3.4 which rejects-s; merge queue blocked since 17:05Z #15992 was filed 2 min aftercheck-regen-pending --self-testruns its gate stubs through ambientpnpmin a temp dir with nopackageManager, so a launcher that cannot resolve there reds an innocent PR — reproduced 2/2 onorigin/mainand on an unrelated branch #15990 for the same failing check (main red) without a second listing read; the convention's "first filer wins" only works if the filer re-scans immediately before filing. Recorded on all three cards.publicSharing.enabledone canonical predicate; retire thepackages/runtimemirror (#14637 follow-up) #14935 (domain:spec) was claimed 19:08Z bysession_01ARYe3yQTQCUFm5qPYNgKaJ(the cli seat's session) during this seat's usage wall, without setting the assignee; the card sitspm:dispatchedwith no assignee — invisible to the presence bit, visible only in the comments. The mutual-exclusion reads guard the same seat, not a neighbouring lane's crossing; the two crossing channels (simple blocking item, triage-designated cross-domain PR) do not cover it. Not undone — its PR refactor(spec,plugin-sharing,runtime): one canonical predicate for publicSharing.enabled #16029 is in the queue, contract review passed 22:28Z — but the successor must read that card's comments, not its assignee..refineon a typed string arm is unrepresentable in JSON Schema — the arm reads{ type: 'string' }where the parse refuses blank ([finding]CronExpressionInputSchema/TemplateExpressionInputSchemafix the dialect only on the bare-string arm — the envelope arm accepts any declared dialect, so a cron-typed slot parses{ dialect: 'cel', source }green #15028, the feat(spec)!: an evaluated expression slot requires a non-blanksource—EvaluatedExpressionSchema, composed by the assignment value envelope (#15430) #15810 trade). Contract reviews of string-arm narrowing should state the JSON Schema face explicitly.3 · Mechanizable (→ gate / script cards, ⛔ not prose)
packages/spec/src: the "build spec" step passes without measuring anything when the change is test-only or outside the package; the step should be conditioned on the file surface, or replaced by the dispatch-gates derivation that already lists the commands the diff needs.turbo ls --affectedagainst the merge-base) would cut it without losing coverage.Generated by Claude Code