Skip to content

feat: qualify qoder native project E2E - #523

Merged
777genius merged 39 commits into
feat/project-native-e2e-remaining-20261025from
feat/project-native-qoder-20261025
Oct 29, 2026
Merged

777genius merged 39 commits into
feat/project-native-e2e-remaining-20261025from
feat/project-native-qoder-20261025

Conversation

@777genius

@777genius 777genius commented Oct 25, 2026 •

Copy link
Copy Markdown
Owner

Qualified and merged into #520 — 2026-10-29

Current source 5b95c64d5b4fd8d1a9465cbd217cf4525f63e6dc, tree 8e732f5df358e252f4d1a260d6003db8acac4ce1, completed the genuine hosted full skills cycle in run 40878234571, attempt 2. The remaining Kimi-call baseline subsequently passed, so the whole current Project Native Runtime matrix is green.

Both independent reviewers completed full raw audits in addition to the author's audit. They checked GitHub artifact pins, closed archives, exact source/build/client identity, 24 frontend and 68 native stream joins, 14 public CLI stages, 20 fresh native catalogs, 25 ordered ownership/preservation proofs, and 21 bounded native log runs. The complete native cycle took 42.226 seconds.

The evidence proves supported explicit --plugin-dir skills lifecycle and restart/removal: same-name A/B isolation, repeat-add and unchanged-update preservation, intact repair, A-two update, exact owned fault/frozen revision repair, A/B removals, retained data, and unchanged original user/foreign entries. Only project-lifecycle and native-restart-removal are true. Product activation remains Prepared; automatic discovery, MCP initialization/list/call, vendor authentication and real-model behavior are not claimed.

Evidence:

All applicable checks are now complete: all ten current-head workflows succeeded, including all 15 Core fast jobs. The complete check-run inventory contains 52 successes and two expected skips (CodeRabbit and an unselected SDK lifecycle), with no pending or failed check and no unresolved review thread. Earlier cancelled jobs were resumed on the same successful tested head.

PR #523 was merged into #520 as 0db149a2. The resulting parent tree is exactly the tested 8e732f5df358e252f4d1a260d6003db8acac4ce1. The merge was guarded by the expected 5b95c64d head. Final aggregate-parent gates remain separate; no release was published. No extra code/document commit was added merely to record the result.

All earlier failed captures remain unchanged failed history.

Preserved source-bound implementation and evidence history

Current reviewed correction and pending capture — 2026-10-27

Published source: 4f034eb374bb585f0bc409763e62f0058bebabed; tree: 3d04ce2878cf93239cfa2f9a2564dc2c6a931bc3.

The fixture now authors only the three exact source-defined empty directories .qoder/tmp/telemetry/active-runs before the first child. Held no-follow ancestry, owner/mode/inode, closed membership and final emptiness checks run around the existing commands. The original complete-profile, auth, log, process and deadline guards remain unchanged; this does not permit the four previously omitted delta entries or unknown log mutation.

Two independent plan reviews preceded implementation; independent exact code review and actual focused Go plus both full-root lint gates passed. The preceding 893 capture still replays as failed with all qualification flags false. Current runtime 40585824651 passed admission and awaits actual native execution. This PR remains a draft; full lifecycle, restart/removal, authentication and real-model operation remain unproved.

Historical source-bound records

The following observations retain their own earlier source identities and are not current-head qualification.

Fresh current-source catalog result — 2026-10-27

Current head: 89321cbe5baf79d5837da4ad95040beabcd6cdbc, tree f75668e2162758f31327e6140e4ec4b355350813.

The genuine runtime run 40575301213, Qoder job 122446553803, completed with failure after 4.80 seconds. Public project add succeeds Prepared. The actual plugins list --json --plugin-dir exits 0 in 1152 ms, without timeout or process error, and lists the exact receipt-selected enabled flag-view plugin with its one skill and no MCP resources. The complete original-profile equality guard then refuses; restricted startup and later lifecycle stages were not reached.

The bounded delta measures 12 prior and 18 later entries: six additions and one change. It shows three added ordinary 0700 directories in the finite other area; four other delta entries are explicitly omitted by the existing budget. This does not establish their raw names or authorize a logs-only or whole-profile exception. No arbitrary path or content was exported.

Independent audit verified native artifact 12768990209 (4347 bytes, outer SHA256 07dfe8e328753605fc53338f416bada19c76b0c1ae3d2fb6a7c6df829dcc5ea9, 16 closed members), frontend 12766634473 (25 members), exact clean source/tree/build, all 24 frontend stream joins, and identical failed admission through immutable source893. All five qualification flags, runtime completion, authentication and real-model qualification remain false. This PR remains a draft awaiting the outstanding profile and lifecycle gates.

Earlier source-bound correction and evidence

Exact auth-membership correction — 2026-10-27

