Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/witness/issues.md or /mcp/witness/issues.json, or Pod over MCP.

Reported issues for witness

Pod holds 6 of 6 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to witness.

Most discussed

OpenCode install on Windows (plugin spawns the bash shim; needs exec-form + %LOCALAPPDATA% like PR #9)

Summary

witness install claude now works on Windows (PR #9: exec-form hooks, %LOCALAPPDATA% copy, PATH, embedded prompts). witness install opencode does not yet — it's still tied to the bash shim, which Windows has no guaranteed shell to run. This issue scopes the fix so it's ready to pick up.

Deferred deliberately: the OpenCode-on-Windows user population is currently ~0 (maintainer uses Claude Code; v0.1.0 had no downloads). Build when a real user or the OpenCode owner needs it.

Read the thread · 2026-07-05 · closed · 4 comments

Full-history distillation is slow (serial mining) + heavy CPU/memory; add parallel mining + one-shot backfill

Problem

A user wanting "valid observations on day 1" must distill their whole backlog at once, and it's slow + resource-heavy. Root cause, measured:

Read the thread · 2026-07-12 · closed · 3 comments

security: harden the ingestion + MCP-serve path for UNTRUSTED input (defense-in-depth; deferred, feature-first)

Tracking issue for the security hardening witness needs once #44 ingests untrusted third-party record streams (library/service mode). Deliberately DEFERRED — building the feature first, security as a fast-follow. Filed so the research (below) isn't lost.

The load-bearing truth

Indirect prompt injection is UNSOLVED — inherent to how LLMs work (Microsoft MSRC Jul-2025; OWASP LLM01:2025, both explicit). So every control here is risk-reduction + impact-containment, never prevention.

Read the thread · 2026-07-18 · closed · 1 comment

test: strengthen MCP fake-store assertions from #73-C1 (get_profile content + record/delete/search coverage)

Two minor test-quality findings from the #96 (#73-C1) adversarial review. Not defects — the refactor is behavior-preserving (79/79 methods + every SQL query verbatim, verified) — just weak new tests worth tightening. ~10 lines.

Both in internal/mcp/fakestore_test.go:

  1. get_profile assertion is partially vacuous (minor). TestServerRunsAgainstFakeStore's only content check is !ok || tc.Text == "", which ALSO passes on the server's not-found fallback branch (server.go returns a

Read the thread · 2026-07-18 · closed · 1 comment

Standalone Unix install (download-and-run, no checkout) via extract-in-place — leverage the #9 embed

Summary

The embed work in #9 (//go:embed prompts + bundle.Dir exe-relative asset resolution) already makes a built witness binary self-contained on every platform — a bare binary + the model runs doctor, capture, profile, mcp, and distillation with no checkout, no shim, and no env vars (verified on macOS: doctor/lens list from an unrelated cwd with only the binary + a sibling assets/).

The one thing still missing on Unix: **witness install claude from a standalone bi

Read the thread · 2026-07-05 · closed · 1 comment

cleanup: tighten install/lens/npm command surface — install=mechanism, seed+interactivity separate (post-#44-slice1a)

Summary

Follow-up cleanup to #99 (slice 1a, which makes default an ordinary lens). Now that per-lens runner+model (#75) exists and default is no longer special, the install / lens / npm command surface has accreted redundant paths and a mechanism↔UX confusion. This issue tightens the surface along one principle:

install = mechanism. Content-seeding + interactivity = separate concerns.

Grounded in a researched read of how npm-distributed CLI tools (not libraries) handle se

Read the thread · 2026-07-19 · closed · 0 comments

Most recent

The remaining reports are on the project's issue tracker.