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/deadzone/issues.md or /mcp/deadzone/issues.json, or Pod over MCP.

Reported issues for Deadzone

Pod holds 16 of 21 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 Deadzone.

Most discussed

Project diagnostic: competitive landscape, premise challenge, and contributor roadmap

Context

I spent time analyzing Deadzone's positioning, architecture, and contribution opportunities. This is a summary of the findings, meant to start a conversation about the project's direction.

Project Diagnostic — 5 Premises Challenged

Premise 1: Developers need semantic search on library docs — VALID but crowded

At least 7 serious alternatives exist as of April 2026:

Read the thread · 2026-04-10 · closed · external user · 4 comments

Doc ingestion architecture — tracking issue

🔒 STATUS — CLOSED 2026-04-11

This tracking issue is closed and superseded by the architectural decision log at docs/research/ingestion-architecture.md.

The mvp milestone closed alongside this issue with all 7 sub-issues merged: #27, #28, #30, #44, #51, #58, #60. The end-to-end pipeline (libraries_sources.yamlscrape-via-agent → artifacts → consolidate → search_libraries/`search_do

Read the thread · 2026-04-10 · closed · 2 comments

update(deps): bump hugot v0.7.0 to v0.7.2 and mcp go-sdk v1.5.0 to v1.6.0

Parent: #156 Depends on: none Related: audit §5.2 finding 2, §8 action item 24

Why

Two outdated direct deps surfaced by go list -m -u all during the audit:

github.com/knights-analytics/hugot         v0.7.0  → v0.7.2 (patch +2)
github.com/modelcontextprotocol/go-sdk     v1.5.0  → v1.6.0 (minor +1)

Patch bumps for hugot are likely bug fixes; the go-sdk minor bump may include feature changes affecting cmd/deadzone/server.go's MCP wiring.

Decision (locked 2026-04-30)

Read the thread · 2026-04-30 · closed · 1 comment

registry: normalize versions: keys to major.minor, decouple from git ref via ref:

Depends on: #113, #115, #118

Why

libraries_sources.yaml currently uses the git tag verbatim as the versions: map key, which couples two concerns:

This leaks three different formats across the 12 libs and makes LLM UX awkward:

Lib Current Problem
/ovh/go-ovh v1.9.0 v prefix + full se

Read the thread · 2026-04-14 · closed · 1 comment

fix: remove dead Topic field from SearchDocsInput MCP schema

Problem

SearchDocsInput in cmd/server/main.go:17 declares a Topic string field with jsonschema tag "topic or section to focus on (optional)". The README also advertises it: "topic — optional section filter (not yet implemented)".

But makeSearchHandler (line 38-76) never reads input.Topic. The field is silently ignored. Every MCP client that connects sees this parameter in the tool schema, may use it, and gets zero filtering.

A parameter that exists in the schema but does nothin

Read the thread · 2026-04-10 · closed · external user · 1 comment

feat: add list_libraries MCP tool for library discovery

Problem

MCP clients (Claude Code, Cursor, etc.) have no way to discover which libraries are indexed in the local Deadzone database. The only tool exposed is search_docs, which requires knowing a lib_id upfront.

Context7, the hosted alternative, exposes a resolve-library-id tool for this purpose (documented in docs/research/context7-analysis.md).

Proposed solution

Add a list_libraries MCP tool that returns all indexed libraries:

SELECT DISTINCT lib_id FROM docs

Re

Read the thread · 2026-04-10 · closed · external user · 1 comment

feat(ci): auto-publish to MCP Registry via mcp-publisher on tag push

Decision (locked 2026-05-07)

Read the thread · 2026-05-07 · open · 0 comments

feat(docker): bake hugot embedder model weights into the OCI image (close the --network none gap from #203)

Depends on: none. Follows: #203 (DB baked into the OCI image). Touches: Dockerfile, .github/workflows/scrape-pack.yml (docker job staging step), README.md.

Why

#203 baked deadzone.db + deadzone.db.release sidecar + libonnxruntime into the OCI image, set DEADZONE_DB_OFFLINE=1, and dropped the named-volume mount from the README's MCP wire-up. The README now claims:

first launch is instant — no download, no volume mount, no --network access required

This is **no

Read the thread · 2026-05-05 · closed · 0 comments

Most recent

feat: publish OCI image to GHCR alongside existing release artifacts

Depends on: none. Supersedes: none. Parent: none.

Why

The official MCP Registry (registry.modelcontextprotocol.io, launched 2025-09) only accepts five package types: npm, pypi, nuget, oci (Docker Hub), and oci (GHCR). It does not support raw GitHub Releases binaries. Today deadzone ships exclusively as native tarballs + AppImages + a Homebrew tap — none of which the official registry can discover.

Adding an OCI image published to GHCR on every tag is the che

Read the thread · 2026-05-04 · closed · 0 comments

tweak: surface 'aggregation' in /open-telemetry/opentelemetry description

Decision (locked 2026-05-03): Update the description for /open-telemetry/opentelemetry in libraries_sources.yaml to surface "aggregation" honestly. Trivial YAML edit, follows from the manual verification block of #191.

Why

Query "log aggregation system" against the v0.5.0 corpus (post-#192 description-mixing) returned the 5 Grafana products in top 5 but /open-telemetry/opentelemetry was absent. Result captured in the [verification comment on #191](https://github.com/laradji/dead

Read the thread · 2026-05-03 · closed · 0 comments

fix(db): deadzone server cannot coexist with another running server — #131's contract is broken in practice

Parent: none Supersedes: none Related: #131 (the original "split reader vs mutator" feature whose contract this issue exposes as broken)

Summary (the bug in one paragraph)

deadzone server cannot run as a second process when another deadzone server is already running against the same deadzone.db. The second invocation fails with:

deadzone: open db: open db reader /Users/.../deadzone.db: set query_only:
turso: error: Locking error: Failed locking file. File is locked by

[Read the thread](https://github.com/laradji/deadzone/issues/172) · 2026-05-01 · closed · 0 comments

### scraper+db+mcp: first-class multi-version support (version column + -lib/-version split)

Parent: n/a
Depends on: #103

## Why

Today when a lib has `versions: [v1.14, v1.13]`, the scraper concats the version into `lib_id` (`/hashicorp/terraform/v1.14`, `/hashicorp/terraform/v1.13`) and the DB stores them as two unrelated-looking rows. The MCP client has no structured way to ask "search terraform v1.14 only" or "list versions of terraform" — it has to infer from the path suffix, which is opaque to the LLM and fragile.

Concretely broken today:
- `search_docs` does `WHERE lib_id = ?` 

[Read the thread](https://github.com/laradji/deadzone/issues/113) · 2026-04-14 · closed · 0 comments

### scraper/packs: folder-per-lib layout + retire per-artifact release, ship deadzone.db only

**Decision (locked 2026-04-13):** two coordinated changes, one PR.

**(1) Local layout:** replace flat `artifacts/<slug>.db` + `<slug>.db.state` with per-lib folder `artifacts/<slug>/` containing `artifact.db` (+ WAL/SHM during runs) and `state.yaml`.

**(2) Release model:** stop publishing per-lib artifacts to GitHub Releases. Only the consolidated `deadzone.db` ships, uploaded **manually from the operator's laptop** for now (CI no longer runs `packs download` + `consolidate`). The per-artifact

[Read the thread](https://github.com/laradji/deadzone/issues/101) · 2026-04-13 · closed · 0 comments

### Add `search_libraries` MCP tool — semantic lib_id resolution at Context7 scale

Add a `search_libraries` MCP tool that resolves a free-text library name into a small ranked list of canonical lib_ids the user can then pass to `search_docs`. The resolution is powered by a **dedicated SQL vector table** — symmetric with how `search_docs` already works on `docs.embedding`.

**Parent:** #15
**Replaces:** #36 (closed — flat list approach didn't scale)
**Composes with:** #28 (per-lib artifacts) and #45 (vector index)

## Why a flat `list_libraries` is not enough

Deadzone targets 

[Read the thread](https://github.com/laradji/deadzone/issues/44) · 2026-04-10 · closed · 0 comments

### Structured logging for the MCP server and scraper (slog on stderr, JSON output)

Both Deadzone binaries currently have minimal logging. `cmd/server` only emits two `log.Fatal` calls at startup — no trace of incoming `search_docs` requests, query parameters, result counts, latency, or errors. `cmd/scraper` has two human-readable progress lines and otherwise silently fetches, parses, and indexes. Neither binary is debuggable today without rebuilding with extra prints.

This issue wires structured JSON logging into **both** binaries using the same pattern, so operators see cons

[Read the thread](https://github.com/laradji/deadzone/issues/24) · 2026-04-10 · closed · 0 comments

### First push to GitHub remote (open source)

Publish the initial Deadzone code to GitHub.

**Done:**
- Created public repo `github.com/laradji/deadzone`
- `.gitignore` hardening: added `/deadzone-server` (binary) and `.claude/` (personal Claude Code config) on top of existing `CLAUDE.md`, `.mcp.json`, `.envrc`, `/deadzone.db`
- Verified zero sensitive files tracked (`git ls-files | grep -E '(CLAUDE|\.mcp|\.envrc|deadzone-server|\.claude)'` empty)
- SSH config: added `Host github.com` block in `~/.ssh/config` with `IdentityFile ~/.ssh/id_ed

[Read the thread](https://github.com/laradji/deadzone/issues/12) · 2026-04-10 · closed · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/laradji/deadzone/issues).