Current head: 89321cbe5baf79d5837da4ad95040beabcd6cdbc; tree: f75668e2162758f31327e6140e4ec4b355350813.

Independent review found that the authored anonymous metadata recipe checked the three fixed files but did not freeze the exact .auth child set before the later full-profile snapshot. A version or install child could therefore introduce an unknown sibling into that baseline. This is a source acceptance defect, not an observed vendor credential write.

The correction verifies exactly machine_id and .credential-transaction through a fresh readable descriptor anchored to the held auth directory, during initial capture and every command's recipe checks. It checks directory identity, ownership, mode and stability around bounded enumeration, refuses extra entries without reading their bodies, and preserves every fixed-file and whole-profile protection.

Two independent pre-code plan GOs and two independent exact-code GOs passed. The actual old-helper regression fails for all six extra-entry cases and initial capture; the corrected Qoder/shared contracts pass in 0.049 seconds. Affected all-enabled lint and the unfiltered whole-repotests six-linter gate each report zero issues. The original author's commits and tests are preserved; the correction was published by normal fast-forward.

This remains a draft awaiting genuine current-source evidence and the remaining lifecycle gates. All five qualification flags, vendor authentication and real-model qualification remain false. No release or VS Code work is included.

Earlier source-bound continuation records

Continuation status — 2026-10-27

Current head: 1973a9551f87a6e349c3cfd7ba6a9b8ff11118b8; tree: 3e8fb0fc2c56162e6345f1797fd3c5b3419c984b.

The bounded original-profile diagnostic now prioritizes already-held file changes within the existing “other” area, preserving the three-detail/2 KiB limit, every count, eight explicit omissions in the observed shape, privacy and the original fatal whole-profile comparison. It adds no reads, native commands, allowed mutations or qualification claims.

Two independent plan rounds and exact-tree implementation review passed. Focused inert Go contracts passed in 0.157 seconds; actual affected all-enabled lint and unchanged whole-root size/architecture lint both reported zero issues. The previous genuine 16-member failed artifact replays unchanged with all five qualifications false. Fresh current-source native evidence remains required.

This remains a draft. Original user authority, native authentication/model boundaries and merge/release requirements are unchanged.

Historical implementation and evidence

The earlier source references below are retained as historical evidence at their own commits.

Purpose

Verify how pinned Qoder 1.1.78 consumes the exact project skill view produced by the public installer, stacked on #520.

Current source and behavior

Published source: faf2fef5ae4c094698b6818b4b6380f11b0bd351.
Exact tree: ed31f769953b661d46975078dfd5d29cb782c540.

Latest bounded diagnostic selection

The preceding runtime 40467129367, native job 122068137876, at 94e0c6b9 recorded catalog exit zero without timeout in 2999 ms, then failed the unchanged complete-profile guard. It measured ten additions and one change: one latest-link change, three log changes and seven other entries. The old three-detail ordering showed only the latest link and two logs, leaving all seven other entries unobserved. This is not evidence for a logs-only exception.

The formatter now prioritizes those already computed other-area details when any exist. It retains hashed-name ordering, all exact counts, the same three-detail and 2 KiB bounds, and the exact omitted count. With no other changes its previous ordering is unchanged. It adds no file read, raw path/name/content, parser rule or preservation exception. Three samples cannot establish all seven entries; a fresh actual capture is required.

Root/CLI approved the exact plan; CLI/shell independently approved both complete source files. Real-profile controls cover zero, one and seven other changes, independent literal content/key hashes and metadata, old relative ordering, reversed insertion order and profile/map nonmutation. Focused contracts passed in 0.053 seconds; affected all-enabled and unfiltered whole-file lint both reported zero issues.

Both preceding immutable archives were reacquired and verified: native 12717861327 (16 closed members, outer SHA256 ef60ec6cea0222b828716a908ba04708dae5bd6dde80543df6d47aab13d2479f) and frontend 12717068850 (25 members, outer 50ba00d16869be9e501c74eb7eb6e2faeb09c09a262102daad81ed3aeaef5f67). Exact source/tree/clean closure, CRCs, all 24 frontend stream joins and unchanged failed/all-false admission pass. Native startup and full lifecycle remain unproved.

The genuine hosted attempt verifies immutable acquired bytes, public local-source project add, the Prepared receipt and exact package/source/import-view authority. It then invokes the actual help-advertised plugins list --json --plugin-dir <receipt-selected-view> from project A before restricted headless startup.

The original profile inventory now supports only the measured logs/latest symlink. Held no-follow descriptors verify its original owner, link identity and a canonical relative target whose complete ordinary closure must also appear in the profile inventory. Evidence retains numeric metadata and the target length/digest; it does not expose the private target text. Other links, escapes, aliases, hardlinks, special files and changed identities fail. Replacing the link with the same target text also fails.

