Skip to content

fix(integrations): isolate unrepresentable Qoder status - #7519

Closed
Ingwannu wants to merge 1 commit into
devfrom
fix/qoder-integration-state-7512
Closed

Ingwannu wants to merge 1 commit into
devfrom
fix/qoder-integration-state-7512

Conversation

@Ingwannu

@Ingwannu Ingwannu commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fixes #7512. A catalog model such as kimi/k3[1m] cannot be represented by Qoder's exact managed array selector. Its construction refusal currently makes both the single-client read and the whole Integrations collection return HTTP 500, even without a Qoder installation.

Raise a dedicated UnrepresentableSelectorError and classify only that refusal in the shared state reader as Qoder unsafe / unresolvable-path. Preserve resolved target/installation state, matching ownership metadata and retention information. Other clients remain visible; unexpected builder errors still propagate. Preview and mutation retain their existing fail-closed behavior and no selector grammar changes.

Update the owning structure contracts, decision record and public Qoder guidance. Register the HTTP regression in both layout maps without increasing a size cap.

Verification

  • Red before runtime changes: new regression file 2 passed / 3 failed, reproducing collection HTTP 500 for bracket/comma model IDs and an installed Qoder target.
  • Green final: Bun 1.4.3, bun test tests/clients/qoder-client.test.ts tests/clients/integrations-state.test.ts tests/clients/integrations-merge.test.ts tests/server/management-qoder-selector-state.test.ts tests/test-layout.test.ts tests/test-layout-tooling.test.ts tests/ci-workflows/structure-ssot.test.ts tests/ci-workflows/file-size-ratchet.test.ts — 173 passed, 0 failed, 1110 assertions. Real loopback HTTP checks cover collection/single reads, unchanged sibling status and target/store contents, installed/absent targets, retained ownership metadata, refused preview/mutations, normal apply and unexpected-error propagation.
  • bun scripts/privacy-scan.ts: passed. git diff --cached --check: passed. Structure, test-layout/tooling and whole-tree file-size gates are included in the passing batch above.
  • bun install --frozen-lockfile --ignore-scripts: passed; repository lock/manifests unchanged. All local workloads ran serially as ubuntu in hard cgroups (75% CPU, 1536 MiB maximum, no swap, bounded tasks/time) with fresh HOME/CODEX_HOME/OPENCODEX_HOME/TMPDIR; management persistence is injected. Existing dirty checkout and protected runtime configuration remain unchanged.
  • Unverified typecheck: bun node_modules/typescript/bin/tsc --noEmit reached the local 300-second execution cap (terminated after stop grace). No successful local typecheck is claimed.
  • Incomplete docs build: frozen-matching docs dependencies reused; RAYON_NUM_THREADS=2 UV_THREADPOOL_SIZE=2 bun node_modules/astro/bin/astro.mjs build generated the site but stalled in Pagefind's final search-index hook and reached the same 300-second cap. No completed docs build is claimed.
  • Full local/import-connected suite deferred under the documented resource exception: the existing shared state reader fans out broadly, and the focused regressions plus adjacent ownership/grammar suites are the bounded local proof. Hosted exact-head typecheck, docs build and broader tests remain required. No native Windows/macOS or live third-party-client/provider acceptance is claimed.

Kept Draft pending complete hosted validation and independent maintainer review.

Checklist

  • Scope stays focused and avoids unrelated cleanup.
  • Docs or release notes were updated when needed.
  • Security-sensitive changes were reviewed for secrets, auth, and unsafe defaults.

@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

✅ Deterministic PR hygiene checks passed.

@lidge-jun

Copy link
Copy Markdown
Owner

Carried in #7545, together with the Qoder catalog fix from #7391, with your commit kept under your authorship. Once #7391's provider-only catalog is in, Qoder no longer builds array selectors, so the k3[1m] IDs are ordinary models. The typed UnrepresentableSelectorError guard and its status, preview and mutation contract stay in place, and the regression test now drives them through a builder spy (details under Decisions in #7545). This PR stays open until a maintainer closes it.

@lidge-jun

Copy link
Copy Markdown
Owner

Thank you for this work. It has been carried onto current dev in #7545, with your authorship kept as a Co-authored-by trailer, and review continues there. Closing this PR in favour of #7545.

@lidge-jun lidge-jun closed this Oct 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants