| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Thanks, and sorry for the wait. Queued for review. Mechanically in good shape: MERGEABLE with 28 checks green, +95/-12 across two files. Project discovery scalability has come up from a few directions recently, so a targeted fix there is welcome. |
Sorry, something went wrong.
|
An update on this one, and an apology for how long it has sat. Half of your PR has just shipped — and you found the bug independently, which deserves saying plainly. The yyjson_mut_obj_add_str → add_strcpy fix for the coverage scope field landed on main tonight in f18ed73 (via #1148). Your diagnosis and @aaiyer's were the same and both correct: scope is declared inside the yyjson_arr_foreach body and was being stored by pointer, so by serialization time every entry aliased one dead, reused stack slot — multi-scope check_index_coverage responses returned the last label for all entries, on top of stack-use-after-scope UB. Two people finding the same non-obvious bug from different directions is a good signal it was worth fixing, and you were first to report it here. The practical consequence is that main now contains that exact line, so this branch will conflict on it. What is still live in this PR: the list_projects pagination. That part has not shipped and is not duplicated. It is with the maintainer, because it changes the default contract of a public MCP tool — today list_projects returns every project with nodes/edges/size/branch, and this makes the default 50-capped and detail-less with the rest behind include_details. metadata_only=true stays compatible, but the old default does not, so existing consumers would silently lose fields. That is a findability-versus-cost decision on a public surface and it is genuinely his call, not mine. The underlying problem you are solving is real — opening 632 project databases to answer one list request is not defensible. Two defects worth fixing regardless of which way that decision goes:
What would help most right now: rebase on current main and drop the add_strcpy hunk (it is already there), leaving this PR as purely the list_projects change. That makes the remaining decision a clean one and gets rid of the conflict. Thank you for the report and for the fix — the scope bug was corrupting output from a tool we ship and our own tooling calls, and it is genuinely better for having been caught twice. |
Sorry, something went wrong.
|
Rebased on current main and removed the now-duplicated coverage-scope production change and tests, so this PR is now purely the list_projects pagination change. I also addressed both defects from the review:
The pagination tests now cover deterministic page order, the second page, metadata_only=true, and include_details=true. The final signed-off head is 434b319f, and the PR description now reflects only the remaining live change. Full CI is running. |
Sorry, something went wrong.
|
Thank you for the focused follow-up: removing the duplicated scope, tightening allocation and sort handling, and narrowing the PR to pagination. I have recorded those changes and returned the current diff to the maintainer review queue. Detailed feedback may take a little time while the community queue is full. |
Sorry, something went wrong.
|
Rebased this PR onto current upstream main (7f23a66a, v0.10.2+) and force-updated the head with lease protection.
Local GCC 15 required suppressing two unrelated warnings-as-errors in existing daemon tests (free-nonheap-object, stringop-overflow) to reach the focused suites; no source suppression was committed. Fresh CI on this exact head is the authoritative pinned-toolchain result. |
Sorry, something went wrong.
Add deterministic pagination and opt-in project details while preserving the metadata_only compatibility alias. Fail list_projects atomically on name allocation errors and skip qsort for empty project caches. Signed-off-by: tmonestudio <tmonestudio@users.noreply.github.com> Signed-off-by: Leonardo trindade miranda <tmonestudio@gmail.com>
|
CI follow-up: I inspected the failing Windows shard 2/2 log. The PR code did not fail. All 32 preceding scheduler-contract cases passed, then the upstream parallel-scheduler self-test flaked at hang_after_summary with suite leader exited leaving live descendants and exited 2 before writing shard-manifest.txt; shard-completeness and ci-ok were therefore cascade failures. The branch was already exactly one focused commit over current main (7f23a66a) with no new upstream commits to rebase. I refreshed the same signed-off content under head a62c6788 solely to trigger a clean CI rerun. If the scheduler failure repeats, I will keep its infrastructure fix separate from this list_projects PR. |
Sorry, something went wrong.
|
CI update: the fresh run on a62c6788 is now fully green, including shard completeness and Windows CLANG64 2/2. This confirms the earlier failure was the unrelated parallel-scheduler cleanup flake described above; no product change beyond the focused list_projects fix was needed. |
Sorry, something went wrong.
|
Thank you @tmonestudio for the clean rerun and the attribution note. The current head a62c6788 is mergeable and fully green, including the Windows shard and completeness gate, with the diff still limited to deterministic/paginated list_projects and opt-in details. This is recorded back in the maintainer review queue. The queue is still full, so detailed review may take some time; no further triage action is needed from you now. |
Sorry, something went wrong.
|
Merged — thank you! Pagination with a lean default was the right call for real fleets (632 DBs at >60s was unanswerable before), and removing the #1148-overlap hunk promptly when asked made this easy to trust. The offset/limit+has_more shape is accepted as-is; if we later converge the tool family on nextCursor, we'll migrate this alongside the others rather than bouncing it back to you. |
Sorry, something went wrong.
…ith no zero-argument tool DeusData#1181 gave list_projects pagination parameters, retiring the last empty-properties schema — and the two DeusData#1359 regression tests leaned on list_projects as their live zero-argument example, so main went red the moment the merge train composed (the PR was green on its July base, which predated these tests). The gate's schema→decision core is split behind a CBM_CLI_ENABLE_TEST_API seam, so the zero-argument branch stays pinned directly (empty properties, absent properties, populated properties) regardless of what the registry ships; list_projects now asserts its NEW truth (piped args accepted, TTY still refused); and the schema↔gate parity sweep keeps running over every tool without the impossible >=1 zero-argument floor. Production behavior is unchanged — this is the tests catching up with an intended schema change, plus a seam so they never again depend on a shipped example. Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
| Back | FazBrowse Home | New Git URL |
What does this PR do?
Restores scalable and deterministic list_projects discovery:
The previously included check_index_coverage scope-copy fix has been removed from this branch because it already shipped on current main in f18ed73 via #1148.
Reproduce-first evidence
Checklist