The complete original .qoder profile remains frozen before and after catalog execution. Added or changed logs, rotation, changed directories/modes or changed file bytes still fail. The latest independently audited catalog selected the exact owned flag-view skill; that observation does not yet establish the later lifecycle. The existing 30-second catalog ceiling, original 150-second work/180-second total budget, restricted tools, permissions, receipt-selected view, source pins and cleanup gates remain intact.

Actual native evidence

Run 40455028917, source c14b4974ddd42d16233ad654f3dbc50bcbcabcf0, completed public add, then the original profile inventory rejected logs/latest: symlink, one link, 42-byte target. Its target text and native catalog output were not observed. Native artifact 12711428594 SHA256 is eee6372ce39902fe9269f652632792bb5ab24cb16e8f1cf63e30ac50ac9681a6; frontend 12711149158 SHA256 is 9ac977e326a940f96a3e1fa96e4e67edd91438aa9aa47750e7aca0c43cd033bb. Both closed artifacts were checked against their actual source and stream hashes.

At source ccd9dc9e12724b43bae001b3d3573d95c7994297, runtime 40459286447, job 122045321108, passed the exact contained ordinary log target and public add. The native catalog exited 0 with 766 stdout bytes and selected the exact owned flag-view skill. The second complete original-profile inventory was valid but differed from the original, so the unchanged fatal guard stopped before restricted startup. Native artifact 12714971725 contains 16 members; frontend 12714273659 contains 25, with all 24 command stream receipts verified. The actual changed entry was not captured at that source, and all qualification flags remain false.

The new source adds only a bounded diagnostic when both already-held inventories are valid but unequal. It reports finite area/count metadata and at most three deterministically selected hashed entry summaries inside 2 KiB. It does not read additional filesystem state, expose private names/content/targets, accept rotation or adopt a changed baseline. The original profile comparison still fails. Fresh genuine evidence is required to identify the mutation before any further reviewed correction.

Independent review and local verification

The concrete plan received independent CLI and shell GOs plus root review before code. Both critics reviewed the final implementation and its small preallocation/positive-contract correction; root then read the complete frozen candidate. Separate reviewed plan and code commits are retained.

Actual focused inert Go tests passed in 0.028 seconds, including five new suites and 23 target, alias, ownership and rotation cases plus the retained catalog/profile/argv contracts. All-enabled affected lint and unfiltered whole-file size/complexity/architecture lint each reported zero issues. Formatting and whitespace checks pass. No native vendor process ran locally.

The delta diagnostic received two independent plan and final code approvals. Review corrected its file-record bound to the existing 64 MiB inventory limit and added independent expected detail hashes/metadata and exact deterministic truncation controls. Focused inert Qoder/shared contracts passed in 0.049 seconds; all-enabled affected lint and the unfiltered whole-file gate each reported zero issues. The retained 16-member ccd9 failed envelope still re-admits unchanged with all qualification flags false.

Remaining qualification and preserved history

Full user/A/B lifecycle, fresh restart/removal and repeated removal remain outstanding. First-capture native evidence deliberately keeps all five qualification flags false. Vendor authentication and real-model use are unqualified; no new MCP support, global registration or release is claimed.

Earlier source-bound evidence remains in help run 40342548512, installed framing failure 40360165099, runtime 40380148566, and runtime 40408766184. The selected production Stager framing correction, Go 1.22-compatible helpers, parent Darwin process-group cleanup correction and externally published runtime concurrency changes are preserved. The old baseline native run 40360165184 had an OpenCode macOS timeout/upload DNS failure; it does not qualify this source.

Applicable current-source checks and native evidence remain required before merge.

Integrates independently reviewed client leaf e4116ce9c8e8e742084de0781b04a333502859ad. Native runtime qualification remains separate.
@coderabbitai

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 133e6169-7561-4e94-97b5-1200487ab0b2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • 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.

…ming

Retain receipt-selected catalog capture and full original-profile snapshot checks. Apply the independently reviewed strict framing and shared capture correction.
…leanup

Preserve installed receipt framing, explicit per-test cancellation and closed native view refusals. Align the reviewed program cleanup correction without changing native admission or qualification.

Copy link
Copy Markdown
Owner Author

@coderabbitai full review

Owner requested independent review before merge. Observed head: 0d1bfa7225937f4f581958022ef103200ee14301, stacked on #520. Review only: no autofix, branch mutations, ready-state transition, merge or release.

Check receipt-selected Qoder plugin views, independent acquired-source versus installed framing, strict original .qoder profile preservation, native catalog command and closed artifact triples, and 30-second command limits inside existing total budgets. Explicit --plugin-dir activation is not cwd autodiscovery; opaque catalog output and Prepared installation are not runtime or lifecycle proof. Preserve all hosted-only/source/pin/trust/process/cleanup guards and report source-bound findings.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
⚠️ Action not completed

