response_format: "concise" drops influence and resolved_by, so the dynamic-influence disclosure is invisible in the cheapest format we ship #139
Labels
No labels
code-review
correctness
dos
performance
security
severity/high
severity/low
severity/medium
tech-debt
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
h-dv/code-index#139
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?
Found while building #51's dynamic-influence questions, and pinned in that question's
verificationfield because the question cannot be answered in concise at all.The gap
concisereference rows omitinfluenceandresolved_by. So the entire #77 provenance disclosure — whether a package's facts influenced a resolution, and which component — is absent from the format an agent is most likely to choose.That is the wrong way round on two counts:
builtin_only". Here it is not an old daemon; it is the current one, on request.Measured
find_callerson the XAML→C# bridge edge in the #51 fixture carries, in detailed:In concise, all three are gone, and nothing marks their omission.
Why it is not simply "concise means fewer fields"
Concise legitimately drops descriptive fields — doc, module, qualified name, column positions.
influenceandresolved_byare not descriptive; they qualify whether the row should be believed and by whose authority. The concise contract is "half the tokens, same answer", and this makes it a different answer.Note the asymmetry that makes it worse:
search_symbols' concise rows keepref_count, which is a number whose meaning depends on the very provenance concise drops.Options
influence.classandresolved_byin concise. Two short enum-ish strings per row; the cost is small against what concise already saves, and it is the only option under which a concise reply is not misleading.builtin_onlyand emit the other two classes. Cheapest, and consistent with "absent when there is nothing to report" used elsewhere. But it needs the absence to be documented as meaningbuiltin_onlyin this format, which is a special case a reader must know.Option 1 is the honest default; option 2 is defensible if the semantics are written into the tool's contract and graded. Option 3 is worse than either.
Whatever is chosen, the budget rule applies:
project_overviewis at 4293 of 4300 and startup at 16,223 of 16,555, so trim rather than raise if a description grows.Test
A ref resolved through a bridge, requested in both formats, asserting the two replies do not disagree about provenance. Mutation: drop the field from concise again and the test must go red on a real bridge-resolved row, not a hand-built one.
Related
#77 (which specifies the influence classes and their absent-means-not-reported rule), #51 (found here), #99 and #101 (the same asymmetry between what one surface discloses and its neighbour does not).