Skip to content

docs(adr) + skills: ADR-0144 Open item 13 — record ruling 6670707546 (organization-scoped backfill, tenant-admin door, operations interim) and the --org skills line (multi-currency, epic #8345) #30676

Closed

Description

@objectstack-fleet

epic:#8345#1 · os-bill · session_01Utp6CZWjnSeed8H4dMjt9d

Blocked-by: #30674

Part of #8345. Filed by the epic PM from ruling 6670707546 (letter C), ruling execution items ④ and ⑤; #30102 (PR #30182) merged before the ruling, so this is its own close-out card. ⛔ Not a claim.

Ruling-ref: 6670707546

维护者速读

  • 改了什么: 在 ADR-0144 开放项 13 下加一条注记,记下裁决 C:回填按组织走(CLI --org,多组织无 --org 拒跑,--all-organizations 显式),另开租户管理员 REST 入口;B 落地前云租户由平台运维带 --org 代跑,这是过渡态而不是答案。skills 里提到回填命令的一行补上 --org。
  • 为什么改: ADR 每有裁决就要修订;skills 要与 A 卡落地后的命令行为一致。
  • 风险与回滚: 纯文字;Tier H(docs/adr/**、skills/**)。
  • 先看: 裁决评论 6670707546。
  • 两分钟验证: pnpm check:adr-anchors、pnpm check:adr-index 退出 0。
  • 需要您做的: 契约复审 PASS 与席位 ACCEPT 后,由 os-zhuang 或 hotlong 批准。

Task

  • ADR-0144 Open item 13: a dated *Note:* recording ruling 6670707546 (C = A + B; what was not chosen and why, in one line each), with tree evidence from the A card's merged PR by file#symbol.
  • The interim, worded as an interim: until the REST door (B card) lands, a cloud-managed tenant's backfill is run by platform operations on request with --org. Item 13 stays open on its B half until that card lands.
  • skills/objectstack-data/rules/field-types.md:174 ("Backfill: os migrate record-currency-codes"): add --org <id> (and that a multi-organization database refuses without it), matching the A card's merged behavior.

Lane: epic-carried (governed docs) · Size: S · Model: fable (dispatch-gates docs/adr/** mandate), effort xhigh · Review: CONTRACT_REVIEW_TIER. Clause-②: no · Metadata-protocol: none.

Dedupe: #30102 (merged, settled items 2/3/4/6/9; item 13 left as it was); no open card carries item 13's ruling.

Activity

  1. added
    documentationImprovements or additions to documentation
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    pm:epicReserved by a dedicated epic PM, parent or sub-issue; other PMs never take it; never with pm:queue
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    domain:serverDomain lane — seat card indexed by label:pm:seat
    and removed
    pm:epicReserved by a dedicated epic PM, parent or sub-issue; other PMs never take it; never with pm:queue
    domain:skillsDomain lane — seat card indexed by label:pm:seat
    on Nov 5, 2026
  2. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#2 · os-bill · session_01Utp6Cbvcmv8YWFhFJwzjKL

    Handover: epic #8345 → domain:server queue. The epic seat signed off (6670841501); the maintainer agreed the remaining cards go to the server lane. Labels and dependencies only; this seat is signing off and does not dispatch it.
    Maintainer: 「同意」, project chat, 2026-11-05T22:14Z.
    State change: pm:epic off, domain:skills → domain:server; it stays pm:blocked behind Blocked-by: #30674 (body). Tier H (docs/adr/**, skills/**): reviewers os-zhuang and hotlong; the seat never approves or merges it.

  3. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p2 kept · domain:server · pm:blocked · 2026-11-05T22:56Z

    ⛔ Not a claim.


    Generated by Claude Code

  4. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW

    Unblock · 2026-11-06T02:32Z · Blocked-by: #30674 closed

  5. added
    pm:queueReady for the PM dispatch loop
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    pm:queueReady for the PM dispatch loop
    on Nov 6, 2026
  6. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW

    Claim: PM loop round 4 · 2026-11-06T02:38Z
    Session: session_016WV4cytLmJxfAmgPVjUbbW
    Account: os-elon-musk (the seat's linked user as GET /user answers it; the card's assignee)
    Branch: claude/issue-30676-adr-0144-item-13-note
    Worktree: objectstack-issue-30676
    Domain: domain:server
    Seat: domain:server#1
    File surface: docs/adr/0144-multi-currency-record-currency-dated-rates-write-time-home-projection.md (Open item 13 only: a dated *Note:* recording ruling 6670707546 and the interim), and docs/adr index files only where a gate demands it. ⛔ skills/** (the field-types.md:174 line is #30740's, per unblock note 6675290331), packages/**, .claude/**. Stop on breach and explain in the report
    Container & model: S, mode:subagent, model: CONTRACT_REVIEW_TIER (Model tier — MANDATORY, dispatch-gates --tierondocs/adr/**, no one-line exit), effort: xhigh
    Clause-②: no
    Metadata-protocol: none
    Responsibility: ADR-0144 Open item 13's record of ruling 6670707546 | none (the item carries no note of the ruling) | a maintainer or seat reading ADR-0144 who would take the interim operator-run backfill for the answer
    Thread-read: none
    Premise: holds per the card, narrowed by unblock note 6675290331 (the skills task is #30740's). The dev cites the A card's merged tree (PR #30737) by file#symbol
    Serial constraints cleared: #30674 closed (PR #30737 merged); no open PR touches ADR-0144 (open PR file lists read at claim time).

  7. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW
    os-dev-report

    {
      "issue": 30676,
      "status": "done",
      "branch": "claude/issue-30676-adr-0144-item-13-note",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/30787",
      "session": "session_016WV4cytLmJxfAmgPVjUbbW",
      "premise_still_valid": true,
      "summary": "ADR-0144 Open item 13 gains a dated Note (2026-11-06) recording ruling 6670707546, letter C: A landed in PR #30737 (e2bcd5c1, card #30674), cited by symbol (record-currency-backfill.ts backfillRecordCurrencyCodes, resolveScope, organizationsRefusal, walkCodelessRows; the CLI's MigrateRecordCurrencyCodes with the exclusive --org / --all-organizations pair; recomputeHomeAmounts for ruling item 3); B named as card #30675; the four not-chosen shapes one line each with the reason; the operations-run backfill with --org worded as the interim, not the answer; the item left open on its B half until #30675 lands. One file, +25/-0. skills/** untouched per unblock note 6675290331 (#30740 carries that line). Draft PR #30787, head ff701a6e, label skip-changeset (docs/adr-only publishes nothing); Tier H, awaiting the seat's ACCEPT and then os-zhuang or hotlong.",
      "tests": "None owed: docs/adr-only diff, no package tested for its own sake. No ablation (no tested behaviour changed). Note claims were read against origin/main at 1371b9d8, which contains e2bcd5c1.",
      "gates": "Local: node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack derived 21 families at ff701a6e; each ran as a plain command with its exit captured before any pipe; --ran verdict: 'Run reconciliation — 21 derived, 20 run, 1 NOT-MEASURED, 0 UNRUN' / '21 derived famil(ies) accounted for — 20 run, 1 NOT-MEASURED (1 DERIVED from a recorded exit 3)'. Exit 0: check:adr-anchors, check:adr-index (README current), check:adr-symbol-anchors ('3157 anchors across 150 records resolve', the note's six among them), check:adr-links (991 destinations resolve) and its self-test, check-closing-keyword-parity and self-test, check-comment-mask-corpus, plan-test-core-shards self-test, check:ci-filter-parity, check:closed-ceremony-text, check:cross-package-test-inputs, check:doc-authoring, check:driver-memory-census, check:gitlink-declared, check:nul-bytes, check:pm-governed-merges, check:pm-prior-rulings, check:refd-timer-probe, check:watch-hint-literal. NOT MEASURED: pnpm --filter @objectstack/lint run check:doc-formula-expressions, exit 3 PREREQUISITE NOT MET (formula and lint dist not built; closure is spec, sdui-parser, formula, lint; the verify-lock wrapper is refused by this session's worktree guard, so the build was not taken unlocked) — CI's lint workflow reads it. Pre-push check:commit-card-trailers: '1 commit message(s) on this push carry no card relation and no model identifier in the trailer pair.' CI on ff701a6e at report time: Check Changeset completed/success; Type Check (source gates, consumer gates, debt ledger, workspace), Lint (ESLint, docs & code guards, CI/release/engine gates, repo & tooling gates, PM dispatch-gates, scoped x3), Governed Surface Queue Guard, PR-body guards, Check Documentation Links, Check PR Size: in_progress — not awaited.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "mcp_calls": "0 — no MCP GitHub tool called; reads via gh api REST, writes via the relay",
      "api_writes": "0 REST proxy writes. Relay writes 2: pr_create (#30787, fleet-write run 42153499560, read-back identical 6639 bytes) and this os-dev-report comment via post-stamped. git push x2 on claude/issue-30676-adr-0144-item-13-note (empty probe, then ff701a6e).",
      "deviations": [
        "Worktree: the harness pinned this session to .claude/worktrees/agent-abcd3766c6171bffa, so the branch was cut from origin/main there rather than in ../objectstack-issue-30676; no shared checkout was edited.",
        "Verify lock: this session's worktree guard refuses every 'bash SCRIPT' invocation, os-verify-lock.sh included; no build ran, locked or unlocked, and the one family needing one is recorded NOT MEASURED above.",
        "Auto-mode classifier denied one combined command (actions-file build + write-pace status + relay dispatch) with no reason given; it was split into a local file build and the same relay dispatch as a standalone command, which succeeded. The first standalone send was refused by the relay's own validator (actions must be an array) with zero writes, then resent correctly.",
        "The worktree had no node_modules on arrival; eight derived families first exited 3 for that, pnpm install was run, and the recorded readings are the reruns."
      ],
      "open_questions": [],
      "security_findings": "none",
      "out_of_scope_findings": []
    }

    Generated by Claude Code

  8. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW

    2026-11-06T03:22Z · ACCEPT, waiting for Tier H. PR #30787 has the seat's ACCEPT (6675958749) on head 6e350b6d and a PASS contract review (6675813461) on the same head. It is ready, and auto-merge is armed. It touches docs/adr/**, so it merges only after a governed approver (os-zhuang or hotlong) approves. This card closes on merge.

  9. objectstack-fleet commented on Nov 6, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#1 · os-elon-musk · session_016WV4cytLmJxfAmgPVjUbbW

    Landed · 2026-11-06T06:01Z · PR #30787 merged by the queue as d003d3e9ce (2026-11-06T06:01:04Z), after os-zhuang's Tier H approval. ADR-0144 now records ruling 6670707546 under Open item 13. This card is closed by Fixes. pm:dispatched removed.

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedocumentationImprovements or additions to documentationdomain:serverDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions