v0.42.30.0 feat(operations): make idea_lineage MCP/agent-callable (lift local-only)#1830
Merged
garrytan merged 1 commit intoJun 8, 2026
Merged
Conversation
Contributor
|
cool idea! |
Owner
|
Thanks for this @davidNbreslauer — built on top of it in #1940, which adds a first-class |
mgunnin
added a commit
to mgunnin/gbrain
that referenced
this pull request
Jun 8, 2026
* upstream/master: v0.42.32.0 fix(sync): coerce non-string frontmatter titles + bounded auto-skip failure ledger (garrytan#1939) (garrytan#1956) v0.42.31.0 feat(links): open link_source provenance + link-add/link-rm/link-sources (garrytan#1941) (garrytan#1957) feat(skills): add idea-lineage (garrytan#1830) # Conflicts: # src/core/content-sanity.ts # src/core/markdown.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Lifts the
idea_lineageoperation from local-only to HTTP/OAuth MCP / agent-callable, mirroringfind_trajectory's remote posture. Two substantive commits:Engine federation (
feat(engine))getBacklinks,getTimeline,searchTakes,searchTakesVectornow accept the federatedsourceIds[]array in BOTH engines (postgres + pglite), predicate mirroringfindTrajectory(array path wins over scalar; neither = no filter).searchTakes/searchTakesVectorgained realsource_idisolation — previously they filtered only by attributed-holder allow-list, which is not a source boundary (cross-source take leak for federated callers).getTimeline's 8-case branch collapsed to one composed query.Op remote lift (
feat(operations))localOnly+ the runtimectx.remotereject; one validatedsourceScopeOptsscope threaded to all five gather channels.remote = ctx.remote === true→ world-visibility facts only for remote callers (fixes a hardcodedremote:falsethat would have exposed private facts).sourceargument validated againstctx.auth.allowedSourcesfor remote callers (cross-source IDOR closed); local CLI keeps the free override.Promise.allSettled→ a failed channel degrades to an empty bucket +partial/errorsflags instead of erroring the whole op; wireschema_version1 → 2.Scope was set via
/plan-ceo-review(Approach A, SELECTIVE EXPANSION) and locked by/plan-eng-review. Target surface is HTTP/OAuth MCP only — NOT added to the subagent allow-list (deferred, see TODOS).Test Coverage
getBacklinks/getTimeline/searchTakeson both engines (real Postgres + PGLite);searchTakesVectorsource-isolation; op-level remote cases (IDOR reject, contradictions-omitted-for-remote,Promise.allSettledpartial-on-failure, local-path-unchanged);schema_version1→2 regression.bun run verify: 30/30 checks green (typecheck, jsonb-pattern, key-files-current-state, progress-to-stdout, eval-glossary, test-isolation, all guards).idea_lineageparity test — confirmed passing in isolation: 15/15).Pre-Landing Review
/plan-ceo-review): CLEAN — SELECTIVE EXPANSION, Approach A./plan-eng-review): CLEAN — 1 finding (DRY of the federated predicate, resolved: inline + comment, no fragment helper per postgres.js composition limits).searchTakeshad no source filter (now fixed), markingfind_contradictionslocalOnly would have broken a shipped op + the skill (reversed — left untouched, root fix deferred), and "remote-callable" ≠ "subagent-callable" (scoped to HTTP MCP).Design Review
No frontend files changed — design review skipped.
Eval Results
No prompt-related files changed — evals skipped. (
operations-descriptions.tsis tool-description text, not an LLM prompt template.)Plan Completion
Plan:
~/.claude/plans/system-instruction-you-are-working-tingly-moler.md. All build tasks complete (T1–T10 + D-E1). 3 P3 follow-ups deferred to TODOS.md.TODOS
idea_lineageremote/federated-callable (the P3 this PR delivers).idea_lineage; per-remote cost caps.Test plan
bun run verify— 30/30 green🤖 Generated with Claude Code