Repository navigation
test(dogfood): pin five api-backend checklist items at the HTTP layer - #26787
Merged
Merged
Conversation
Claude-Session: https://claude.ai/code/session_01JQwxbWUpGqdpDRiD79LqXV Co-authored-by: Claude <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JQwxbWUpGqdpDRiD79LqXV Co-authored-by: Claude <noreply@anthropic.com>
Contributor
📓 Docs Drift CheckNothing 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): |
Contributor
Author
维护者速读
席位核对ACCEPT ·
Generated by Claude Code |
This was referenced Oct 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Warren · project thread
Refs #26572 (slice 1 of about 3: items declarative-endpoint-execution, second-object-exposure-and-internal-fields, data-request-shape-and-query-arity, meta-read-doors-v18, error-sentences-and-unique-violation-wire-code)
Clause-②: no
Metadata-protocol: none
维护者速读
packages/qa/dogfood/test/declarative-endpoint-authoring-refusal.dogfood.test.ts(子进程跑 CLI)、packages/qa/dogfood/test/fixtures/second-object-exposure-fixture.ts(共享 fixture 加了一个 internal 字段)、docs/qa/platform-checklist/areas/api-backend.json。pnpm --filter @objectstack/dogfood exec vitest run --maxWorkers=2 test/data-request-shape-live.dogfood.test.ts,预期 13 个用例全绿。What changes
Five api-backend checklist items that the release-18.2.0 Tier 1 sweep (#26468) scored PARTIAL now carry pins at the layer their oracle names. Every new case drives a booted stack through
@objectstack/verify's real HTTP surface (Hono request injection), or the CLI's ownbin/run.jsas a child process for the onebuildoracle.api-backend.declarative-endpoint-executionUNAUTHENTICATEDcode), acceptance[2] (os validate/os buildrefuse a script and a proxy endpoint, naming it, the type and the flow prescription, no artifact; the #5488 withdrawal:PUT /meta/api/NAMEanswers 403NOT_CREATABLE)showcase-declarative-endpoints.dogfood.test.ts(extended),declarative-endpoint-authoring-refusal.dogfood.test.ts(new)api-backend.second-object-exposure-and-internal-fieldsfilter.RELon both doors), acceptance[3] (aninternal: truefield refused 400INVALID_FIELDnaming object and field in filter, sort, groupBy and aggregate positions)second-object-exposure.dogfood.test.ts(extended); its fixture gainssox_source.internal_fapi-backend.data-request-shape-and-query-aritydata-request-shape-live.dogfood.test.ts(new)api-backend.meta-read-doors-v18client_liaison-bound member, both halves agreeing)meta-read-doors-live.dogfood.test.ts(new)api-backend.error-sentences-and-unique-violation-wire-codeerror-sentences-live.dogfood.test.ts+fixtures/error-sentences-fixture.ts(new scratch app)Each item's
automated.refnames the new pins and what they assert, the verify texts that said "live leg" now say which pin carries the clause,revisionis bumped and ahistoryrow cites #26572. No clause text changed. No product code changed.Why
The card's ruled scope (triage 6437722483): pin the 11 api-backend Tier 1 clauses the 18.2.0 sweep scored PARTIAL at the layer their oracle names, in
packages/qa/dogfood/**, with the checklist item revisions bumped, in slices of about five items, with no new CI lane. This is the first slice. The other six items (packaged-action-disabled-dispatch, action-activation-door-contract, rest-crud-config-contract, rest-batch-config-contract, rest-metadata-config-contract, rest-route-generation-tombstones) are left for later slices.Tests
All seven touched dogfood files on the final head 19a4d70, under the verify lock, after rebuilding the one package main moved since the base (
driver-sql):import-reference-exposure.dogfood.test.tsis in the run because it shares the fixture that gained a field. Every expectation was first measured against the live answer on a probe boot and checked against the clause text before it was written down. No ablation: the diff changes no tested behaviour, only adds pins over behaviour that already holds.Acceptance notes
main's scheduled and push battery (Dogfood Regression Gate'sif:excludespull_requestandmerge_group), so the PR's CI does not run these files; the local run above is their evidence until the nextmainbattery.defineStack(…, { strict: false })with@objectstack/speclinked into a temporarynode_modules: the commands accept only a stackdefineStackreturned, and the strict factory would refuse the endpoint at import, before the command's own gate.… at 'filter.REL' …); the pin asserts that token, the code, the status andobject.ENOTDIR; the pin asserts500 INTERNALand that neither the errno, the path nor a stack line reaches the body.Verification
Gates (dispatch-gates --commands, reconciled with --ran)
node scripts/check-platform-checklist.mjs: exit 0,OK — 16 areas, 329 items (324 active, 1 planned).node scripts/check-plugin-teardown-shape.mjs --self-test(its positive control is pinned to a commit outside this shallow clone) andpnpm check:dual-build-cjs-loads(reads built output of packages outside the dogfood closure). Both run in CI'sLint & Repo Gates.pnpm --filter @objectstack/dogfood run typecheck: exit 0.dispatch-gates --ran: 55 derived families accounted for, 53 run, 2 NOT-MEASURED, 0 unrun.No changeset:
@objectstack/dogfoodis private anddocs/qa/**ships in no package, so this PR carriesskip-changeset.Human Minimum
packages/specholds no runtime logic. (not touched)pnpm lintpasses. (eslint over the touched files)main, one pull request.packages/spectouched: n/a.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01JQwxbWUpGqdpDRiD79LqXV
Generated by Claude Code