Review rate limited.


Your included review limit is currently reached under our Fair Usage Limits Policy. This review may still proceed through usage-based billing if eligible. Your next included review will be available in 59 minutes.

@777genius 777genius left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Independent current-source Qoder evidence review: the installed catalog now succeeds, but the complete original-profile preservation gate still fails; NO-GO for runtime/lifecycle qualification or merge.

I independently downloaded and verified the exact ccd9/treeac550cf4 artifacts from run40459286447: native12714971725 SHA256162c5d94d7556e982a6433d1a1a93ad897382fb66b4d3ccc1dcbea021cb66c91 (16 closed members), frontend12714273659 SHA256a53edb7f7eee4edc72a00c90268389d107585d5fdac2c8a6d18f2ce0e44e4f8c (25 members). Unique bounded ordinary names and CRCs checked; source identities match. The actual frontend test failure is Qoder catalog changed the complete original user profile/cache.

Public add-A passed. Pinned1.1.78 plugins list --json --plugin-dir <receipt-selected view> returned exit0 in1135ms, empty stderr, no capture/context error. It listed exactly the installed uap-qoder-attempt@flag at the receipt view, version1.0.0, scope=flag, enabled=true, canDisable=false, with the expected skill and no agents/MCP/commands/hooks. This is native catalog visibility through explicit session selection—not cwd discovery or a prompt/tool lifecycle. There is no native-attempt triple: startup was not reached. All five flags remain false.

The new held logs/latest diagnostic records a contained ordinary target directory with the exact expected link shape. It does NOT identify which entry caused the later complete-profile mismatch. Do not infer log rotation, adopt the changed tree, ignore logs wholesale, or relax alias/source checks based only on this failure.

I also independently verified current-head genuine help artifact12715076516 from run40459286327, SHA25607e3b8fadf08686972b23558534d2fd73f8875849083f3f73db74ad4f2047be5 (23 bounded members). The captured top-level and plugins-list help advertise no log-output-directory option. --config-dir relocates the user config root and is NOT a permissible substitute for preserving the selected original user authority. --no-session-persistence is explicitly print-only and does not prove a catalog logging control. A next narrow diagnostic/initialization amendment needs a source-backed exact changed-entry classification with no raw logs/profile contents, not a guessed argv/env workaround.

No repository code, ref, native execution, CI retry, qualification or release was changed by this review. The active root's implementation and existing guards remain preserved.

@777genius
777genius marked this pull request as ready for review October 29, 2026 14:17
@strix-security

strix-security Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Strix Security Review

✅ No open security findings.

PR summary: Adds a Qoder native project E2E qualification cycle: new Go lifecycle/catalog/profile-capture harness files, matching contract tests, and Python evidence-collector/validator modules (with plan and evidence documentation) that pin and verify the Qoder 1.1.78 artifact and its project skills lifecycle.

Review summary

Reviewed all non-documentation changes in this PR — the new Qoder native cycle harness (Go fixtures, capture and lifecycle tests), the modified CLI project E2E test, the Python evidence-validator/collector modules, the corresponding contract tests, and their shared helpers. No security vulnerability was confirmed. The profile-capture code that walks the Qoder directory uses descriptor-relative no-follow opens, ownership/link-count checks and post-read identity re-verification, so symlink or hardlink escapes and TOCTOU windows fail closed; native children run with a fully synthesized environment and a pinned, digest-verified binary, and the Python evidence layer performs in-memory validation only (bounded regexes, depth/size budgets, pinned https acquisition with digest verification). A few hardening notes remain informational only: the evidence privacy canary only matches literal markers (not base64/hex encodings), raw vendor stdout/stderr is captured before the exact stream assertions run, and the argv-form check accepts any path under the pinned binary's virtual namespace. None of these has a realistic attacker path or touches shipped product code.

Ruled out (2)
  • Can an os.RemoveAll on a receipt/state-derived TargetLocator delete files outside the test fixture?
    The state store validates every project binding TargetLocator with a contained-child path policy against the temp project root on both load and save, and every fixture input is test-authored, so the value cannot escape the fixture.
  • Could native Qoder stdout/stderr embedded in the uploaded CI evidence leak credentials through the marker-only filter?
    The vendor child runs with a synthesized environment carrying no credentials, the synthetic .auth holds only an anonymous UUID, the capture mode forbids vendor authentication, and every stage stream is pinned to an exact expected value, so there is no credential present to leak.

Review 1 on this PR · 5b95c64 · requested Oct 29 14:17 UTC when the PR was opened


Reviewed by Strix
Re-run review · Configure security review settings

@777genius
777genius merged commit 0db149a into feat/project-native-e2e-remaining-20261025 Oct 29, 2026
80 of 98 checks passed
@777genius
777genius deleted the feat/project-native-qoder-20261025 branch October 29, 2026 15:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants