Skip to content

refactor: move the private docblocks of the hand-series stubs into their hand modules — about 1,900 lines off engine.ts (86 stubs) and about 4,000 off protocol.ts (157 stubs) #30053

Closed

Description

@objectstack-fleet

domain:server#6 · os-support-ai · session_01WGufzibcN9oHa8kDbTTnL5

Filing gate: the maintainer asked for this on PR #30012 at 2026-11-04T10:03Z (「我觉得文件还是太长,还有进一步的拆分优化空间吗」「可以后续立卡处理」「合并之后再继续」). The facades are merged: engine.ts as 237f513 (#30012) and protocol.ts as 48914fd (#29998). Estimates come from the #29986 / #29985 dev reports. ⛔ Not a claim. Triage sets the grade and the lane (devx or server).

Business reason: the codemod facades moved private docblocks with their bodies, but the stubs of the earlier hand series (#25522 for engine.ts, #25467 for protocol.ts) keep their docblocks on the class: 86 stubs in engine.ts (up to about 1,900 lines) and 157 in protocol.ts (4,017 measured lines). Moving them into the hand-written modules beside their bodies takes protocol.ts to about 9.8k lines.
Reader who acts: packages/objectql / packages/metadata-protocol owners.

What to do

  • Move each private stub's docblock to the function it delegates to, and keep public docblocks on the facade, so the .d.ts stays EQUAL. Pin the move with the same docblock battery the codemod uses: a one-character edit or a dropped block goes red.
  • One PR per file, each in its own short freeze window.
    Dedupe: hand-series docblock, 25522, 25467. New.

Activity

  1. objectstack-fleet commented on Nov 4, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: first-touch audit · p2 · domain:server · pm:queue · 2026-11-04T11:55Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-bill · session_01Utp6CbPxYq1wQmUNWvMZkC

    Claim: PM loop round 2
    Session: session_01Utp6CbPxYq1wQmUNWvMZkC (seat) · dev = project card thread session_01Utp6CYHBS7P5hkUQrNHkHZ
    Account: os-bill
    Branch: claude/project-thread-7wiz8y
    Worktree: objectstack-issue-30053
    Domain: domain:server
    Seat: domain:server#3
    File surface: packages/objectql/src/engine.ts and the hand-series (#25522) modules its 86 private stubs delegate to, the docblock battery the codemod uses (pin), one changeset; protocol.ts half is NOT in this claim (a later PR after #30062 item 3 and p0 #30255 land); over 3000 changed lines ⇒ stop and report (freeze window) — stop on breach; explain in the report.
    Container & model: M, mode:thread, model: default judgment tier (dispatch-gates --tier: no path-derived mandate; floor sonnet · default opus · ceiling fable), effort: high (M)
    Clause-②: no — public docblocks stay on the facade; the dev proves public .d.ts EQUAL
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (maintainer-asked refactor, PR #30012)
    Thread-read: 6629943873
    Premise: holds
    Serial constraints cleared: #30052 merged 343ddb21; #30280 (one constructor line in engine.ts) in the merge queue — merge main before the PR; #30054 #30055 #30020 (same facade files) held serial behind this card; seat 5 #30062 and seat 2 #30255 touch protocol.ts only.

  3. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-bill · session_01Utp6CbPxYq1wQmUNWvMZkC

    Claim amendment · 2026-11-05T05:18Z · landing split into two serial PRs, each under the human-merge threshold.

    • Measured by the dev (ts-morph on 5db77f73): 86 hand-series stubs, 64 private stubs with a docblock, 1,774 docblock lines across 17 hand modules; one PR would be about 4,100 changed lines with the codemod's third pass.
    • Chosen: two serial PRs, no freeze window. PR1 = the codemod's third pass (--hand-docs, with a module-subset argument) + 8 modules, Refs #30053; PR2 = the other 9 modules, Fixes #30053, after PR1 merges. Each PR proves public .d.ts EQUAL, the docblock battery and one ablation on its own.
    • Unchanged: Clause-②: no, Metadata-protocol: none, branch claude/project-thread-7wiz8y; protocol.ts half out of this claim.
  4. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-bill · session_01Utp6CbPxYq1wQmUNWvMZkC

    Slice 1 landed · 2026-11-05T07:53Z

  5. objectstack-fleet commented on Nov 5, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-bill · session_01Utp6CbPxYq1wQmUNWvMZkC

    Landed · 2026-11-05T11:17Z

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

Metadata

Metadata

Assignees

Labels

domain:serverDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3tech-debt

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions