No description
This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • JavaScript 95.7%
  • CSS 2.2%
  • HTML 2.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-06-09 17:04:38 +01:00
docs Add explicit Chrome debug sweep 2026-06-09 17:04:38 +01:00
extension Add explicit Chrome debug sweep 2026-06-09 17:04:38 +01:00
src Add explicit Chrome debug sweep 2026-06-09 17:04:38 +01:00
test Add explicit Chrome debug sweep 2026-06-09 17:04:38 +01:00
.gitignore Keep Loki runtime witnesses local 2026-06-09 16:16:10 +01:00
package.json Add Loki Chrome extension bridge 2026-06-09 16:12:31 +01:00
README.md Add explicit Chrome debug sweep 2026-06-09 17:04:38 +01:00

Loki

Loki is a CultMesh-oriented daemon for observing local Chrome tabs through a drop-in Chrome extension or an explicit Chrome DevTools Protocol endpoint.

It does not see ordinary locked Chrome tabs by magic. The easy path is loading the unpacked extension in extension/; the developer path is launching Chrome with a remote debugging port. The daemon publishes reachability as state instead of pretending.

Authority Map

  • Owner: Loki owns Chrome DevTools observation and the derived operator surface.
  • Inputs: Chrome extension reports, http://127.0.0.1:9222/json/version, http://127.0.0.1:9222/json/list, and daemon configuration.
  • Outputs: typed .cc witness documents, an Eve provider advertisement, and a gamecult.eve.surface.v1 surface projection.
  • Derived state: Eve surface health, tab counts, selected tab hints, and operator text are derived from the Chrome snapshot.
  • Forbidden writers: renderers, dashboards, ad hoc scripts, and browser windows do not own Loki state.
  • Shared paths: extension and CDP observations are normalized into one snapshot before witness, advertisement, and Eve projection.
  • Cut line: command execution is not implemented until it has an auditable command envelope and explicit consent boundary.

Drop Into Chrome

Run Loki:

cd E:\Projects\Loki
npm run start

Then install the extension:

  1. Open chrome://extensions.
  2. Enable Developer mode.
  3. Choose Load unpacked.
  4. Select E:\Projects\Loki\extension.

The extension posts tab metadata to http://127.0.0.1:17666/ingest/chrome-extension. Its normal sync does not read page DOM, cookies, or page content.

The popup also exposes Debug sweep. Chrome will warn that Loki can debug pages because the extension uses chrome.debugger. A sweep attaches to each debuggable tab, probes Chrome Debugger Protocol domains, records frame/runtime/ performance/security/root-DOM metadata, then detaches. It does not read response bodies, cookies, form values, or full page DOM.

CDP Observation

Close Chrome or use a separate profile, then launch:

& "$env:ProgramFiles\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-port=9222 `
  --user-data-dir="$env:TEMP\loki-chrome-profile"

For a one-shot smoke:

npm run smoke

State Files

Loki writes:

  • state/loki.chrome_snapshot.cc
  • state/loki.chrome_debug_probe.cc
  • state/loki.provider_advertisement.cc
  • state/loki.eve_surface.cc

These first .cc documents are typed text witnesses. They preserve schema identity, provider authority, and redaction posture while the daemon awaits a direct CultCacheTS/CultNetTS backing store integration.