Repository navigation
QA run · surface:build (7/7) · 251a7dd4 · 2026-10-04 · 6 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #21722
Description
17.7 pre-release verification, non-browser half: every runnable surface:build item against origin/main at the run's start. Sibling records for the same subject cover surface:api and surface:cli. Text only.
Environment fingerprint
- Framework (subject):
251a7dd4, dedicated detached worktree,pnpm install --frozen-lockfile && pnpm build→ exit 0. Gates and the CLI run from the subject tree; every authored fixture lived in scratch copies under/tmp/qa1770/L13(node_modulessymlinked), never inside a checkout. One boot (connector file refs) on lane ports 43301–43309. - Execution: lane L13 + verifier V5 (RUNNER rule 7), Claude Code session
session_018zT8d8NpiQ1ExhuNd5TxY6, 2026-10-04 10:04–10:53Z (≈ 12 min environment, 37 min testing).
Scope
node scripts/checklist-select.mjs surface:build --json → 7 runnable items, none hidden.
| item | rev | verdict | evidence (build / gate / pin) |
|---|---|---|---|
| api-backend.formula-gates | 2 | PASS | dist formula runtime: today(), ternary null, floor/ceil; date-arithmetic formula fails os build with rule expression-invalid and the fix |
| api-backend.enforce-or-remove-authoring-gates | 2 | FAIL | A1 retired filter operators ($regex) are refused at runtime only, by design — assertion defect; A2–A4 pass |
| api-backend.retired-def-refusal | 1 | PASS | 5 sampled retired defs + control: human exit 2 / --json exit 1, prescriptions where a carrier exists, runtime 400/422 |
| api-backend.rest-route-generation-tombstones | 1 | PASS | rest parse-not-cast 25/25; five tombstoned routes.* keys throw at construction and at plugin start, tsc flags them |
| cli.build-own-contract | 4 | PASS | format.exit-code 4/4; exit codes 0/1/2 stable, --json payload shape, os compile identical |
| i18n.build-gates-hold | 2 | PASS | bundles in sync (9 packages), self-tests red-and-distinct, drift in a /tmp farm → exit 1, missing CLI dist → exit 3 |
| integration-system.connector-spec-path-no-escape | 2 | PASS | absolute and escaping file refs abort boot; a missing file is fatal at boot, logged on reload with the old instance kept |
Totals: 6 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN. No product defect.
Fail — disposition
api-backend.enforce-or-remove-authoring-gates A1 — assertion defect. Copy the showcase; set showcase_expense_report.rejected_count summaryOperations.filter to { status: { $regex: 'rej' } }; os build → exit 0 (twice), $regex kept in dist/objectstack.json. The clause demands parse/build rejection for the retired-filter-operator registry, but that registry is declared runtime-refused only: RETIRED_FILTER_OPERATORS "does not reject anything… the spec declares, the existing refusal sites enforce" (filter.zod.ts, 85d95e7d92, #5701 / #5752 — one day before the clause), and the semantic migration 17.filter-regex-options-retired records that a stored { $regex } "parses GREEN and always will". Runtime refusal holds: GET /api/v1/data/showcase_task?filter={"title":{"$regex":"a"}} → 400 INVALID_FILTER naming $icontains. The seed-time "roll-up summary recompute FAILED … STALE" alongside success: true that this fixture produces is declared behaviour too (seed-loader.ts, #4998). Verifier V5: CONFIRMED.
Close-out follows in a comment.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 4, 2026
Close-out
No product defect extracted.
Candidate observations — not verified, not extracted
defineConnector()strips an undeclared key silently (theConnectorSchema.parsestrip runs beforedefineStack's lint); the same key on a raw connector literal warns.ObjectSchema.createschema error prints the raw ZodError (49-value enum dump) with no object or file named.RestServerConfigpoints atos validate, which does not read embedder REST config.Checklist-accuracy findings
allowRestore: false); step 2'sObjectSchema.createaccepts$regex.formatZodErrorspath is effectively unreachable (defineStackvalidates first).batch.defaultAtomic, only §B drives a routes key through the plugin;'plural'and a routes-level unknown-key control are unpinned.OS_METADATA_WRITABLE=agentto reach validation.record.f_date < today(), notdue_date == today().Generated by Claude Code
objectstack-fleet commentedon Oct 6, 2026
Close-out verified: closed
completedTriage seat (objectstack-wide, seat post #6015) ·
session_01AavokzJ5DndAwitDXvKy4U· 2026-10-06T16:01Z. The maintainer approved clearing the openqa-runrecords' close-out debt: 「同意,动手」. This was audited row by row (read-only) against checklist-test §5 before this write.api-backend.enforce-or-remove-authoring-gatesA1 is an assertion defect, parked on re-point card qa(checklist): re-point 17 clauses on 16 items that the 17.7 pre-release runs (#21720 / #21721 / #21722) proved stale or mis-asserted #21735, which lists the clause (closedcompleted).Generated by Claude Code