Documentation Audit — March 25, 2026
This document is a point-in-time audit snapshot taken before the follow-up remediation pass in this PR was complete. Treat contradiction lists below as audit findings captured at review time, not as a claim that every item still remains unresolved in the current branch state.
Scope
This audit covers the highest-impact documentation surfaces in the repository, with emphasis on:
- Product positioning accuracy
- Shipped-vs-roadmap clarity
- Consistency with current implementation
- Whether Signet’s actual thesis is being described correctly
Primary files reviewed:
README.mddocs/WHAT-IS-SIGNET.mddocs/QUICKSTART.mddocs/AUTH.mddocs/CONFIGURATION.mddocs/PIPELINE.mddocs/DASHBOARD.mddocs/ARCHITECTURE.mddocs/MEMORY.mddocs/KNOWLEDGE-GRAPH.mddocs/KNOWLEDGE-ARCHITECTURE.mddocs/ROADMAP.mddocs/CONTRIBUTING.mdpackages/daemon/src/memory-config.tspackages/cli/templates/agent.yaml.template
Executive Summary
At audit start, the docs had three major failure modes.
P0-1. Core positioning drift
A large portion of the public docs describe Signet as if its defining innovation is:
- a knowledge graph
- graph traversal
- structured long-term memory
- hybrid retrieval
These are important components, but they are not the actual thesis. They are substrate.
The real thesis is:
Signet is a learned context-selection system.
Structured memory, distillation, graph traversal, and retrieval exist to produce the data, constraints, and candidate pool needed to train and run a predictor that learns what context is actually useful to inject into the agent at the moment of use.
If a doc makes Signet sound like “a knowledge graph for agents” or “better storage/retrieval,” it is describing the wrong product.
P0-2. Predictor status contradictions
The docs disagree with each other and with the codebase about whether the predictor is enabled by default.
Contradictions found at audit time:
docs/PIPELINE.mdsays: predictor disabled by defaultdocs/DASHBOARD.mdsays: predictor disabled by defaultpackages/daemon/src/memory-config.tsdefaultspredictor.enabledtotruepackages/cli/templates/agent.yaml.templatesetspredictor.enabled: true
This is a straight factual contradiction and must be resolved.
P0-3. Auth / identity contradictions
The docs disagree about current auth architecture.
Contradictions found at audit time:
docs/AUTH.mddescribes current auth as HMAC-signed bearer tokensdocs/QUICKSTART.mdclaims current ERC-8128 wallet-based identity/signaturesdocs/CONTRIBUTING.mdalso refers to ERC-8128 wallet-based authdocs/CONFIGURATION.mdsays ERC-8128 verification is reserved for the futuredocs/WHAT-IS-SIGNET.mdframes EIP-8004 as a future identity directiondocs/ROADMAP.mdalso frames wallet/EIP identity as future work
Current behavior and future roadmap are being mixed together.
The Correct Product Thesis
This wording should become the internal test for all explanation, marketing, and high-level docs:
Signet is not novel because it structures knowledge. Structured memory, knowledge graphs, graph-augmented retrieval, and transcript distillation are established primitives. Signet’s novelty is in using those primitives to build a training and inference loop for predictive context selection. The goal is not simply to store or retrieve knowledge, but to learn, from agent behavior itself, which context is actually useful at the moment of use, then outperform heuristic retrieval over time.
Short form:
The graph is not the product. The retrieval stack is not the product. The distillation layer is not the product. They are data-generation and constraint machinery for a learned context-selection system.
Global Guardrails For Future Docs
1. Never claim novelty in the graph layer
Do not frame the following as Signet’s core novelty:
- knowledge graphs
- graph traversal
- entity-aspect-attribute storage
- hybrid vector + keyword retrieval
- distillation by itself
Those are implementation primitives and substrate.
2. Lead with context selection, not storage
High-level docs should answer this question first:
Given everything an agent knows, what should enter the context window right now?
That is the product problem.
3. Separate present tense from roadmap tense
Use clear language distinctions:
- today / currently / in the current implementation for shipped behavior
- planned / building toward / roadmap / target architecture for future behavior
Do not blur them.
4. Reference docs must describe current behavior only
Files like AUTH.md, API.md, CONFIGURATION.md, PIPELINE.md, and
MEMORY.md must reflect actual current implementation, not aspiration.
5. Explanation docs must not accidentally become hype docs
Files like README.md, WHAT-IS-SIGNET.md, and QUICKSTART.md should
explain the system’s direction clearly, but must not imply that roadmap
components are fully mature if they are not.
Priority Findings
P0 Findings
P0-1. README.md frames the machinery more clearly than the thesis
Problem:
The README is better than some of the other docs, but the “How it works” section still reads like a pipeline of graph/storage behaviors with the predictor as one step among many:
- extraction
- graph linking
- constraints
- transcripts
- predictive scorer
- dampening
- injection
This sequencing hides the real claim: the earlier stages exist in order to support predictive context selection.
Why it matters:
For many readers, the README is the product definition. If the README makes Signet sound like a graph-memory system with a predictor attached, that becomes the public understanding.
Fix direction:
Reframe the README around:
- the problem is context selection
- storage/retrieval are support layers
- Signet’s endgame is learned relevance from agent-in-the-loop signal
P0-2. docs/WHAT-IS-SIGNET.md over-centers knowledge architecture
Problem:
This file spends a large amount of explanatory surface area on:
- how knowledge is extracted
- entities and the knowledge graph
- search-to-traversal framing
The predictive scorer is presented later as something Signet is “building toward.” That makes the graph feel like the main event and the predictor feel optional or secondary.
Why it matters:
This is the canonical “what is Signet” explanation doc. It should state what the system fundamentally is, not merely how one substrate layer works.
Fix direction:
Move to this shape:
- Signet solves context selection, not just storage
- Structured memory and graph traversal are substrate
- The predictor is the convergence point of the architecture
- The system’s goal is ambient, high-precision context injection
P0-3. docs/QUICKSTART.md teaches the wrong mental model
Problems:
-
The “Why Signet” section gives equal conceptual weight to:
- distillation
- knowledge graph
- predictive scorer
- retrieval
This implies the product is a bundle of memory features, rather than a system aimed at learned context selection.
-
The line “The agent is not in the loop” is too absolute. It may be trying to say explicit remember/recall tool calls are not required, but it is misleading given the broader architecture depends on agent behavior and session outcomes as relevance signal.
-
The quickstart auth section is factually wrong. It says Signet uses ERC-8128 wallet-based signatures for identity verification, while
docs/AUTH.mddescribes current auth as HMAC token-based. -
The distillation description says the pipeline can “update something existing” or “replace something outdated,” which overstates current destructive mutation behavior.
Fix direction:
Quickstart should teach:
- Signet’s goal is automatic, ambient context selection
- the graph and retrieval layers improve candidate quality
- the predictor is what is supposed to make the system improve over time
- current auth is token-based
- current destructive pipeline behavior is limited and should be described precisely
P0-4. Predictor default status is contradictory across docs and code
Files involved:
docs/PIPELINE.mddocs/DASHBOARD.mdpackages/daemon/src/memory-config.tspackages/cli/templates/agent.yaml.template
Problem:
The code says the predictor is enabled by default. The docs say the predictor is disabled by default.
Code evidence:
packages/daemon/src/memory-config.ts- default config sets
predictor.enabled: true
- default config sets
packages/cli/templates/agent.yaml.template- template sets
predictor.enabled: true
- template sets
Docs evidence:
docs/PIPELINE.md- says predictor disabled by default
docs/DASHBOARD.md- says predictor disabled by default
Fix direction:
Decide the truth, then sync all of these:
- runtime default
- config template
- pipeline docs
- dashboard docs
- quickstart wording
- README wording
P0-5. Auth docs are internally inconsistent
Current truth according to reference docs at audit time:
docs/AUTH.md says auth is simple HMAC-signed bearer tokens with roles
and scopes.
Contradictory claims elsewhere:
docs/QUICKSTART.mdclaims current ERC-8128 wallet auth/signaturesdocs/CONTRIBUTING.mdrefers to ERC-8128 wallet-based authdocs/CONFIGURATION.mdsays ERC-8128 verification is future/reserveddocs/WHAT-IS-SIGNET.mdframes EIP-8004 as a future identity layerdocs/ROADMAP.mdframes wallet/EIP identity as next-stage roadmap
Why it matters:
This is not a nuance problem. It is a direct contradiction about how the system authenticates requests today.
Fix direction:
Use one model consistently:
- Current implementation: token-based auth, HMAC-signed, local/team/hybrid modes
- Future roadmap: cryptographic/wallet-based identity, if still desired
Do not describe future auth as current auth.
P1 Findings
P1-1. Destructive mutation docs are muddy
Problem:
Some docs describe the pipeline as if update/delete/replace flows are available in practice, while other docs clarify they are still blocked or not implemented in the current implementation.
Examples:
docs/QUICKSTART.mdsuggests replacement/update behavior in the high-level pitchdocs/PIPELINE.mdsays destructive mutations are recognized but blockeddocs/MEMORY.mdexplains that update/delete proposals are still not yet applieddocs/CONFIGURATION.mddescribesallowUpdateDeletewithout enough explicit warning that destructive writes remain gated by implementation status
Fix direction:
All user-facing docs should say:
- the pipeline can propose destructive actions
- explicit forget/delete flows exist for users/operators
- automatic destructive mutation remains limited / gated / partially implemented
P1-2. Explanation docs overstate “search to traversal” as the key leap
Problem:
Files like docs/WHAT-IS-SIGNET.md and
docs/KNOWLEDGE-ARCHITECTURE.md describe the shift from search to
traversal as if this is the core conceptual breakthrough.
It is not.
Traversal is a retrieval improvement and a useful candidate-shaping mechanism. It is not the main differentiator.
Fix direction:
Reframe traversal as:
- a way to improve the structural quality of candidate context
- a substrate that gives the predictor better material to work with
- not the core product thesis
P1-3. Reference vs explanation boundaries are blurry
Problem:
Some explanation docs drift into future architecture, and some reference docs drift into aspirational framing.
Examples:
docs/WHAT-IS-SIGNET.mdmixes current implementation with future identity layersdocs/QUICKSTART.mdmixes installed behavior with roadmap-quality claimsdocs/CONFIGURATION.mdincludes future identity references that are not actionable for current config behavior
Fix direction:
Apply a harder Diátaxis separation:
README.md,WHAT-IS-SIGNET.md,QUICKSTART.mdexplain the product clearlyAUTH.md,PIPELINE.md,CONFIGURATION.md,API.mddocument only what exists now- roadmap/spec files carry future design
P2 Findings
P2-1. Terminology drift around identity standards
The docs currently mention both ERC-8128 and EIP-8004 in different
places. Even if both terms came from legitimate planning history, the
current docs surface them as if they describe one coherent live feature.
They do not.
This needs one canonical story:
- what exists now
- what standard, if any, is planned
- where that plan is documented
P2-2. Some docs imply more system maturity than is healthy
This shows up in phrases that read as if the system is already clean, coherent, and fully self-correcting. The implementation reality is more conditional.
This is less about honesty theater and more about operator trust. The docs should reflect where the system still depends on guardrails, partial implementations, and comparison-based validation.
File-by-File Notes
README.md
Status: Needs rewrite
Problems:
- still presents graph/storage/retrieval machinery too prominently
- predictor is present but not clearly established as the actual point
- architecture section reads like a feature stack instead of a thesis-led system
Action: Rewrite headline explanation around learned context selection.
docs/WHAT-IS-SIGNET.md
Status: Needs rewrite
Problems:
- overweights knowledge graph and traversal framing
- predictor feels like a later add-on instead of architectural destination
- mixes current system description with future identity/trust roadmap
Action: Rebuild around “what enters context, when, and why.”
docs/QUICKSTART.md
Status: Needs rewrite + factual correction
Problems:
- teaches the wrong product mental model
- contains current/future auth contradiction
- overstates destructive pipeline behavior
- wording around “agent is not in the loop” is too absolute
Action: Rewrite the intro and correct auth + mutation claims.
docs/AUTH.md
Status: Likely correct anchor
Problems:
- not wrong itself, but contradicted by multiple higher-level docs
Action: Treat this as source of truth unless auth implementation changes.
docs/CONFIGURATION.md
Status: Needs sync pass
Problems:
- predictor defaults likely out of sync with runtime/docs elsewhere
- identity/auth references blur future and present
allowUpdateDeleteshould be documented more carefully if destructive pipeline writes remain blocked/partial
Action: Sync against runtime defaults and current implementation.
docs/PIPELINE.md
Status: Mostly strong, but fact sync needed
Problems:
- predictor default claim conflicts with runtime defaults/template
- good on destructive mutation nuance, but other docs do not match it
Action: Resolve predictor default truth and propagate to other docs.
docs/DASHBOARD.md
Status: Fact sync needed
Problems:
- predictor tab description says disabled by default, contradicting runtime/template
Action: Sync to runtime truth.
docs/ARCHITECTURE.md
Status: Mostly reference-appropriate, but should avoid accidentally becoming positioning copy
Problems:
- some traversal-primary language is fine for reference, but should not be copied into high-level explanation docs as the main Signet thesis
Action: Keep as technical reference, but ensure explanatory docs do not mirror its emphasis uncritically.
docs/MEMORY.md
Status: Mostly solid
Problems:
- current mutation limitations are explained better here than in higher-level docs
- other docs need to inherit this nuance
Action: Use as source material when correcting Quickstart/README.
docs/KNOWLEDGE-GRAPH.md
Status: Technically fine as reference
Problems:
- none major as a graph reference doc
- danger is not in the file itself, but in treating this layer as the product story elsewhere
Action: Keep as reference. Do not use as public-facing product framing.
docs/KNOWLEDGE-ARCHITECTURE.md
Status: Needs reframing or stricter scope definition
Problems:
- repeatedly makes traversal and structure feel like the core breakthrough
- the predictor appears as a later optimization over a graph-centric worldview
Action: Either explicitly mark this as a substrate doc, or revise the opening sections so they state that the architecture exists to support learned context selection.
docs/ROADMAP.md
Status: Needs terminology sync
Problems:
- identity/auth roadmap terminology should not conflict with current docs
- predictor roadmap language should be consistent with actual defaults/current state
Action: Align identity terminology and predictor status notes.
docs/CONTRIBUTING.md
Status: Factual correction needed
Problems:
- current auth description refers to ERC-8128 wallet-based auth, which conflicts with
AUTH.md
Action: Correct to token-based auth unless/until implementation changes.
Recommended Rewrite Order
Wave 1: Immediate, high-risk
README.mddocs/WHAT-IS-SIGNET.mddocs/QUICKSTART.mddocs/PIPELINE.mddocs/DASHBOARD.mddocs/CONTRIBUTING.mddocs/CONFIGURATION.md
Wave 2: Positioning cleanup / substrate clarification
docs/KNOWLEDGE-ARCHITECTURE.mddocs/ROADMAP.md- market-facing research/positioning docs that reuse the wrong framing
Wave 3: Consistency sweep
- grep-based pass for:
ERC-8128EIP-8004disabled by defaultknowledge graphsearch to traversalpredictive scorerstate-space
Proposed Documentation Rules
Add these as durable process rules after remediation:
-
No novelty claims at the graph layer. Never position Signet as novel because it structures memory into a graph, uses graph traversal, or extracts entities.
-
High-level docs must lead with context selection. If a user-facing explanation does not clearly say that Signet’s aim is to learn what context is useful and inject it automatically, it is incomplete.
-
Reference docs must describe current behavior only. No roadmap features in
AUTH.md,PIPELINE.md,CONFIGURATION.md, orAPI.mdunless clearly marked as future/non-implemented. -
Future identity/auth work must be isolated. Keep wallet/EIP/cryptographic identity in roadmap/spec docs until it is real.
-
Predictor status must be single-source-of-truth. Default state, enablement conditions, cold start behavior, and current maturity should be documented once and reused consistently.
Bottom Line
Right now, the docs are better at describing Signet’s substrate than Signet’s point.
They explain how Signet stores, structures, and traverses knowledge. They do not consistently explain that these layers exist to support a learned context-selection system that improves via agent-in-the-loop relevance signals.
That is the correction.
Not “less graph.”
More truth about what the graph is for.