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
{{ message }}
Repository navigation
metadata.endpoints.item radius: three comments outside the spec describe still say "twelve" mounts after the bundle route made it thirteen #29035
Filing gate: ① the follow-up of #28934, named by its dev (os-dev-report 6570434793, acceptance notes) and kept out of PR #28996 because they are outside its claimed surface. ⛔ Not a claim. No grade: triage sets it.
Reach: maintainers reading the per-item mount code and its pins. #27627 (#28287) registered GET {prefix}/app/:appId/bundle through the per-item registrar, so metadata.endpoints.item: false removes thirteen mounts. PR #28996 moves the published describe() and the platform checklist to thirteen. These comments still say twelve.
Where (on main)
packages/rest/src/rest-server.ts, the registerPerItemRoute docblock.
packages/rest/src/rest-config-mount-table.pin.test.ts, the file header. Its [#27627] Thirteen row comment is already right.
packages/spec/liveness/metadata_endpoints.json, the item row's note.
Done when
All three say thirteen and name the bundle route, matching the pin test's row. Comments and the ledger note only; no route moves.
Blocked-by: #28934 (PR #28996 carries the describe wording to copy).
Dedupe: searched endpoints.item twelve mounts; only #28934. New.
Addendum · 2026-11-02T06:30Z. The contract review of PR #28996 (6570588629, PASS) adds two items to this card's scope. Fold them into the same change:
packages/rest/src/rest-route-ledger.ts ≈L114 says 8 registerPerItemRoute( calls, but the head has 9: 1 bundle, 2 writes and 6 history.
Optional, pre-existing wording: the metadata.endpoints.item.describe() in packages/spec/src/api/rest-server.zod.ts lists the history family without methods, so /publish and /rollback read as GETs beside the explicit GET/PUT/DELETE. The mount-table pin spells them POST. Name the methods. This is a describe-text change only, and the set does not move.
Read fresh. Three of the four named locations are in packages/rest (the registerPerItemRoute docblock in rest-server.ts, the rest-config-mount-table.pin.test.ts header and rest-route-ledger.ts), with one liveness-ledger note in packages/spec, so the fix lands mostly in domain:server. Comment and ledger-note drift ('twelve' to 'thirteen') is p3. The card is a finding with no maintainer ruling behind it, so finding stays as its state; it waits on PR docs(spec): endpoints.item describe names the app bundle route it gates #28996.
Claim: PM loop round 1 · card thread · 2026-11-02T10:17Z
Session: session_01ADHkmQJdgarUjPLNgFBY67 (the seat); the card thread is session_01ADHkmPjMhcsBYvbCXPpq8G
Account: os-steve (the seat's linked user; the card's assignee)
Branch: claude/project-thread-y5w1zm
Worktree: the card thread's own container checkout
Domain: domain:server
Seat: domain:server#3
Ruling-ref: the maintainer, verbatim, in the project thread: 「开 server 2、3、5 号席位, 前任已经下班,接手所有开发,包括跟进之前未完成的开发落地。」
File surface: packages/rest/src/rest-server.ts (docblock), packages/rest/src/rest-config-mount-table.pin.test.ts (header), packages/rest/src/rest-route-ledger.ts (count comment), packages/spec/liveness/metadata_endpoints.json (item note), packages/spec/src/api/rest-server.zod.ts (metadata.endpoints.item describe text only) + generated docs it moves + changeset if shipped text moves
Container & model: card thread cmsg_01FdL1XeUyvVNxLreh3F4Qi9TBoN64CQFXszsEspiHHghp, mode:thread, model: opus (--tier names no path mandate: PM's call, default), effort: low
Clause-②: no
Metadata-protocol: none
Responsibility: the card thread implements and opens the draft PR; the seat reviews, records and lands
Thread-read: 6572179636
Premise: holds (site re-read on origin/main0c0d3b68 by the seat before dispatch)
Serial constraints cleared: none open on these files at seat read; merge main before opening
Resume-from: none — fresh from origin/main
State: pm:queue → pm:dispatched, assigned to os-steve, recorded by this claim. Order: project file server-seat3/standard-order.md + server-seat3/29035-delta.md.
Landed: merged as bb82da13. The metadata.endpoints.item switch's description (the spec describe, the generated rest-server.mdx and the liveness note) now names the thirteen mounts it gates, with the history routes' methods. The mount-table pin and the route-ledger note match. No route changed.
Seat ACCEPT 6576513263 and the CONTRACT_REVIEW_TIER record on head eb79f838 (schema face, PASS) are on the PR (Clause-②: no). Fixes #29035 closed this card on merge.
State: pm:dispatched and the assignee removed in the same round.
Activity
objectstack-fleet commentedon Nov 2, 2026
domain:spec#1 · os-steve · session_01ADHkmPi25XXKx92Xmg4viS
Addendum · 2026-11-02T06:30Z. The contract review of PR #28996 (6570588629, PASS) adds two items to this card's scope. Fold them into the same change:
packages/rest/src/rest-route-ledger.ts≈L114 says8 registerPerItemRoute( calls, but the head has 9: 1 bundle, 2 writes and 6 history.metadata.endpoints.item.describe()inpackages/spec/src/api/rest-server.zod.tslists the history family without methods, so/publishand/rollbackread asGETs beside the explicitGET/PUT/DELETE. The mount-table pin spells themPOST. Name the methods. This is a describe-text change only, and the set does not move.objectstack-fleet commentedon Nov 2, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: api-backend.rest-metadata-config-contract
Triage:
domain:server· p3 · 2026-11-02T07:19Z⛔ Not a claim.
Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: finding →
pm:queue· 2026-11-02T08:06Z⛔ Not a claim.
main. The blocker is cleared: spec: themetadata.endpoints.itemdescribe() lists twelve per-item routes, but the switch unmounts thirteen —GET /meta/app/:appId/bundle(#28287) is missing from the declaration #28934 is closed and PR docs(spec): endpoints.item describe names the app bundle route it gates #28996 is merged into main. On main the drift is still there. The pin-test header in packages/rest/src/rest-config-mount-table.pin.test.ts (line 46) and the item note in packages/spec/liveness/metadata_endpoints.json still say twelve, packages/rest/src/rest-route-ledger.ts (line 114) still says 8 registerPerItemRoute calls, and the registerPerItemRoute docblock in packages/rest/src/rest-server.ts does not name the bundle route. The card was already routed and graded but carried onlyfinding, which no lane's queue query reads. Its priority and lane are unchanged.Generated by Claude Code
objectstack-fleet commentedon Nov 2, 2026
domain:server#3 · os-steve · session_01ADHkmQJdgarUjPLNgFBY67
Claim: PM loop round 1 · card thread · 2026-11-02T10:17Z
Session:
session_01ADHkmQJdgarUjPLNgFBY67(the seat); the card thread issession_01ADHkmPjMhcsBYvbCXPpq8GAccount:
os-steve(the seat's linked user; the card's assignee)Branch:
claude/project-thread-y5w1zmWorktree: the card thread's own container checkout
Domain:
domain:serverSeat:
domain:server#3Ruling-ref: the maintainer, verbatim, in the project thread: 「开 server 2、3、5 号席位, 前任已经下班,接手所有开发,包括跟进之前未完成的开发落地。」
File surface:
packages/rest/src/rest-server.ts(docblock),packages/rest/src/rest-config-mount-table.pin.test.ts(header),packages/rest/src/rest-route-ledger.ts(count comment),packages/spec/liveness/metadata_endpoints.json(itemnote),packages/spec/src/api/rest-server.zod.ts(metadata.endpoints.itemdescribe text only) + generated docs it moves + changeset if shipped text movesContainer & model: card thread
cmsg_01FdL1XeUyvVNxLreh3F4Qi9TBoN64CQFXszsEspiHHghp,mode:thread,model: opus(--tiernames no path mandate: PM's call, default),effort: lowClause-②: no
Metadata-protocol: none
Responsibility: the card thread implements and opens the draft PR; the seat reviews, records and lands
Thread-read: 6572179636
Premise: holds (site re-read on
origin/main0c0d3b68by the seat before dispatch)Serial constraints cleared: none open on these files at seat read; merge main before opening
Resume-from: none — fresh from
origin/mainState:
pm:queue→pm:dispatched, assigned toos-steve, recorded by this claim. Order: project file server-seat3/standard-order.md + server-seat3/29035-delta.md.objectstack-fleet commentedon Nov 2, 2026
domain:server#3 · os-steve · session_01ADHkmPjMhcsBYvbCXPpq8G
os-dev-report
{"card":29035,"status":"done","pr":29289,"branch":"claude/project-thread-y5w1zm","head":"b59767d04a0f9dacff6b156d83929f4f67287c85","clause_2":"no","metadata_protocol":"none", "files_changed":["packages/rest/src/rest-server.ts","packages/rest/src/rest-config-mount-table.pin.test.ts","packages/rest/src/rest-route-ledger.ts","packages/spec/liveness/metadata_endpoints.json","packages/spec/src/api/rest-server.zod.ts","content/docs/references/api/rest-server.mdx",".changeset/29035-item-switch-describe-methods.md"], "line_budget":{"added":32,"removed":16,"note":"comments/describe/generated doc only"}, "gates":{"derived":107,"run":107,"not_measured":0,"pnpm_lint":0,"tests":"mount-table pin 24/24, route-ledger conformance 7/7, spec liveness 359/359"}, "dogfood_battery":"not owed (Clause-② no, describe-only)", "ablation":"none owed — no negative pin added", "deviations":["gates measured on 2d3ea90b; head b59767d0 adds only a clean origin/main merge","3 exit-3 prerequisites (teardown fixture fetch, full build) cleared and rerun green"], "open_questions":[],"api_writes":2,"mcp_calls":0}Stamped 2026-11-02T11:05Z.
docs(rest): place the nine per-item calls in their modules; state/:fi…
objectstack-fleet commentedon Nov 2, 2026
domain:server#3 · os-steve · session_01ADHkmQJdgarUjPLNgFBY67
Landing record · #29035 · PR #29289
domain:serverseat 3 ·session_01ADHkmQJdgarUjPLNgFBY67· 2026-11-02T13:19Zgit ls-remote origin 'refs/heads/gh-readonly-queue/main/pr-29289-*'git merge-base --is-ancestor bb82da1364 origin/maingit grep -n "gates THIRTEEN" origin/main -- packages/rest/src/rest-config-mount-table.pin.test.tsbb82da13. Themetadata.endpoints.itemswitch's description (the spec describe, the generatedrest-server.mdxand the liveness note) now names the thirteen mounts it gates, with the history routes' methods. The mount-table pin and the route-ledger note match. No route changed.6576513263and theCONTRACT_REVIEW_TIERrecord on headeb79f838(schema face, PASS) are on the PR (Clause-②: no).Fixes #29035closed this card on merge.pm:dispatchedand the assignee removed in the same round.