Add note summaries to graphify query output #1571
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#1571
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Graphify query output holds labels only. A caller gets a note title and must open the note to learn a fact. In the 12-question vault test, 0 of 12 outputs held the answer facts, although 8 passed by the title rule.
Evidence: /tmp/claude-1000/-home-jared-Documents-SecondBrain/b10276a0-3582-48b5-b0fe-f13795bdcc75/scratchpad/vault-graph-weak-retrieval-evidence.md and /tmp/claude-1000/-home-jared-Documents-SecondBrain/8a73b51f-d8a3-4dfc-9de7-e72ea77eacac/scratchpad/graph-test-results.md (copied below; do not depend on the paths).
Observed
rationale. Note body text is never searched (serve.pysearch text: label, id, source path, rationale).summary:field. The graph does not use it. Nodes carry no summary text.Reproduce
The output lists model nodes and no reason.
Approach
Put the note
summary:text on the note's node as an attribute or rationale, so that the query prints it and the term search matches it. Print the rationale in query output. Keep the output within the token budget. Choose where to do the work: the vault build step, or graphify (see the upstream ticket).Required work: none beyond the acceptance criteria.
Orchestrator work: rebuild the vault graph and re-run the 12 vault questions with a facts-in-output rule.
Acceptance criteria
summary:field, when a query returns its node, then the output includes the summary text.Non-goals
The os-vault query skill text (separate ticket). Hub-note crowding (separate ticket).
Origin
summary:← UPSTREAM-TOOL (graphify 0.9.102, serve.py).Evidence from the V4 re-extraction (
diff-reextract.md, section 7): output form is the first limit on answers. All 25 facts are in the notes, 13 are in graph text, and 3 reach the output. A second limit is start nodes: 4 of the 5 reworded misses stay absent at budget 40000. More nodes per note did not raise answers./os-backlog:ticket-decompose routed this to
/os-sdlc:ticket-takedownbecause the owner is a new object.One change: print the note
summary:text in query output. Owner: new query wrapper in os-vault aroundgraphify query; its secret is how a graph result maps to note text. Evidence:_subgraph_to_text(serve.py:1168) prints no rationale;attrs=cuts each value to 60 characters and the total to 200 (serve.py:1253-1275); 455 of 478 notes havesummary:, median 203 characters, so a stub-step copy intoattributesloses most of the text. A wrapper needs no model, no GPU, and no rebuild, works on all notes at once, and also carries the #1570 cap. Graph-side alternatives: stub step plus cut text, or a graphify patch lost on upgrade. Measure the 12 questions before and after.Work started by hand on branch ticket-1571, per the 2026-11-06 handoff. Baseline before the change: facts 0/11 questions, 3/25 facts; original 12/12; reworded 8/13.
Resolution
Done: bin/vault-query prints the top notes' summaries as NOTE lines, then graph lines cut to the budget. The query skill uses it. No rebuild, model, or GPU.
Evidence: main
7f2266cc,7379090a. results-before-1571 vs results-after-1571: facts 3/25 to 17/25, questions with all facts 0/11 to 6/11, original 12/12 unchanged. AC 3: largest output 6002 bytes at budget 2000 (6000 characters; multibyte text adds bytes).Follow-ups: none