Skip to content

QA run · area:integration-system (18/18) · 94114c1f · 2026-10-16 · 14 PASS / 4 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #23922

Closed

Description

@objectstack-fleet

Run record for the full-checklist wave anchored on #23878 (selector all, run per area). Runner session session_01K3qUoyh1xFGoWzAACPMbXJ, dispatched by the domain:devx seat 1 PM. Protocol: .claude/skills/checklist-test/SKILL.md + docs/qa/platform-checklist/RUNNER.md.

Environment fingerprint

  • framework: 94114c1f269f6b3d885f24b6f4689dce29504574 (origin/main at run start; pnpm install --frozen-lockfile && pnpm build, 75/75 green)
  • resolver: node scripts/checklist-select.mjs all at that sha → 272 runnable · 2 blocked hidden · 1 planned
  • .objectui-sha: daeb77fc84dd824e74c95b87cdede85afdb248e7. ⚠ pnpm objectui:build FAILS on this sha (Console pin does not build on main: objectui daeb77fc imports checkPageComponentViewData, deleted from spec by #23784 #23908). Browser/mixed verdicts ran on a console built at that same pin against @objectstack/spec from a35f7a67^ (the commit before the deletion), served from a linked worktree at 94114c1f with identical framework dists. check:console-sha matches.
  • app: showcase · boot OS_PORT=P objectstack dev --ui --seed-admin -p P -d file:…/data.db · per-runner port and DB · seeded admin + demo personas
  • browser: Playwright 1.63 on /opt/pw-browsers/chromium (Chromium 141), one context per persona
  • timestamp: 2026-10-16 (UTC) · runners:
  • G12 integration-system: ports [41220,41221,41222,41225,41230] · sequential · env 12 min / test 62 min

Scope

Selector area:integration-system (from the all resolution) · 18 runnable item(s):

  • integration-system.connector-declarative-boot r2 · P1 · api → pass
  • integration-system.connector-degraded-recovery r2 · P1 · api → pass
  • integration-system.connector-stdio-default-deny r2 · P1 · cli → pass
  • integration-system.connector-spec-path-no-escape r2 · P2 · build → pass
  • integration-system.connector-descriptor-audit r2 · P2 · cli → pass
  • integration-system.flow-connector-picker r4 · P2 · browser → pass
  • integration-system.webhook-lifecycle r6 · P1 · mixed → partial
  • integration-system.job-scheduled-run r3 · P1 · mixed → pass
  • integration-system.email-template-render r6 · P2 · mixed → pass
  • integration-system.notify-inbox-delivery r3 · P1 · mixed → partial
  • integration-system.external-datasource-federated-read r2 · P1 · api → pass
  • integration-system.datasource-admin-lifecycle r3 · P1 · api → pass
  • integration-system.external-schema-introspection r3 · P1 · api → pass
  • integration-system.external-schema-drift-gate r2 · P1 · cli → pass
  • integration-system.notification-preference-suppression r2 · P2 · mixed → partial
  • integration-system.datasource-credential-refusal-matrix r4 · P0 · mixed → partial
  • integration-system.connector-auth-kind-application r1 · P1 · api → pass
  • integration-system.external-schema-browser-ui r3 · P1 · mixed → pass

Per-clause verdicts

item # clause (short) verdict evidence
connector-declarative-boot 0 3 provider variants listed declarative+ready pass GET /automation/connectors 200: showcase_status_api, showcase_status_openapi, showcase_mcp_tools each origin declarative state ready; total 5; showcase_erp_catalog absent
connector-declarative-boot 1 actions derived from upstream pass mcp actions [echo_upper] = scripts/mcp-fixture.mjs tools/list; openapi actions [getHealth] = status-openapi.json operationId
connector-declarative-boot 2 materialized instances dispatch end-to-end pass trigger ping: ping.body {status ok,version 18.0.0-next.2}; trigger echo: echo.structuredContent {upper OBJECTSTACK}; runs status completed
connector-declarative-boot 3 authoring gate rejects malformed entries pass os compile exit 2 x3: providerConfig requires a provider; must not author actions (rest derives them); must not inline secrets via authentication, use auth credentialRef
connector-declarative-boot 4 unknown provider is hard boot error pass scratch boot aborts: connector instance qa_c5 declares provider no_such_provider, but no provider factory is registered (automation plugin startup failed)
connector-declarative-boot 5 disabled declaration gone after reboot pass scratch boot with showcase_status_api enabled:false: listing = openapi, mcp, rest, slack (status_api absent); reload teardown not separately driven
connector-degraded-recovery 0 boot completes, degraded husk visible pass args to missing script: boot healthy; WARN Connector registered DEGRADED; descriptor state degraded, degradedReason could not reach its MCP server, actions []
connector-degraded-recovery 1 degrade only for upstream-unavailable; config fault fatal pass transport.kind carrier_pigeon boot aborts: providerConfig.transport.kind must be stdio or http (plugin startup failed); unreachable upstream degrades
connector-degraded-recovery 2 dispatch of degraded fails fast quoting reason pass POST echo trigger 400 FLOW_FAILED in ~74ms: connector showcase_mcp_tools is degraded - could not reach its MCP server... distinct from no-such-connector
connector-degraded-recovery 3 backoff 5s doubling to 300s pass retry attempts at 12:07:22.7/28.5/38.7/58.8/08:38.8: gaps 5.8s,10.1s,20.1s,40.1s; reload-reset half not driven live (unit pins only)
connector-degraded-recovery 4 atomic restart-free recovery pass re-added script file; retry at 12:09:59 logged Connector registered showcase_mcp_tools; same server PID; state ready, echo_upper; echo run output upper OBJECTSTACK
connector-stdio-default-deny 0 non-opted-in stdio refused naming mechanism pass boot without declarativeStdio aborts: declares a stdio transport (command 'node'), but declarative stdio transports are disabled by default - a stdio transport launches a local process from stack metadata
connector-stdio-default-deny 1 allowlist mismatch quotes command and allowlist pass command python3 boot aborts: stdio transport with command 'python3', which is not in the host's declarativeStdio allowlist [node]
connector-stdio-default-deny 2 deny is boot-fatal config fault, not degrade pass both denied boots exited (health 000); 0 DEGRADED / retrying lines; no fixture process observed
connector-stdio-default-deny 3 allowlisted boot materializes ready pass stock boot: showcase_mcp_tools origin declarative state ready, action echo_upper
connector-spec-path-no-escape 0 package-relative spec derives actions pass stock: showcase_status_openapi ready with action getHealth
connector-spec-path-no-escape 1 absolute path rejected incl Windows pass boot aborts: package file ref '/etc/hostname' is absolute - file refs must be relative to the declaring stack/package root; same for C:\x\spec.json
connector-spec-path-no-escape 2 escape rejected on resolved path; inside form passes pass '../../outside.json' escapes the stack/package root - reads are confined to app root; './src/../src/system/connectors/status-openapi.json' boots ready getHealth
connector-spec-path-no-escape 3 missing file loud: fatal at boot, skip-with-log on reload pass boot aborts: could not be read (resolved to .../app/does-not-exist.json) ENOENT; --no-restart reload logs ERROR failed to materialize and server stays up
connector-descriptor-audit 0 loud side names names + prescription pass WARN [Automation] 1 declarative connector(s) declare actions but are not registered ... : qa_inert_desc ... or mark a deliberate catalog-only entry with enabled: false
connector-descriptor-audit 1 three quiet conditions pass stock boot: no audit warn; same-boot descriptor named slack (plugin-registered) not listed; provider-bound instances never named
connector-descriptor-audit 2 audit re-runs on metadata reload pass --no-restart boot, added enabled:true descriptor, recompile; 12:13:44 warn listing qa_inert_desc after artifact auto-reloaded, no restart
flow-connector-picker 0 picker lists exactly the API instances pass API 5 connectors; Studio connector field datalist holds the same 5 names, no extras (screenshot confirmed field render; native list read from DOM)
flow-connector-picker 1 declarative annotated, plugin not pass datalist labels: three end with "· declarative"; rest and slack carry no annotation
flow-connector-picker 2 picked instance offers derived actions + input schema pass action option echo_upper (Echo Upper); input field Text with help "Text to upper-case" = inputSchema.properties.text
webhook-lifecycle 0 declared webhook materializes with remaps pass sys_webhook showcase_task_changed: object_name showcase_task, active false, managed_by package, definition_json carries envelope (object, isActive, timeoutMs 30000)
webhook-lifecycle 1 per-record variants each deliver once with recordId pass in-org scratch webhook: receiver got data.record.created / updated / deleted, one each, recordId 51HJPulmTpFgcWGY
webhook-lifecycle 2 bulk pair aggregate shape blocked(dependency) not driven: in-org flow multi-write events carry no organizationId (knownGaps[1], maintainer question on #23166)
webhook-lifecycle 3 headers, HMAC, timeout, outbox rows pass X-QA-Custom header present; signature = HMAC-SHA256(body, secret) verified; row timeout_ms 5000; rows success attempts 1; dead receiver -) pending attempts 2 error fetch failed
webhook-lifecycle 4 redeliver replay + refusal matrix pass 200 {id,status pending}; replayed X-Objectstack-Signature byte-equal to originals; 401, 400 INVALID_REQUEST, 400 MISSING_REQUIRED_FIELD, 404, 409 DELIVERY_NOT_ELIGIBLE; cross-org 404 + NEVER_SENT via pins
webhook-lifecycle 5 retired trigger kinds fail at parse pass compile exit 2: Invalid value 'undelete' (did you mean delete); Invalid value 'api'; planted stored row warns 'declares trigger(s) the engine never emits: undelete - ignored'
webhook-lifecycle 6 admin-edited row survives reboot pass after reboot showcase_task_changed: active true, url http://127.0.0.1:41221/shipped, customized true
job-scheduled-run 0 cron, interval, once each fire pass scratch jobs: qa_job_interval 31 runs, qa_job_once 1 run at at-time, qa_job_cron (Asia/Tokyo, every minute) 2 runs; side-effect file lines match
job-scheduled-run 1 name-keyed sys_job + counters pass sys_job rows keyed by name with adapter ids; run_count/failure_count/last_status move (throw 6/6 failed, interval 31/0 success)
job-scheduled-run 2 retry per converged policy; no-policy one attempt pass qa_job_throw attempts 1,2,3 at +0s,+1s,+3s then failed; qa_job_throw_nopolicy 1 attempt per fire
job-scheduled-run 3 over-timeout run status timeout, counts as failure pass qa_job_timeout runs status timeout, error timed out after 1000ms, failure_count 2; retry-of-timeout not exercised (no policy)
job-scheduled-run 4 two skip doors loud and distinct pass WARN job handler not found in bundle.functions - skipping (qa_job_nohandler); enabled:false skip logs only at DEBUG (job disabled - skipping); neither ran
job-scheduled-run 5 closed doors refuse loudly pass compile: job.id removed ... name IS the job's identity ... os migrate meta --from 16; cron-)schedule, fn-)handler did-you-means; PUT /meta/job 403 NOT_CREATABLE
email-template-render 0 authored template renders all holes pass sys_email: subject "✅ Task done: QA Title One", body "The task QA Title One on project QA Proj was marked done." no {{ residue
email-template-render 1 missing required var fails fast; optional ok pass delivery dead MISSING_VARIABLES: title; missing project renders "on project was marked done"
email-template-render 2 active:false -> TEMPLATE_INACTIVE pass delivery error TEMPLATE_INACTIVE: qa_inactive_tpl
email-template-render 3 exact (name, locale), en-US fallback pass zh-CN user got "ZH-CN 完成: LocProbe"; zh user got en-US "ADMIN-EDIT done: LocProbe"; no-locale user got en-US
email-template-render 4 fromOverride/replyTo; derived text pass from "QA Sender (qa-sender@qa.test)", reply_to qa-reply@qa.test, body_text "Hello FromVal derived"; item has no bodyText
email-template-render 5 admin overlay survives reboot; source edit served on reload pass post-reboot GET meta subject "ADMIN-EDIT done: {{title}}"; scratch copy --no-restart source edit served "RELOADED-SOURCE done" without restart
email-template-render 6 authoring rejections loud pass compile: unrecognized key body; content -) bodyHtml did-you-mean; name must be dotted snake_case; category retired
email-template-render 7 raw send door auth + validation pass authed 200 status sent (LogTransport); anon 401 UNAUTHENTICATED; string body 400 INVALID_REQUEST; bad shape 400 VALIDATION_FAILED; bodyHtml 400 at least one of text or html; 501 not driven
notify-inbox-delivery 0 notify node delivers inbox row pass assignee GET /notifications: type task.assigned, title "New task assigned: Content backlog", actionUrl /showcase_task/6ch9Y62mcXPrRAed
notify-inbox-delivery 1 recipient-scoped pass third member GET /notifications: notifications [] unreadCount 0
notify-inbox-delivery 2 mark-read persisted per receipt pass POST /notifications/read readCount 1; ?read=false empty; receipt row (notification,user,inbox) state read; read/all readCount 1 -) unread 0
notify-inbox-delivery 3 401 anon; 501 without messaging blocked(fixture) anon 401 UNAUTHENTICATED (pass); 501 half needs a boot without messaging, showcase always requires it (knownGaps[2])
notify-inbox-delivery 4 unimplemented channel never fakes delivery pass push probe: no inbox row, no delivery row; WARN emit: channel 'push' is not registered; refused 1 delivery row(s) the dispatcher could only dead-letter
external-datasource-federated-read 0 federated objects in meta and queryable pass meta lists showcase_ext_customer/order; /data returns c1..c3 total 3; filter status=paid total 3, top=2 returns 2
external-datasource-federated-read 1 writes refused with located error pass POST/PATCH/DELETE 403 EXTERNAL_WRITE_FORBIDDEN naming datasource showcase_external allowWrites false; c1 unchanged
external-datasource-federated-read 2 connection listed with ok health pass GET /datasources: showcase_external schemaMode external origin code active true status ok; detail 200; console panel shows Active
datasource-admin-lifecycle 0 drivers catalog static, not anonymous pass admin 200: memory,sqlite,postgres,mysql,mongodb each with configSchema; anon 401 UNAUTHENTICATED
datasource-admin-lifecycle 1 uniform floor 401/403 pass anon 401 on list/drivers/POST; no-cap 403 PERMISSION_DENIED "requires the manage_platform_settings capability" on all three
datasource-admin-lifecycle 2 POST /test draft probe, no persistence pass 200 {ok true, latencyMs 2}; list unchanged (default, showcase_external)
datasource-admin-lifecycle 3 migrate-credential outcomes pass live clean row 200 {status already-bound}; bind arm via unit pin datasource-credential-migration.test.ts
datasource-admin-lifecycle 4 runtime create provenance + health pass POST 201 qa_ds_probe origin runtime status ok; list shows it
datasource-admin-lifecycle 5 secret never echoes pass detail hasSecret true, redactedConfigKeys []; secret string found 0 times in create/list/detail bodies
datasource-admin-lifecycle 6 malformed draft 400 DATASOURCE_ADMIN_ERROR pass filename:123 -) 400 DATASOURCE_ADMIN_ERROR config.filename expected string; missing name -) 400 same code
datasource-admin-lifecycle 7 503 names external-datasource when unwired pass unit pin admin-routes.test.ts passed; live remote-tables answered 200 wired (not-applicable-live)
datasource-admin-lifecycle 8 404 + ledger pass GET /datasources/does-not-exist 404 RESOURCE_NOT_FOUND; datasource-route-ledger.conformance.test.ts passed
external-schema-introspection 0 remote-tables lists tables with columnCount 7 pass 200 tables customers columnCount 7, orders columnCount 7
external-schema-introspection 1 ?schema= honoured / degrades pass pin #7955 cases pass; live ?schema=main, ?schema=, ?schema=a&schema=b all 200 full set on both spellings (narrowing unobservable on SQLite)
external-schema-introspection 2 object-draft reviewable compilable pass draft fields type-only (no primaryKey), header line exact, value import, // Remote primary key: id, review []; tsc on draft.source exit 0
external-schema-introspection 3 two spellings one operation pass external/tables set equals remote-tables; object-draft and tables/customers/draft bodies identical; twin pin passed
external-schema-introspection 4 auth floor identical on both spellings pass anon 401 UNAUTHENTICATED on all 4 routes; no-cap 403 PERMISSION_DENIED naming manage_platform_settings on all 4
external-schema-drift-gate 0 default fail refuses boot pass induced lifetime_value float-)boolean; onMismatch omitted and explicit fail: boot aborts 'Object showcase_ext_customer does not match its remote table on datasource showcase_external: type_mismatch customers.lifetime_value'
external-schema-drift-gate 1 warn proceeds and logs pass warn boot healthy; WARN [external-validation] external schema drift {datasource, object, diffs type_mismatch lifetime_value}
external-schema-drift-gate 2 ignore is silent pass ignore boot healthy; zero [external-validation] verdict lines
external-schema-drift-gate 3 checkOnBoot:false honoured loudly pass fail+checkOnBoot false boot healthy; INFO boot schema validation SKIPPED ... datasources [showcase_external] objectsSkipped 2; all-clear objects 0
external-schema-drift-gate 4 skip is boot-step only pass same boot: armed background drift check {showcase_external, intervalMs 60000}; checkonboot pin passed
external-schema-drift-gate 5 partial-read honesty pass list-diagnosed-consumer-sweep.test.ts passed (in 39-test batch)
external-schema-drift-gate 6 periodic re-check observational pass external-validation-plugin.test.ts passed; live armed background drift check line on checkIntervalMs boot
notification-preference-suppression 0 suppression row mutes inbox pass pref (assignee, task.assigned, inbox, false) -) refire: assignee task.assigned count stays 2; INFO suppressed for all recipients by preference
notification-preference-suppression 1 no dead-letter fake pass sys_notification_delivery: 8 rows all success, none failed/dead; no new inbox row
notification-preference-suppression 2 flip back resumes pass enabled true -) next fire count 3
notification-preference-suppression 3 most-specific-wins; mandatory topic bypass blocked(fixture) user ON over * global OFF delivered (count 4) - pass; mandatoryTopics half not configurable on showcase (knownGaps[1]), mechanism in preference-resolver pin
notification-preference-suppression 4 sys_notification_template renders via delivery pass email channel row (qa.ntpl, email, en): sys_email subject "NT subject for QA-NT-TITLE", body "NT body: QA-NT-TITLE via template"
datasource-credential-refusal-matrix 0 every inline-credential door refuses at publish pass 9 datasource doors refused at os compile (exit 2) AND POST /datasources (400 DATASOURCE_ADMIN_ERROR), each naming key + credentialsRef; connector inline authentication refused at compile
datasource-credential-refusal-matrix 1 credentialsRef alternative publishes and connects blocked(environment) publish ok (compile exit 0; runtime 201) but no reachable postgres/mysql/mongo: status error ECONNREFUSED
datasource-credential-refusal-matrix 2 both read doors redact and agree pass admin + meta doors for 6 datasources: 0 planted values except plugin non-canonical apiSecret; config objects identical across doors
datasource-credential-refusal-matrix 3 presence-preserving redaction pass qa_ds_probe hasSecret true vs showcase_external hasSecret false; turso redactedConfigKeys [encryptionKey] vs []
datasource-credential-refusal-matrix 4 legacy alias rows redacted pass direct DB-planted passwd, pwd, auth_token, jwt: absent from both doors, redactedConfigKeys lists them
datasource-credential-refusal-matrix 5 unknown driver fixed spellings redacted pass qa_plugin_drv: password, authToken absent, url userinfo stripped (proto://pu@h/x); apiSecret served as written (ruled boundary)
datasource-credential-refusal-matrix 6 echoed-mask write guard blocked(environment) PATCH config echo 200; hasSecret still true, same sys_secret handle (partial reading); connect probe impossible without DB
datasource-credential-refusal-matrix 7 not a privilege artifact pass no-cap 403 and anon 401 on both doors for every datasource and list
connector-auth-kind-application 0 each kind lands in its wire shape pass echo receiver: none no auth; bearer "Bearer SEKRIT-bearer-111"; basic "Basic cWE6U0VLUklULWJhc2ljLTIyMg==" = b64(qa:pw); X-API-Key header; ?api_key= with no header
connector-auth-kind-application 1 secret via resolution not metadata pass meta auth {type bearer, credentialRef QA_BEARER_TOK} etc.; wire carries env values
connector-auth-kind-application 2 unresolvable credentialRef boot-fatal pass boot aborts: credentialRef 'QA_BEARER_TOK' did not resolve ... set the 'QA_BEARER_TOK' env var, or wire AutomationServicePluginOptions.credentialResolver (ADR-0097 §3)
connector-auth-kind-application 3 oauth2 and inline authentication refused at authoring pass compile: auth.type Invalid discriminator value. Expected none/bearer/api-key/basic; inline authentication refused with the #7990 message
connector-auth-kind-application 4 no resolved secret in served bodies pass grep SEKRIT in /automation/connectors and /meta/connector bodies: 0 hits; basic username qa present
external-schema-browser-ui 0 panel only for federated datasource pass screenshot: showcase_external shows External Datasource panel, Tables/Validation tabs, READ-ONLY pill; default (managed) shows none; unsaved-draft guard not exercised
external-schema-browser-ui 1 SchemaBrowser mirrors API pass panel rows customers 7, orders 7 = GET external/tables; only one tables fetch on mount
external-schema-browser-ui 2 import chain lands real object pass draft POST 200, dialog shows showcase_customers + generated source; PUT /meta/object/showcase_customers 200; meta bound to showcase_external; /data rows; write 403; server twin 201 {object}
external-schema-browser-ui 3 refresh catalog round trip pass POST refresh-catalog 200 snapshotAt 12:49:23.205Z; header renders snapshot 10/16/2026, 12:49:23 PM
external-schema-browser-ui 4 validation panel reports server result pass POST validate 200 ok true 2 results; panel: All 2 objects match, rows showcase_ext_customer, showcase_ext_order
external-schema-browser-ui 5 floors for validate/import/refresh + PUT meta pass anon 401 on all; no-cap 403 manage_platform_settings (validate), manage_metadata (import, refresh-catalog); PUT /meta/object 403 requires manage_metadata
external-schema-browser-ui 6 503 detector pass objectui daeb77f vitest api.test.ts: 16 passed (503 SERVICE_UNAVAILABLE cases); live unwired render not applicable on stock boot
integration-system.connector-declarative-boot pass
integration-system.connector-degraded-recovery pass
integration-system.connector-stdio-default-deny pass
integration-system.connector-spec-path-no-escape pass
integration-system.connector-descriptor-audit pass
integration-system.flow-connector-picker pass
integration-system.webhook-lifecycle partial
integration-system.job-scheduled-run pass
integration-system.email-template-render pass
integration-system.notify-inbox-delivery partial
integration-system.external-datasource-federated-read pass
integration-system.datasource-admin-lifecycle pass
integration-system.external-schema-introspection pass
integration-system.external-schema-drift-gate pass
integration-system.notification-preference-suppression partial
integration-system.datasource-credential-refusal-matrix partial
integration-system.connector-auth-kind-application pass
integration-system.external-schema-browser-ui pass

Reproduction rules (fails)

None: no clause failed.

Derived item verdicts

14 pass · 4 partial · 0 fail · 0 blocked · 0 not-run (of 18).

Pin runs (Tier 1, RUNNER rule 6):

  • integration-system.connector-declarative-boot: packages/qa/dogfood vitest --maxWorkers=1 showcase-declarative-mcp.dogfood.test.ts: 2 passed / 0 failed
  • integration-system.connector-degraded-recovery: service-automation vitest connector-degrade-cause, degraded-register-cause, connector-descriptor-audit, connector-materialization: 76 passed / 0 failed
  • integration-system.connector-stdio-default-deny: connector-mcp vitest src/mcp-provider.test.ts: 19 passed / 0 failed
  • integration-system.connector-descriptor-audit: service-automation connector-descriptor-audit.test.ts in batch: 76 passed / 0 failed
  • integration-system.webhook-lifecycle: dogfood webhook-materialization.dogfood.test.ts: 1 passed; service-messaging http-outbox-parked-record, http-signature-at-rest, http-outbox: 19 passed; plugin-webhooks redeliver tenant-scope/member/auth-gate: 30 passed
  • integration-system.email-template-render: dogfood email-template-materialization.dogfood.test.ts: 4 passed / 0 failed
  • integration-system.datasource-admin-lifecycle: service-datasource admin-routes, envelope.conformance, datasource-credential-migration, datasource-route-ledger.conformance: 88 passed / 0 failed
  • integration-system.external-schema-introspection: rest vitest remote-tables-twin.equivalence.test.ts: 10 passed / 0 failed
  • integration-system.external-schema-drift-gate: runtime vitest external-validation-plugin, external-validation-checkonboot, list-diagnosed-consumer-sweep: 39 passed / 0 failed
  • integration-system.notification-preference-suppression: service-messaging vitest preference-resolver.test.ts: 25 passed / 0 failed
  • integration-system.connector-auth-kind-application: connector-rest rest-connector.test.ts: 10 passed; service-automation connector-materialization.test.ts in 76-test batch passed
  • integration-system.external-schema-browser-ui: objectui checkout daeb77f (repo root) vitest packages/app-shell/src/views/metadata-admin/external/api.test.ts: 16 passed / 0 failed

Fixture gaps

  • integration-system.webhook-lifecycle clause 2: in-org predicate multi-write bulk events carry no organizationId; maintainer question open on QA run · surface:mixed (90/90) · 36b2889c · 2026-10-12 · 72 PASS / 10 PARTIAL / 8 FAIL / 0 BLOCKED / 0 NOT-RUN #23166
  • integration-system.notify-inbox-delivery clause 3: 501 half needs a boot without MessagingServicePlugin; showcase requires messaging
  • integration-system.notification-preference-suppression clause 3: mandatoryTopics is a constructor option, default []; no showcase topic is mandatory
  • integration-system.datasource-credential-refusal-matrix clause 1: no reachable credential-protected postgres/mysql/mongo in the container
  • integration-system.datasource-credential-refusal-matrix clause 6: connect half of the echoed-mask probe needs the same database

Checklist-accuracy findings from this area close out on the wave anchor #23878; they are not extracted.

Activity

  1. objectstack-fleet commented on Oct 16, 2026

    @objectstack-fleet
    ContributorAuthor

    Close-out for this record (checklist-test §5), 2026-10-16T17:20Z. 14 pass · 4 partial · 0 fail of 18. There is no fail row. Each partial's gap is parked on the wave anchor:

    Parked-on: #23878 · integration-system.webhook-lifecycle · clause 2 blocked(dependency) — in-org flow multi-write bulk events carry no organizationId; the maintainer question is open on #23166
    Parked-on: #23878 · integration-system.notify-inbox-delivery · clause 3 blocked(fixture) — the 501 half needs a boot without MessagingServicePlugin; showcase always wires messaging
    Parked-on: #23878 · integration-system.notification-preference-suppression · clause 3 blocked(fixture) — mandatoryTopics is a constructor option defaulting to []; no showcase topic is mandatory
    Parked-on: #23878 · integration-system.datasource-credential-refusal-matrix · clause 1 blocked(environment) — no reachable credential-protected postgres/mysql/mongo in the container
    Parked-on: #23878 · integration-system.datasource-credential-refusal-matrix · clause 6 blocked(environment) — the connect half of the echoed-mask probe needs that same database
    

    Checklist-accuracy findings in this record close out on #23878. Closed by the domain:devx seat 1 PM (seat post #6023) · os-sales · session_014eFvbvGK4FjXvscggDNTD4, as part of the paced close-out of the #23878 wave.


    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

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions