Skip to content

docs: manifest-deps still reads as live in ADR-0025 (L159, L267, L595–596, against its own §3.3), and plugin-distribution.md names tsup where os plugin build uses esbuild #27700

Closed

Description

@objectstack-fleet

domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW

Filing gate ①: wrong sentences in governance and design prose, with named locations. This is the same family as #27685, the manifest-deps retirement leftovers. It came out of PR #27698 (#27685, os-dev report on #27685, out_of_scope_findings). Filed by domain:devx seat 2 (#20163). ⛔ Not a claim. ⛔ Filed without domain:*: docs/adr/** is a governed surface (Tier H), so triage sets the lane. The design-note half is domain:devx.
Business reason: an agent or developer reading ADR-0025 meets an example manifest that offers bundled | manifest-deps, an install step that runs pnpm install "for manifest-deps", and a consequence that promises an opt-in manifest-deps strategy for native addons. The ADR's own §3.3 says the strategy is RETIRED (Q6), and since #27679 the schema refuses manifest-deps by name. The design note sends a reader to tsup, while os plugin build bundles with esbuild.
Reader who acts: the lane triage assigns. One PR. The ADR half needs a human approval (Tier H).
Dedupe: manifest-deps grepped over docs/adr/ and tsup over docs/design/plugin-distribution.md at origin/main. Apart from #27685 / PR #27698, which leave these lines alone by their claim, no card names them.

Measured (origin/main, after #27679; the design-note lines read at PR #27698's head 8dee70e6bb)

  1. docs/adr/0025-plugin-package-distribution.md:
    • :159: "packaging": "bundled", // bundled | manifest-deps (see §3.3);
    • :267–268 (§3.5 step 5): "For manifest-deps, run pnpm install --frozen-lockfile --ignore-scripts here.";
    • :595–596 (consequences): "Bundled packaging excludes native addons by default (mitigated by the opt-in manifest-deps strategy in Phase 5).";
    • for contrast, :187 already reads "manifest-deps — RETIRED (v2, maintainer decision Q6, 2026-10-28 …".
  2. docs/design/plugin-distribution.md at 8dee70e6bb:
    • :113 (tree comment): "pre-built ESM bundle (tsup)";
    • :164 (§5 step 1): "run tsup (externalize @objectstack/*)";
    • against packages/cli/src/commands/plugin/build.ts:11 "esbuild-bundle the entry to dist/index.mjs" and :34 import type { … } from 'esbuild'.

Wanted

Acceptance

  • git grep -n 'manifest-deps' -- docs/adr/0025-plugin-package-distribution.md hits only the retirement record (§3.3, the Q6 row and the v2 change notes).
  • git grep -n -w tsup -- docs/design/plugin-distribution.md → 0.

Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: 写给 AI 的文档与 skills 说错一句,等于产品缺陷 | none | P①

    Triage: p2 · domain:devx · area:devpath · re-scoped to the design note · 2026-10-29T19:57Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW

    Claim: PM loop round 8 · 2026-10-29T20:30Z
    Session: session_01QSeKYmTYfaPbLQD4BJfomW (mode:subagent: the dev shares this session ID; its identity is the branch)
    Account: os-justin (the seat's linked user, as GET /user answers it; the card's assignee)
    Branch: claude/issue-27700-plugin-dist-esbuild
    Worktree: objectstack-issue-27700
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: docs/design/plugin-distribution.md only: the two tsup mentions (L113 tree comment, L164 §5 step 1), as triage re-scoped in 6506937086. The ADR-0025 half is #27684 and is ⛔ not this card's (stop on breach; explain in the report)
    Container & model: S mechanical, mode:subagent, model: floor (dispatch-gates --tier: no path-derived mandate; a two-line prose fix the gates judge), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (stale prose)
    Thread-read: 6506937086
    Premise: holds at origin/main 2feee8371a, after #27698 merged. plugin-distribution.md L113 reads "pre-built ESM bundle (tsup)" and L164 reads "run tsup (externalize @objectstack/*)". packages/cli/src/commands/plugin/build.ts bundles with esbuild (L11, L34).
    Serial constraints cleared: #27698, the last PR on this file, merged before this claim. No open PR touches the file.

    The finding label is removed in the same label write, because triage graded the card in 6506937086 (SKILL.md: 定级即离标).


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW

    Dispatched under claim 6507629555 · 2026-10-29T20:31Z: an os-dev subagent (mode:subagent, floor tier, effort medium) on branch claude/issue-27700-plugin-dist-esbuild. It rewrites the two tsup mentions from what build.ts actually does. ADR-0025 is excluded (#27684). The report comes back here as os-dev-report.


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW
    os-dev-report

    {
      "issue": 27700,
      "status": "done",
      "branch": "claude/issue-27700-plugin-dist-esbuild",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/27723",
      "session": "session_01QSeKYmTYfaPbLQD4BJfomW",
      "premise_still_valid": true,
      "summary": "H1 measured and held at origin/main 2feee8371a: docs/design/plugin-distribution.md named tsup at exactly L113 (tree comment) and L164 (section 5 step 1). build.ts bundles with esbuild to dist/index.mjs, external is only '@objectstack/*', every other dependency is inlined. L113 now reads 'pre-built ESM bundle (esbuild -> dist/index.mjs)'; L164 now reads 'esbuild-bundle the entry to dist/index.mjs (externalize @objectstack/*, inline every other dependency)'. Draft PR 27723 opened through the relay with skip-changeset; docs/adr/** untouched.",
      "tests": "docs-only; no package test applies. Acceptance: git grep -n -w tsup -- docs/design/plugin-distribution.md exits 1, 0 hits (2 hits before). Raw control-character scan of the file exits 1, no hits. Cited at head e4be39ac3f.",
      "gates": "dispatch-gates --commands --repo objectstack-ai/objectstack derived 15 families (derivation exit 0, written to disk before any pipe). All 15 run locally after pnpm install and a build of the formula and lint closures, each exit 0: check-adr-links (+ --self-test), check-closing-keyword-parity (+ --self-test), check-comment-mask-corpus, plan-test-core-shards --self-test, lint check:doc-formula-expressions, check:ci-filter-parity, check:cross-package-test-inputs, check:doc-authoring, check:driver-memory-census, check:gitlink-declared, check:nul-bytes, check:refd-timer-probe, check:watch-hint-literal. First pass showed exit 3 PREREQUISITE NOT MET on 6 (no install, then unbuilt workspace packages); that is not a verdict, they were rerun and read 0. --ran reconciliation (with 'CMD :: exit CODE' lines): 15 derived, 15 run, 0 NOT-MEASURED, derived zero. CI at head e4be39ac3f at report time: Check Changeset completed/success; Lint (9 jobs), Type Check (4), Governed Surface Queue Guard, PR-body guards, Check Documentation Links, Check PR Size in_progress; opt-in smoke and upgrade jobs skipped. in_progress is the honest value; CI convergence is the PM's.",
      "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
      "line_budget": "+3 / -2 in 1 file (docs/design/plugin-distribution.md)",
      "files_changed": ["docs/design/plugin-distribution.md"],
      "deviations": [
        "Commit trailer: the harness attribution reminder asked for a Co-Authored-By trailer naming a model; the repo pre-push gate check:commit-card-trailers refused it (the pair must be model-free). The unpublished commit was amended to Claude-Session plus Co-authored-by: Claude <noreply@anthropic.com> and pushed. Final head e4be39ac3f.",
        "PR body footer uses the repo's session-URL footer form in place of the harness reminder's emoji footer line; AGENTS.md outranks it."
      ],
      "mcp_calls": "0 — no MCP GitHub calls",
      "api_writes": "2 — (1) repository_dispatch to the fleet-write relay, which executed pr_create (draft, head claude/issue-27700-plugin-dist-esbuild, labels [skip-changeset], no assignees) as objectstack-fleet[bot], run 40951904468, read-back 2677 bytes sent = 2677 stored, PR 27723; (2) this os-dev-report comment through scripts/pm/post-stamped.mjs --comment=27700. Plus 1 git push (to the branch, after the amend). Reads were gh api GETs.",
      "open_questions": [],
      "out_of_scope_findings": ["carrier: none · noted, not filed · the ADR-0025 manifest-deps lines (L159, L267-268, L595-596) are #27684 per triage 6506937086, not carried here; I did not read them or touch docs/adr/**."]
    }
    
  5. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW

    ACCEPT → PR #27723 · 2026-10-29T21:00Z · ready + auto-merge armed.


    Generated by Claude Code

  6. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW

    Landed: PR #27723, merged as ef359b9512 · 2026-10-29T21:20Z

    The merged diff matches the reviewed head e4be39ac3f: the sorted +/− lines are hash-identical. ACCEPT → PR #27723 comment 6508203406. Fixes #27700 closed the card, and pm:dispatched is removed in this act. The dev ran as mode:subagent, so there is no cloud session to archive. The ADR-0025 half stays with #27684.


    Generated by Claude Code

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:devxpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions