PKS stands for Phenomenological Knowledge Store. In Nova, phenomenological means that stored knowledge starts from observable website situations: what agents and users can recognize, and which verified guidance belongs to those situations.
PKS is Nova’s curated long-term memory for website behavior. It stores recurring website situations, the signals that identify them, and the actions that have proven useful.
PKS can grow automatically while agents work. Nova can notice repeated safe actions, recurring blockers, and clear semantic patterns, then prepare learning candidates that still need evidence, review, or promotion before they become active guidance.
Agents use PKS when the same obstacle appears more than once: a consent banner, a login wall, a fragile navigation pattern, a modal, or a platform-specific page structure. Nova can recognize familiar patterns instead of treating every visit as a blank page.
PKS does not replace observation. A stored hint is useful only when it still matches the current page and when the user’s safety settings allow the action.
In short
- PKS stores website knowledge, not general world knowledge.
- Nova can automatically prepare PKS candidates from repeated safe actions and clear website patterns.
- Entries connect recognition signals with guidance, playbooks, verification, and health information.
- Knowledge becomes active only after enough evidence confirms that it is useful.
- Nova can read PKS for advice, but stale or risky entries must be reviewed before they guide actions.
- PKS belongs to Nova’s learning area together with observations, promotion, and ETM task memory.
What PKS stores
- Website context PKS groups knowledge by website or scope, so advice can stay tied to the surface where it was learned.
- Phenomena A phenomenon is a recurring visible situation, such as a consent banner, modal, login wall, paywall, layout shift, or native browser dialog.
- Recognition signals Signals describe how Nova can recognize the situation again: visible text, stable page structure, vendor markers, layout behavior, or interaction evidence.
- Automatic candidates When the same safe interaction or semantic situation repeats, Nova can prepare a PKS candidate without requiring the agent to write every entry by hand.
- Playbooks and hints A playbook describes a careful action sequence and a verification step. A hint can also stay passive when it should only guide interpretation.
- Health Health information records whether a pattern still works, whether it failed recently, and whether it should be treated as stale.
When this matters
PKS belongs to repeated website work: mapping an unfamiliar platform, preparing a reliable automation, handling recurring blockers, or helping an agent understand why the same website keeps behaving in a certain way. It is especially valuable on sites where small UI changes can break brittle selectors or where the right action depends on context.
Knowledge model for agents
For an agent, the PKS model answers three questions: where does this knowledge apply, how can the current page prove it still matches, and what should the agent do after using or rejecting the guidance?
- Scope and route
- Tells the agent which website area the guidance belongs to. The agent should not transfer a route-specific hint to an unrelated page just because the domain is the same.
- Phenomenon
- Names the visible situation the agent is dealing with, such as a consent banner, login wall, modal, paywall, layout shift, or native dialog.
- Fingerprint
- Lists the signals the current page must still show before stored guidance can be trusted: selectors, text, layout, vendor markers, or interaction evidence.
- Advice
- Summarizes what the agent should consider next. Advice is guidance, not permission; current perception and safety boundaries still decide.
- Playbook
- Describes the action sequence and verification check. A playbook is only useful when the agent can confirm that the same phenomenon is currently present.
- Learning level
- Shows whether knowledge is still a candidate, a shadow entry, or active guidance. Non-active entries are learning material, not normal runtime instructions.
- Health and repair
- Shows whether the guidance has worked, failed, gone stale, or needs patching, revalidation, telemetry, or deprecation.
How agents use PKS information
For agents, PKS is not just a memory entry. It is a structured information surface in the tool response: requested detail, effective detail, known patterns, advice, health warnings, semantic learning prompts, and repair cues all tell the agent how cautiously to proceed.
- Request the right detail An agent can ask for no PKS payload, a compact summary, or full detail. The response also shows the effective mode, so the agent knows whether it received fresh guidance, a smaller unchanged marker, or no PKS data for this turn.
- Read the page context PKS information is tied to scope, route, locale, auth state, trust, and health. The agent should check whether the current page context matches the stored guidance before using any selector or playbook.
- Treat advice as guidance Hints, advice items, suggestions, and opinions help the agent choose a next step. They do not override current perception. If the visible page and stored PKS disagree, the current page wins.
- Resolve higher-priority prompts first When Nova emits a semantic learning prompt, that prompt can suppress lower-priority advice in the same response. The agent should resolve or defer that learning question before continuing with routine selector guidance.
- Verify before acting A matching PKS entry tells the agent what might work. Before action, the agent should confirm visible signals, check safety boundaries, and avoid using PKS to hide sensitive account, payment, credential, or destructive flows.
- Report the outcome After using a known phenomenon, the agent reports success, failure, or not applicable. That telemetry is what turns a useful hint into measurable health instead of folklore.
- Follow repair cues Health warnings, fragile selector warnings, drift advice, and learning repair queues tell the agent when stored guidance needs patching, revalidation, or retirement before the same action is repeated.
- Example If a consent hint appears for the current route, the agent confirms the banner is still visible, applies the safest matching response, checks that the banner is gone, and reports the result. If the banner is different, the agent re-perceives and updates or ignores the stale guidance.
When PKS knowledge applies
This is the operational layer in plain language. A PKS hint should guide an agent only when the current page still matches the stored phenomenon and the entry is mature enough for runtime use.
L0 Candidate
- Meaning
- A repeated safe interaction or semantic website situation may become PKS knowledge, but it is still learning material.
- Evidence required
- Fresh page observation, matching scope or route, a recognizable phenomenon, and confidence that supports the candidate without replacing verification.
- Agent behavior
- Verify the situation, then write, defer, or discard the candidate.
- May execute
- No.
L1 Shadow
- Meaning
- A phenomenon or domain hint has been stored, but it is not normal runtime guidance yet.
- Evidence required
- Stable scope, recognition signals, a playbook or hint, and enough follow-up telemetry to decide whether promotion is reasonable.
- Agent behavior
- Do not rely on it as active advice. Collect outcomes and keep the current page as the source of truth.
- May execute
- No.
L2 Active
- Meaning
- The entry is mature enough for normal matching and can guide the agent when the current page still matches.
- Evidence required
- Active learning level, current page fingerprint match, no blocking health warning, and no safety boundary that requires user control.
- Agent behavior
- Use it as guidance, confirm visible page signals before acting, then report success, failure, or not applicable.
- May execute
- Yes, after visible confirmation.
- Meaning
- Stored guidance is suspicious because the page drifted, health warnings appeared, or recent outcomes weakened trust.
- Evidence required
- Repeated failures, low observed success, stale knowledge, fragile selectors, or a mismatch between stored fingerprint and current page.
- Agent behavior
- Let current perception win. Re-perceive, patch, revalidate, demote, or stop using the entry.
- May execute
- No, until revalidated.
- Meaning
- No matching PKS payload is requested, returned, or relevant for the current page and task.
- Evidence required
- PKS is off, no phenomenon matches, the route is different, or the user task is outside the stored scope.
- Agent behavior
- Continue from observation. Do not record a success for PKS guidance that was not actually used.
- May execute
- No.
- Meaning
- A follow-up is open because the guidance needs repair, telemetry, revalidation, or agent handling.
- Evidence required
- An unresolved repair cue, telemetry gap, stale selector, or patchable playbook problem.
- Agent behavior
- Resolve the queue item before repeating actions that depend on the stale guidance.
- May execute
- No for dependent actions.
Warnings and failure conditions
These are hard warning conditions where Nova should stop treating PKS guidance as routine. Other promotion decisions are evidence gates; they should not be documented as numeric thresholds unless the system exposes a real threshold.
| Signal | Threshold | Behavior |
|---|---|---|
pksHealthWarnings |
3 or more consecutive failures | High severity. Treat selectors or playbooks as possibly outdated. |
pksHealthWarnings |
5 or more attempts and success rate below 0.5 | High severity. Re-check the current UI before relying on stored guidance. |
pksHealthWarnings |
staleness score 0.7 or higher | Medium severity. Revalidate before using the playbook as active guidance. |
selectorWarning |
Hashed or redeploy-sensitive CSS classes in stored selectors | Prefer stable IDs, ARIA labels, or fresh page evidence before reuse. |
pksNavigationWarning |
Known SPA, session, or fragile-auth navigation risk | Prefer same-document routing or require an explicit hard-navigation decision. |
Agent interpretation example
The example shows how an agent should read PKS as structured guidance, not as an instruction to act blindly.
Request
{
"tool": "nova.perceive",
"arguments": {
"targetId": "active",
"mode": "summary",
"pksInclude": "summary"
}
}
Relevant response fields
{
"structuredContent": {
"pksIncludeRequested": "summary",
"pksInclude": "summary",
"pks": {
"payload": {
"scope": "example.com",
"routeSegment": "_root",
"hints": [
{
"id": "consent_dismiss",
"type": "consent_cmp",
"policy": "reject_preferred",
"verified": true,
"hasWarning": false
}
],
"advice": ["All 1 phenomena healthy."]
}
}
}
}
Agent interpretation
{
"treatAs": "candidate guidance",
"beforeAction": "confirm that the visible consent signals still match",
"afterAction": "call nova.telemetry_report with scope, phenomenonId, and outcome='success' only if the banner is gone",
"onMismatch": "trust current perception, not the stored hint"
}
MCP contract
This is the deterministic layer below the concept. It describes the PKS fields that agents and integrators should treat as contract signals rather than prose.
Execution rule: No PKS field may trigger action without current-page confirmation.
| Variable | Type / values | Default | Effect |
|---|---|---|---|
pksInclude |
string: auto | off | summary | full | auto | Request field on perception and navigation tools. It controls whether PKS appears in the response as no payload, compact summary, or full guidance. |
pksIncludeRequested |
string | response echo | Shows what the agent requested, so a client can compare requested detail with the effective response mode. |
pksMode |
string: off | match | telemetry | match | Used by sequence and selector-style execution tools. Off suppresses PKS hints, match returns compact hints, telemetry requests full PKS payload and advice. |
pksAdviceMode |
string: off | match | telemetry | match, or pksMode when only pksMode is set | Controls the verbosity of PKS advice. Match mode keeps advice compact; telemetry keeps the full advice surface. |
outputDetail |
string: summary | full | full | Used by direct PKS reads. Summary is for existence and health checks; full includes fingerprints and playbooks. |
topK |
integer: 1-10 | 1 | Controls how many ranked candidates nova.pks_match returns for an observation. In nova.perceive, topK is a separate CTA-ranking option with a wider range. |
confidence |
number: 0.0-1.0 | computed | Returned by PKS matching and semantic learning prompts. It is compared with minConfidence for matching, but still does not replace page verification. |
minConfidence |
number: 0.0-1.0 | phenomenon-specific | Fingerprint threshold for matching a phenomenon. A candidate below this value can appear as a near miss, but matched stays false. |
learningLevel |
integer/state: 0 L0 Candidate, 1 L1 Shadow, 2 L2 Active | manual PKS writes start as Shadow | Only Active knowledge is returned by normal matching. Candidate and Shadow entries stay learning material until promotion checks pass. |
verified |
boolean | false until totalAttempts > 0 | Separates never-tested playbooks from playbooks with recorded telemetry attempts. |
totalAttempts |
integer or null | null/0 when untested | Counts recorded telemetry attempts for a phenomenon and decides whether success-rate fields are meaningful. |
successRate |
number: 0.0-1.0 or null | null when untested | Full PKS hint health signal for tested guidance. Low success should lead to re-perception, patching, revalidation, or deprecation. |
successRate30d |
number: 0.0-1.0 or null | null when untested | Summary read health signal for the recent success window. Used with totalAttempts for low-success warnings. |
hasWarning |
boolean | false | Compact summary hint that marks a phenomenon as suspicious because of failures, low success, or staleness. Use full detail to inspect why. |
pksHealthWarnings |
object or null | null when healthy | Warns about failing, stale, or low-success PKS knowledge. These warnings stay visible because stale guidance can mislead agents. |
pksSemanticLearning |
object: gateId, status, opportunityId, kind, origin, fingerprint, confidence, reason, whyAutoUpsertIsInsufficient, resolutionTools, evidenceJson, skeleton | only when Nova emits a semantic learning prompt | Higher-priority learning prompt for rich phenomena such as consent dialogs, login walls, or risky repeats. The agent resolves it by writing the suggested PKS entry or by using the resolver tool. |
pksSemanticLearningBatchSummary |
object: status=batch_summary, origin, reason, entries[] | only when unresolved prompts are summarized on domain exit | Summarizes unresolved semantic learning opportunities so an agent does not lose the learning context after leaving a domain. |
pksSemanticLearningResolution |
object: status, opportunityId, verdict, reason, matchSource | only after auto-resolution through nova.pks_upsert | Shows that a semantic learning prompt was resolved by a matching PKS upsert. Explicit resolver feedback uses the nova.learn_resolve_opportunity response shape instead. |
learningRepairQueue |
object: status, autoCompletedCount, queuedCount, failedCount, items[], message | only when PKS learning follow-ups exist | Reports safe automatic repairs, queued repair work, or failed repair follow-ups that should be handled before repeating stale guidance. |
nova.learn_resolve_opportunity |
MCP tool; args: opportunityId, verdict, reason | opportunityId and verdict required | Lets an agent resolve a semantic PKS prompt as upsert, not_applicable, unsafe, already_known, or defer. |
nova.learn_resolve_opportunity response |
ok, opportunityId, verdict, reason, priorState, resolvedState, resolvedAtUtc, fr1CandidatesSuperseded | returned by explicit resolver calls | Reports explicit semantic prompt feedback separately from the auto-resolution field on PKS upsert results. |
Agent Tools
MCP tools for agents. These variables and tool names are intended for agents and integrators. They are not normal user controls in the interface.
| Variable | Meaning |
|---|---|
nova.pks_get |
Read stored guidance |
nova.pks_match |
Find known patterns |
nova.phenomenon_apply |
Apply a known phenomenon deliberately |
nova.pks_upsert |
Store a PKS entry |
nova.learn_resolve_opportunity |
Classify a semantic learning opportunity |
nova.pks_upsert_hint |
Store a domain hint |
nova.pks_patch |
Adjust a PKS entry |
nova.pks_deprecate |
Retire a PKS entry |
nova.pks_list |
List PKS domains |
nova.pks_platform_seed |
Store a platform template |
nova.pks_platform_get |
Read a platform template |
nova.pks_platform_list |
List platforms |
nova.telemetry_report |
Report success or failure |