Skip to content

test(cli): drive migrate record-currency-codes in the --json stdout purity family - #28375

Merged
objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/project-thread-z0en0a
Oct 31, 2026
Merged

objectstack-fleet[bot] merged 2 commits into
mainfrom
claude/project-thread-z0en0a

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Requested by Sam · project thread
Fixes #27114

Clause-②: no
Metadata-protocol: none

维护者速读

What changes

migrate record-currency-codes joins FAMILY with argv --object jp_ticket --field title --code USD. All three flags are required, so without them the run stops at flag parsing and never boots. It runs as a dry run (the default), which boots read-only and writes nothing. discoverFamily() is unchanged and no case is skipped.

The face it reaches was measured, not assumed: on this deliberately uncompiled fixture the command answers its "No app objects are loaded" refusal after the boot, as one compact JSON document on stdout (exit 1), with the boot diagnostics (no compiled artifact, Bootstrap complete, Graceful shutdown complete) on stderr. The comment beside the entry names that face. No PREPARE entry was needed.

Tests

Nightly integration tier, local, under the verify lock, tree at merge base 22ce3d13 with the cli dependency closure built.

  • Red (test file restored from origin/main at a0f86549, which is byte-identical to 22ce3d13 for this file): Tests 1 failed | 76 passed (77). The one failure is the reconciliation pin, and the received-vs-expected diff is exactly + "migrate record-currency-codes". That confirms 26 vs 25 and that no other member is missing.
  • Green (with the entry, commit a8c47a44): Test Files 1 passed (1), Tests 80 passed (80). The second commit 1bdda92a changes only the comment beside the entry.

Acceptance notes

  • Skip-changeset: the diff is one test file, which no package ships.
  • This file runs only in the nightly tier (OS_TEST_TIERS=nightly), so PR CI does not exercise it. The next nightly on main is its real verdict.

Verification

Derived gate families (node scripts/pm/dispatch-gates.mjs --commands, 48 commands) were run locally. 45 exited 0. --ran reconciliation: 48 derived, 46 run, 2 not measured.

  • check:dual-build-cjs-loads and check-plugin-teardown-shape --self-test exited 3 (prerequisite not met: full dist missing, and a shallow clone).
  • check:dts-closure exited 1 only because the local closure was built with OS_SKIP_DTS=1. Its self-test passed.

None of these three reads a test file, and CI runs all three.


Generated by Claude Code

…urity family

discoverFamily() finds the new member (bootSchemaStack + --json flag); FAMILY
did not list it, so the nightly reconciliation pin went red. Drive it with
its required pair on the fixture's jp_ticket.title, reaching the INVALID_FIELD
refusal face after a read-only boot.

Claude-Session: https://claude.ai/code/session_01QUs3BuiMGLNsVXrDee61JM
Co-authored-by: Claude <noreply@anthropic.com>
…e purity drive

Measured: on the uncompiled fixture the command answers its 'No app objects
are loaded' refusal after the boot, not INVALID_FIELD. Comment only.

Claude-Session: https://claude.ai/code/session_01QUs3BuiMGLNsVXrDee61JM
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Oct 31, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

Nothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs.

What this run could not see

Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json 02d6507275eaa7d821e98585df9bb31eed8dedca → packageMentionDocs.

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

domain:devx#1 · os-zhuang · session_01QUs3BvP5Aq9USg5GtmgAAR

席位核对 — ACCEPT · domain:devx#1 · head 1bdda92a6c509aab0fd8db69a7c6a1821ca8e94b · 2026-10-31T07:22Z

Checked against GitHub and origin/main, not against the report (os-dev-report 6540560399 on #27114).

  • Shape: draft → main, Fixes #27114, no other closing keyword, no assignees or reviewers. skip-changeset correct: test file only, nothing published.
  • Path surface (/pulls/28375/files): packages/cli/test/json-stdout-purity.e2e.test.ts only, +11/−0: one FAMILY entry plus its comment. discoverFamily() is untouched and no case is skipped, as the stop-bleed required (6540032843). check-governed-merges: NOT governed.
  • Drive verified on main (packages/cli/src/commands/migrate/record-currency-codes.ts): --object, --field, --code are each required: true; a dry run passes deferSchemaDdl: true, readOnlyProbe: true; the "No app objects are loaded" refusal is emitted { compact: true } and then this.exit(1), so the entry's comment describes the face it drives accurately.
  • Red/green: the dev reports red at main's file (1 failed / 76 passed) and green with the entry (80/80, nightly tier). This tier does not run on PR push, so the nightly run after landing is the confirming reading; the seat checks the card's next Swept line.
  • Accepted deviations: worked in the platform checkout rather than a separate worktree. Three gates were environment-only in the dev's container (shallow clone, DTS-skipped build): 2 NOT-MEASURED, left to CI.
  • Landing: non-governed; seat landing authorised by the maintainer (2026-10-31T06:58Z); lands once every check on this head is green.

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 31, 2026 07:39
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 31, 2026 07:39
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 31, 2026
Merged via the queue into main with commit a878ff6 Oct 31, 2026
54 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/project-thread-z0en0a branch October 31, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/s skip-changeset PR has no user-facing published change; bypasses the changeset gate tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

nightly-tiers: red on main

1 participant