Repository navigation
sync: reconcile upstream checkpoints through 13L - #32
Conversation
…anaged (DeusData#2722) Signed-off-by: Divakant Pandey <[email protected]>
feat(cli): note when a Claude Code session keeps searching without the graph
…ved-call-coverage fix(pipeline): expose unresolved call coverage
…user-symlink-alias fix(cli): trust root-owned per-user /home entries during activation walk
…remaining-fixed-size-tsnode-w fix(extract): YAML walkers grow their stacks instead of capping content
…nsion-string-enum
fix(cli): emit string enums as Type.String({ enum }) in Pi adapter (DeusData#2787)
…ta#2722) Signed-off-by: Martin Vogel <[email protected]>
The MSan output handler checked msg[0] before marking the text initialized, so MSan reported the handler's own read (tests/test_main.c:2151). Unpoison first, then test for the empty replay. Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
Signed-off-by: Martin Vogel <[email protected]>
…tream-remainder-20261102 # Conflicts: # README.md # graph-ui/package-lock.json # graph-ui/package.json # src/mcp/mcp.c # src/pipeline/pipeline.c # tests/test_cli.c # tests/test_mcp.c
…tream-remainder-20261102 # Conflicts: # .github/workflows/cache-warm.yml # .github/workflows/codeql.yml # .github/workflows/pr.yml # .github/workflows/scorecard.yml # .github/workflows/test-impact-artifact.yml # README.md # scripts/smoke-test.sh # src/cli/cli.c # src/cli/client_adapter.c # src/cli/client_adapter.h # src/main.c # src/mcp/mcp.c # tests/test_agent_clients.c # tests/test_cli.c # tests/test_mcp.c
…tream-remainder-20261102 # Conflicts: # .github/workflows/_smoke.yml # .github/workflows/cache-warm.yml # .github/workflows/pr.yml # .github/workflows/scorecard.yml # README.md
Preserve both histories for later review; source, security, and full Jenkins qualification remain required.
|
Important Review skippedToo many files! This PR contains 285 files, which is 185 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.
|
ngallodev
left a comment
There was a problem hiding this comment.
Targeted independent review of head 7d6f0cbffda3 (not a full audit of all 781 commits / 290 patches). Recommendation: hold merge pending evidence for the following gates.
-
Workspace authorization (
src/foundation/workspace.c,.h) — high priority.--approve-broadnow permits an explicit override of shallow-root denial. Please demonstrate negative tests proving that only an exact, human-approved path receives this grant; manifests, agent-controlled configuration, ancestor grants, and alternate marker types cannot authorize it; filesystem roots and cache-containing roots remain non-overridable. Include canonicalization and symlink/path-alias cases. -
ADR persistence (
src/store/store.c) — high priority. Moving ADRs to<db_path>.adr.dbintroduces a second durable SQLite lifecycle. Please provide migration/compatibility tests for existing stores, interrupted migration/writes, graph reindex/replacement, backup/restore (including the sidecar), and read-only opening. Document recovery semantics and verify ADRs are neither lost nor duplicated. -
Daemon coordination (
src/daemon/ipc.c,src/foundation/private_file_lock.c) — high priority. The new inode-identity heartbeat and nonblocking release semantics need targeted tests for renamed/unlinked/replaced locks, transient EIO/ESTALE/permission failures, concurrent startup/teardown, and cleanup retry exhaustion. Qualify Windows separately from POSIX, including held-handle and mutex contention behavior. -
Graph coverage (
src/store/store.c,src/store/store_content_digest.c) — medium priority. Validate that unresolved-call candidate storage and exclusion from the missed-index shadow graph preserve completecheck_index_coverage/trace_pathreporting, legacy read-only DB compatibility, and deterministic digests across full and incremental reindex. -
CI/installer — medium priority. Confirm changed reusable
.github/workflows/*files do not restore automatic GitHub Actions triggers (Jenkins-only automatic CI is a fork requirement). Exerciseinstall.ps1against malformed, duplicate/case-conflicting, path-traversal and valid-but-version-mismatched archives. -
Exact-head qualification. The PR's 4,141-pass Jenkins receipt is for
214b87b..., not this merge head. Please attach Jenkins results for7d6f0cbffda3, plus native Windows qualification, before requesting approval.
These are verification gaps and risk areas, not claims of confirmed bugs. GitHub's mergeable status is not evidence of regression safety. Please keep this PR unmerged until the gates are addressed.
License gate step 3/3 ran `npm ci` only when graph-ui/node_modules was missing. Jenkins main build #32 (commit 2093ca0) reused a node_modules tree left in the persistent workspace by build #31 (2026-10-06), which was installed from a lockfile that predates the @types/node devDependency. The install was skipped, `tsc -b` failed with TS2688 "Cannot find type definition file for 'node'", and every later stage was skipped. A stale tree is also a correctness problem for the gate itself: the npm license check would inspect packages that are not the ones this candidate ships. The gate now reuses an existing tree only when `npm ls --all` confirms it matches package.json and package-lock.json. Otherwise it runs `npm ci --ignore-scripts`, which replaces the tree. A fresh `npm ci` of the current lockfile passes `npm ls --all`, so a matching tree does not trigger a reinstall on every run. Since 9f26f16 the Jenkinsfile also cleans the workspace after each build. This change keeps the gate correct for local runs and for any workspace the cleanup misses.
Ancestry and scope
Draft for independent regression review. This reconciles the CLI fork with upstream checkpoints 13C–13L while retaining the fork's CLI-first architecture and Jenkins-only automatic CI. Fork base:
2093ca07efd1fad484f5d6d0f1c89e67b635b2fb; current upstream tip:e0c7a1da6c067149716afad5a06f2465c114840d; head:7d6f0cbffda3e9786f59e8bd9b4b5946fe80fcb9. The head is a true merge of the earlier integratione3aadea3423020febf0032faf3f05e093b3d6c9band current fork main. Its upstream ancestry includes 13L endpointa5b248f47272413189746589b9a2c551c6b6c5ec; upstream-only ancestry decreases from 929 to 175 at the current upstream tip. No squash or rewritten upstream history.Shared integration includes language extraction and resolution, graph and source freshness, unresolved-call reporting, persistence and daemon improvements, and allocator updates. MCP server, transport, JSON-RPC and registration remain excluded; CLI hooks and native interfaces are retained/adapted. Installer resource limits, workspace authorization and security-sensitive boundaries require independent review. Consult
docs/upstream-sync/13c.mdthrough13l.mdfor individual batch receipts, adaptations and exclusions. Graph coverage/schema and existing-index compatibility require independent verification; no migration claim is made for this final merge.Verification and outstanding gates
git diff --checkoutsidevendored/mimallocpasses; the whole diff reports upstream vendored whitespace.214b87b84a40e170fd8b3db2c603ab651ba5fe2c, with 4,141 tests passed, 2 skipped. That is not a result for this later merge head, which merges current main and changes source.