Sitelet https://github.com/Graphify-Labs/graphify/issues/3053
Skip to content

CLI affected and god-nodes never refresh the strict hook's orientation stamp nor write the query ledger #3053

Description

@Azeem1985

Summary

The strict read hook's admission contract is the "recently oriented" stamp: running graphify query / path / explain touches graphify-out/cache/last_query_stamp, and while it is fresh the strict guard lets raw file reads through (CHANGELOG 0.9.19). Those three verbs also write the opt-in query ledger (graphify/querylog.py, the GRAPHIFY_QUERY_LOG* gates).

Two other read-only graph verbs do neither:

Compare the query verb right above them: querylog.log_query(...) at cli.py:1177 and _touch_query_stamp(gp) at cli.py:1187 on the same success path.

Why it matters

Expected

affected and god-nodes are graph consults exactly like query/path/explain: a successful run should refresh the stamp and append a ledger line (kind affected with the impacted-node count; kind god_nodes with the returned-hub count), fail-silent like the existing call sites, ledger still opt-in.

Community check

Searched issues/PRs for "affected stamp", "god-nodes stamp", "last_query_stamp", "strict hook affected", "querylog affected", "query ledger orientation": no prior reports; the nearest neighbors are our own #3039/#3042 (the MCP half of the same defect class).

We run graphify in production on an agent-operated Obsidian ops vault where a deny-hook enforces graph-first reading; this surfaced in tonight's audit of which doors refresh the stamp. Fix PR with tests to follow shortly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions